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


开票管理实体:如何在已存在的流程记录上发起流程?-LMLPHP


开票冲红实体:(很简单,只需要有个关联字段就可以了)如何在已存在的流程记录上发起流程?-LMLPHP

再看下表单设计,开票管理的表单ID1200188,详细内容就不介绍了:如何在已存在的流程记录上发起流程?-LMLPHP

开票冲红表单设计,要先自动生成,然后再改为自定义设计:如何在已存在的流程记录上发起流程?-LMLPHP

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


还需要设计开票冲红表单的脚本以及事件触发:如何在已存在的流程记录上发起流程?-LMLPHP

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


下面来细看一下脚本:

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

functionafterChooseKP(id, textValue, ctl) {

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

      return;

   }

//formID为开票表单ID, listidrm为开票列表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);

}

然后再为开票冲红表单建立一个工作流:如何在已存在的流程记录上发起流程?-LMLPHP


然后就可以运行了,运行效果如下(红色区域为内嵌的表单):如何在已存在的流程记录上发起流程?-LMLPHP


11-28 20:29