在单据转换插件中,根据源单得到的多行数据 .某一行有数据 a=100,b=5,这个时候需要新增一条记录
 a=5,b=0,其它数据不变,然后插入到目标单,并且将新增这一行数据在 目标单的C字段赋值为"赠品",原来一行赋值为"非赠品".


单据转换插件,基类为 Kingdee.BOS.Core.Metadata.ConvertElement.PlugIn.AbstractConvertPlugIn,派生此类,派生的插件类,注册到单据转换规则的"插件策略"。根据需求,重载AfterConvert方法即可实现,事件的参数e.Result 就是生成的下游单据完整的数据包,可以进行数据检索、单据体行插入等数据处理。

特别注意:如果需要赠品行,也能够检索到源单行,必须同时复制关联子单据体行。

单据的数据包就像一颗树,有一个根点,然后逐层的往下伸展,经过单据体、子单据体或者关联子单据体。
因此,从根要找到单据体的全部行,还是比较困难的,需要递归。为了方便快速检索全部单据体行,而无视其层次结构,系统提供了ExtendDataEntitySet数据结构,提供FindByEntityKey()方法快速检索指定单据体的所有行,这个函数返回的数据集合,与数据包的树无关,你向这个集合中添加新的行,并没有添加到根数据包中,只是一个游离的,无归属的行,当然显示不出来。

可以通过如下示意代码添加新行(未经调试,请勿直接复制使用):




相关文章:

  • 2022-01-16
  • 2021-11-09
  • 2022-12-23
  • 2021-11-12
  • 2022-12-23
  • 2022-12-23
  • 2021-10-18
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-07-08
  • 2022-12-23
  • 2021-10-31
  • 2021-10-09
  • 2022-12-23
相关资源
相似解决方案