如何在已存在的流程记录上发起流程?

 目前在思泉软件开发平台上发起流程,会在与流程关联表单的实体表中新建一条记录,保存提交后流转审批。如果记录已经存在了,就不能在该记录上发起流程了。换个思路吧,重新建一个实体表关联到该存在的实体表,然后再新建一个流程,难点就在新的表单中要嵌套显示原表单。

  案例分析:开票表单,走开票流程,完成之后调用远程接口开具电子发票。然后发现发票开错了,要冲正,就要再发起一个冲红流程。

开票管理实体:

开票冲红实体:(很简单,只需要有个关联字段就可以了)

再看下表单设计,开票管理的表单ID为1200188,详细内容就不介绍了:

开票冲红表单设计,要先自动生成,然后再改为自定义设计:

取消选择右侧的“重构表单”,在源码视图下面加一些代码。一条分隔线,一个iframe用于内嵌显示开票表单(注意要设置高度),然后有一个遮罩,让内嵌的表单不能编辑。我还有写一个隐藏的input控件,如果你的应用中不需要可以删除。注意修改后切换出源码视图,再保存。

还需要设计开票冲红表单的脚本以及事件触发:

下面来细看一下脚本:

//选择开票管理后触发事件

function afterChooseKP(id, textValue, ctl) {

if (id == null || id <= 0) {

   return;

}

//formID为开票表单ID, listid和rm为开票列表ID

var url = “../FormDesign/BaseInfoForm.aspx?formId=1200188&listid=1200136&rm=1200136&bizId=” + id;

// frameKP为自定义的iframeID

$(“#frameKP”).attr(“src”, url);

//加载内嵌表单1秒后,隐藏工具栏按钮

setTimeout(function () {

   $("#frameKP").contents().find("#vista_toolbar").hide();

}, 1000);

}

然后再为开票冲红表单建立一个工作流:

然后就可以运行了,运行效果如下(红色区域为内嵌的表单):

!

本作品采用《CC 协议》,转载必须注明作者和本文链接
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!