WebAPI保存接口实现上下游关联原创
金蝶云社区-eris
eris
70人赞赏了该文章 15898次浏览 未经作者许可,禁止转载编辑于2020年04月02日 00:50:19

关键字说明
业务场景:创建单据时需要关联上游单据,既创建关联关系,此情况需要加上关联数据包。
关联实体:根据单据关联配置得到的实体。
关联数据包:用来创建关联关系的数据包。
关联父实体:单据关联配置中的单据体实体字段的值(一般为单据体)。
关联实体Key:单据关联配置中的关联标识(Key)字段值。关联数据包放哪里?:放在关联父实体数据包中,例如父实体为单据体,则放在单据体数据包中,为子单据头,则放在子单据头数据包中。
关联数据包在父实体中的格式:key:value,既关联实体key:关联数据包。
关联数据包格式:[{json},{json},...],既JSON数据包组成的数组类型,跟单据体数据包格式一样。
关联数据包中字段格式:字段key(关联实体Key+下划线+字段Key): 字段value
关联数据包字段说明
1.FRuleId:单据转换内码,必录,(在转换规则设计界面中的唯一标识)
2.FSTableName:需关联的上游单据实体表名,必录,(注意大小写敏感,需跟表定义表t_bf_tableDefine中的表编码一致)
3.FSBillId:上游单据内码,必录
4.FSId:关联的上游单据实体内码,必录,(一般为分录内码)
5.控制字段Key:控制字段的反写值,有则必录(单据关联配置中的控制字段)
6.控制字段Key+Old:上游字段携带值,有则必录(根据转换规则字段映射对应的上游字段)
7.FFlowId: 业务流程图内码,需要同步业务流程字段时必录
8.FFlowLineId: 推进路线,需要同步业务流程字段时必录

常见问题
1.字段格式错误? 关联实体Key+下划线+字段Key
2.哪里可以查到关联实体key?webapi--》选中需要同步的单据--》选择保存接口--》最下面的数据字典(字段说明)--》滚动条拖到最后--》关联实体数据字典
或者
打开BOSIDE--》查看单据属性--》点击单据关联配置--》弹出单据关联配置窗口--》关联标识(Key)
4.没有创建关联关系或反写?检查上游单据实体表名字段,是否跟表定义表中的FTableNumber大小写完全相同,或者检查是否字段key或值多了空格
5.业务流程字段值同步不上? ,关联数据包要包含业务流程图的值并且业务流程字段值需放在关联数据包后面
6.业务流程图内码哪里找?BOSIDE单据转换--》XML数据中  或者 在业务流程版本多语言表T_BF_DEFVersion_L的FID
7.推进路线值哪里找?BOSIDE单据转换--》XML数据中  或者 在业务流程版本表T_BF_DEFVersion的FKernelXml中的上下游单据对应的LineId

下面以销售出库单关联销售订单为例:

第一步,查询销售出库单的单据关联配置,确定关联数据包放在哪里?



第二步,查询销售出库单的关联实体数据字典,确定关联数据包结构(以前版本没有数据字典,则查询单据关联配置)


第三步,创建关联数据包结构


第四步,查询转换规则内码(也即转换规则唯一标识或Key),通过表t_meta_convertRule 或

BOSIDE-->转换规则—>销售订单到销售出库单-->唯一标识


第五步, 确定源单相关信息,

1. 首先确定销售出库单(下游单据)需要关联销售订单(上游单据)的订单明细实体

2. 再通过BOSIDE,查询到销售订单(上游单据)的订单明细实体的表名为:

3. 最后通过查询接口,查询需关联的销售订单(上游单据)的单据内码和订单明细内码(以编号XSDD000294为例)


第六步,构建完关联数据包,并放入到关联父实体中,形成完整数据包。


第七步,通过保存接口同步销售出库单整个数据包。


第八步,查看结果,销售订单下查,或销售出库单上查


赞 70