电脑桌面
添加蚂蚁七词文库到电脑桌面
安装后可以在桌面快捷访问

afterConvert事件

来源:金蝶云社区作者:金蝶2024-09-234

afterConvert事件

1 事件介绍

插件可以在这个事件,对生成的目标单数据,进行最后的调整。


2 事件触发时机

目标单据生成完毕,触发此事件。

这个事件,是最后触发的,至此,全部业务逻辑已经执行完毕。


3 代码模板

package kd.bos.plugin.sample.bill.billconvert.template;
 
import kd.bos.entity.botp.plugin.AbstractConvertPlugIn;
import kd.bos.entity.botp.plugin.args.AfterConvertEventArgs;
 
public class AfterConvert extends AbstractConvertPlugIn {
 
    @Override
    public void afterConvert(AfterConvertEventArgs e) {
         // TODO 在此添加业务逻辑
    }
}


4 参数说明

public class AfterConvertEventArgs extends ConvertPluginEventArgs

  • public ExtendedDataEntitySet getTargetExtDataEntitySet():生成的目标单扩展数据包;

  • public Map<String, DynamicProperty> getFldProperties() :源单字段与源单行数据包属性对象映射字典,需要据此到源单行中取需要的字段值。


5 应用示例

5.1 案例说明

1. 采购单据,转固定资产卡片时,需每个物品生成一张卡片,即按数量分单;

2. 当前转换规则的分单策略,无法配置出此需求,只能插件开发。


5.2 实现方案

1. 捕获afterConvert事件,复制新单:根据资产数量字段值,确认新单的复制次数。


5.3 实例代码

package kd.bos.plugin.sample.bill.billconvert.bizcase;
 
import java.util.ArrayList;
import java.util.List;
 
import org.tmatesoft.sqljet.core.internal.lang.SqlParser.bool_return;
 
import kd.bos.dataentity.entity.DynamicObject;
import kd.bos.dataentity.utils.OrmUtils;
import kd.bos.entity.ExtendedDataEntity;
import kd.bos.entity.botp.plugin.AbstractConvertPlugIn;
import kd.bos.entity.botp.plugin.args.AfterConvertEventArgs;
import kd.bos.entity.botp.runtime.ConvertConst;
 
/**
 * 演示单据转换插件 afterConvert 事件的使用
 *
 * @author rd_JohnnyDing
 * @remark
 * 案例说明
 * 1. 采购单据,转固定资产卡片时,每个物品生成一张开片,即按数量分单
 * 2. 当前转换规则的分单策略,无法配置出此需求,只能插件开发
 *
 * 实现方案
 * 1. 捕获afterConvert事件,检查目标单数量,超过1则拆分出来
 *
 */
 
 public class AfterConvertSample extends AbstractConvertPlugIn {
 
       private final static String FAREALCARD_ENTITYNAME = "fa_card_real";
      
       @Override
       public void afterConvert(AfterConvertEventArgs e) {
             
              // 获取已生成的资产卡片
              ExtendedDataEntity[] billDataEntitys = e.getTargetExtDataEntitySet().FindByEntityKey(FAREALCARD_ENTITYNAME);
             
              // 构造 ExtendedDataEntity 时需要的索引值
              int dataIndex = billDataEntitys.length;
             
              List<ExtendedDataEntity> copyDataEntitys = new ArrayList<>();
              for(ExtendedDataEntity billDataEntity : billDataEntitys){
            

afterConvert事件

1 事件介绍插件可以在这个事件,对生成的目标单数据,进行最后的调整。2 事件触发时机目标单据生成完毕,触发此事件。这个事件,是最后触...
点击下载文档文档为doc格式

声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。

确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息
QQ群
  • 答案:my7c点击这里加入QQ群
支持邮箱
微信
  • 微信