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

1-9自动下推

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

1-9自动下推

        当单据达到一定条件时(例如审核完毕),希望能够依据单据转换规则自动生成下游单据,这种场景我们称为自动下推。

        自动下推有三种实现方式:工作流的自动单据转换服务、操作上的自动下推服务、插件实现自动下推。

注意:自动下推是后台自动生成,不会触发值更新事件、实体服务规则。经常有将预设单据手工下推的改为自动下推后,发现无法保存,原因就是手工下推会打开单据界面,有些必录项的赋值是通过值更新、实体服务实现的

解决办法:通过单据转换规则的字段映射关系、表单服务策略、插件策略等多种配置方法实现相应必录字段的赋值,从而确保自动下推生成的单据可以通过保存校验。

自动单据转换服务

 

步骤1,在工作流调用审核操作的节点之后,添加“自动单据转换”。同时,视需要可以在之后添加“自动单据提交”,表示自动生成下游单据后,将生成的单据提交。

步骤2,打开自动单据转换动作,选择需要自动生成的下游单据。注意必须是单据转换中分组策略设为“一对一生成”的规则才能使用。

 

 

 

所以,工作流中使用自动单据转换的特点是:可以依据某个特点工作流程版本审批才触发自动单据转换;可以配置自动下推生成的单据自动提交。

自动下推服务

如果我们希望单据不论何种审核完成,都能够自动下推生成单据,那么可以在审核操作上配置“自动下推”服务。

步骤1,登录BOS IDE,打开单据属性“操作列表”,选择列表中的审核操作编辑;

 

步骤2,在审核操作的“其他控制”页签,配置服务端服务,新增服务“自动下推”。

 

 

插件实现自动下推

直接上示意代码,该代码中,this = 列表插件。示意代码没有测试过,仅用于说明过程.

 

// 获取源单与目标单直接的转换规则,如果规则未启用,则返回为空,注意容错

// 假设:上游单据FormId为sourceFormId,下游单据FormId为targetFormId

var rules = ConvertServiceHelper.GetConvertRules(this.View.Context, sourceFormId, targetFormId);

var rule = rules.FirstOrDefault(t => t.IsDefault);

// 获取在列表上当前选择需下推的行

ListSelectedRow[] selectedRows = ((IListView)this.View).SelectedRowsInfo.ToArray();

 

// 如下代码为单据上获取当前当前选择行

// string primaryKeyValue = ((IBillView)this.View).Model.GetPKValue().ToString();

// ListSelectedRow row = new ListSelectedRow(primaryKeyValue, string.Empty, 0, this.View.BillBusinessInfo.GetForm().Id);

// ListSelectedRow[] selectedRows = new ListSelectedRow[] { row };

 

// 调用下推服务,生成下游单据数据包

ConvertOperationResult operationResult = null;

Dictionary<string, object> custParams = new Dictionary<string, object>();

try

{

    PushArgs pushArgs = new PushArgs(rule, selectedRows)

    {

1-9自动下推

当单据达到一定条件时(例如审核完毕),希望能够依据单据转换规则自动生成下游单据,这种场景我们称为自动下推。 自动下推...
点击下载文档文档为doc格式

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

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