1、 场景
场景1
转换规则关联实体配置的单据体->单据体(如图1),反写规则配置目标单单据头的某个字段累加到源单单据头某个字段,反写规则配置保存即反写,目标单保存以后,发现反写的结果不是自己想要的,预期的是目标单的字段累加一次到源单字段,而实际却是累加了多次,如果此刻目标单有n条单据体,则会累加n次。
图1
场景2
转换规则关联实体配置的单据头->单据头(如图2),反写规则配置目标单单据体的字段反写源单单据体的字段,反写规则配置保存即反写,目标单保存以后,发现并没有反写。
图2
场景3
转换规则关联实体配置的单据头->单据体(如图3),反写规则配置目标单单据体的字段反写源单单据体的字段,反写规则配置保存即反写,目标单保存以后,发现并没有反写。
图3
2、 问题分析
场景1
转换规则关联实体配置的单据体->单据体,如果下推生成目标单单据体有n行,因为关联实体配置是单据体->单据体,则会根据每行目标单单据体行来反写源单的单据体行,反写过程,单据头也可参与反写,但会反写n次,导致结果不是用户希望的目标单单据头某个字段累加到源单单据头某个字段上面,用户希望只累加一次,而结果却是累加了n次。可以通过在反写规则里面配置反写公式的条件,来实现当前场景的需求,配置条件当源单字段的值已经累加到自己预期的结果,就不再反写。如图4。
图4
场景2
如果要实现目标单单据体行反写源单单据体行,则关联实体配置的必须是单据体->单据体,只有这样,下推之后,目标单单据体行和源单单据体行才会建立关联关系,才能实现目标单操作之后反写源单单据体行。
场景3
转换规则关联实体配置的单据头->单据体,下推之后,建立的关联关系是源单单据头关联目标单的每一行单据体,而目标单单据体行和源单单据体行没建立关联关系,所以不能实现目标单单据体行反写源单单据体行。