数据在多个系统间进行传递时,通常会涉及到明细行。
例如,一个订单中可能包含多个商品信息,在将销售订单同步到其他系统时,需要将商品明细行一起同步。
由于每个订单的商品数量是不固定的,因此在流程配置阶段无法指定固定的商品条数。
下图中用json数据结构表示订单的明细结构。
此时需要注意:
1、在配置流程时,测试数据的订单明细是固定的,按图所示,明细中含有3个商品;
2、但,在流程发布上线后,我们无法保证每个订单都是3个商品明细;
3、有可能后续的订单明细中只有1个商品,也可能有100个商品。
此时轻联接收到数据结构如下展示:
1、图中仅展示数据结构,即订单商品明细中含有的字段:产品名称、产品数量等;
2、测试数据(灰字部分)仅展示第一条数据的内容,仅做示例。
3、此时不再罗列展示出所有的数据
对于下游的系统可以如下图所示,使用这些动态条数的数据:
1、选择非固定条数(仅在父子级结构的数据会展示此选项)
2、选择数据来源(应该为一个数组list of struct)
3、选择数据源下的数据结构(选择list的子级)
4、当数据匹配好之后,轻联将自动解析数组结构
字段映射:
1、数据来源,是否可以不选择数组格式的数据?
不可以,且只可以选择1个数组格式的数据
2、明细字段,是否可以选择多个数据来源内的数据?
可以,
数据将各自按照游标展开,并自动组装
例如:【规格】字段内填入了,【金额】+【单位】两个字段的组合
解析后的格式为:1盒,2个,3双,4只...
3、明细字段,是否可以选择填入常量?
可以,
对于常量,将内容复制到每条明细内
例如:【货币】单位字段填入了 “人民币(元)”
解析后的格式为:人民币(元),人民币(元),人民币(元),...
4、明细字段,是否可以选择非数据来源内的数据?
可以,
对于非数据来源内的数据,将按照常量处理
5、还能写入固定的条数么?
可以,切换为固定条数即可
可以手工添加字段条数
6、是否只接收第一条数据,忽略其他数据?
可以,对于数组格式的数据,可以调换为表达式模式,并手工输入游标。
注意:游标从[0]开始代表数组中的第一条数据。
7、数组格式的数据,怎么取某一条数据呢?
调整为表达式模式,并手工输入游标。
注意:游标从[0]开始代表数组中的第一条数据。