如何在已存在的流程記錄上發(fā)起流程?
如何在已存在的流程記錄上發(fā)起流程?
目前在思泉軟件開發(fā)平臺(tái)上發(fā)起流程,會(huì)在與流程關(guān)聯(lián)表單的實(shí)體表中新建一條記錄,保存提交后流轉(zhuǎn)審批。如果記錄已經(jīng)存在了,就不能在該記錄上發(fā)起流程了。換個(gè)思路吧,重新建一個(gè)實(shí)體表關(guān)聯(lián)到該存在的實(shí)體表,然后再新建一個(gè)流程,難點(diǎn)就在新的表單中要嵌套顯示原表單。
案例分析:開票表單,走開票流程,完成之后調(diào)用遠(yuǎn)程接口開具電子發(fā)票。然后發(fā)現(xiàn)發(fā)票開錯(cuò)了,要沖正,就要再發(fā)起一個(gè)沖紅流程。
開票管理實(shí)體:

開票沖紅實(shí)體:(很簡(jiǎn)單,只需要有個(gè)關(guān)聯(lián)字段就可以了)

再看下表單設(shè)計(jì),開票管理的表單ID為1200188,詳細(xì)內(nèi)容就不介紹了:

開票沖紅表單設(shè)計(jì),要先自動(dòng)生成,然后再改為自定義設(shè)計(jì):

取消選擇右側(cè)的“重構(gòu)表單”,在源碼視圖下面加一些代碼。一條分隔線,一個(gè)iframe用于內(nèi)嵌顯示開票表單(注意要設(shè)置高度),然后有一個(gè)遮罩,讓內(nèi)嵌的表單不能編輯。我還有寫一個(gè)隱藏的input控件,如果你的應(yīng)用中不需要可以刪除。注意修改后切換出源碼視圖,再保存。
還需要設(shè)計(jì)開票沖紅表單的腳本以及事件觸發(fā):


//選擇開票管理后觸發(fā)事件
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);
//加載內(nèi)嵌表單1秒后,隱藏工具欄按鈕
? ?setTimeout(function () {
? ? ? ?$("#frameKP").contents().find("#vista_toolbar").hide();
? ?}, 1000);
}
然后再為開票沖紅表單建立一個(gè)工作流:

然后就可以運(yùn)行了。