目前在思泉软件开发平台上发起流程,会在与流程关联表单的实体表中新建一条记录,保存提交后流转审批。如果记录已经存在了,就不能在该记录上发起流程了。换个思路吧,重新建一个实体表关联到该存在的实体表,然后再新建一个流程,难点就在新的表单中要嵌套显示原表单。
开票管理实体:
开票冲红实体:(很简单,只需要有个关联字段就可以了)
再看下表单设计,开票管理的表单ID为1200188,详细内容就不介绍了:
开票冲红表单设计,要先自动生成,然后再改为自定义设计:
取消选择右侧的“重构表单”,在源码视图下面加一些代码。一条分隔线,一个iframe用于内嵌显示开票表单(注意要设置高度),然后有一个遮罩,让内嵌的表单不能编辑。我还有写一个隐藏的input控件,如果你的应用中不需要可以删除。注意修改后切换出源码视图,再保存。
还需要设计开票冲红表单的脚本以及事件触发:
下面来细看一下脚本:
//选择开票管理后触发事件
functionafterChooseKP(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);
}
然后再为开票冲红表单建立一个工作流:
然后就可以运行了,运行效果如下(红色区域为内嵌的表单):