【发布时间】:2021-03-14 21:17:47
【问题描述】:
我想添加一个主菜单选项来创建一个新的Insurance Claim Filing,其中:
- 应向用户显示自定义屏幕以输入必填字段
- 保存工作流后应启动
- 工作流应创建一个包含用户输入数据的电子表格
- 任务应排队等待经理审核电子表格
我该如何做到这一点?
【问题讨论】:
我想添加一个主菜单选项来创建一个新的Insurance Claim Filing,其中:
我该如何做到这一点?
【问题讨论】:
在这种情况下,您想本末倒置。也就是说,您将在创建父对象 (Process) 之前渲染子对象 (Task)。利用 QBO 的 related table data pattern 和一点点 javascript 将 Process、Task、Document 和 Workflow 很好地绑定在一起。
通过利用 QBO 的相关表数据功能,
考虑配置以下内容:
Task Template 称为 Insurance Claim Data Entry
Process_Process的字段:这将触发任务创建一个Process
onchange javascript 处理程序设置为调用ensureProcess()(见下文)Process_ProcessTemplateID 的隐藏字段:这将指示 Process 所基于的 Process Template,进而触发工作流的自动创建Task GUI Designer添加以下javascript函数:function ensureProcess() {
var task = qbo3.getObject('FormEdit');
task.options.url = 'Decision/ImportForm.ashx/';
document.id('FormEdit').getElement('input[name=Object]').value = 'Process';
document.id('FormEdit').getElement('input[name=Process_ProcessTemplateID]').value = '1';
}
Workflow Template 称为 Insurance Claim Filing
Task 命名为 Insurance Claim Data Entry
Document 命名为 Insurance Claim Analysis
Task 命名为 Insurance Claim Review
Process Template 称为 Insurance Claim Filing
Insurance Claim Filing 工作流时自动启动它任务可以在其父级存在之前渲染:
/api/ImportFormTemplate/RenderForm?ID={a task template id}
您可以添加到主菜单,将 {a task template id} 替换为名为 Insurance Claim Data Entry 的 Task Template 的 ID。
当用户单击主菜单链接调用ImportFormTemplate/RenderForm 时,将呈现Task。需要注意的关键概念:
Process_Process 字段是必需的,并且是创建Task 的Parent 对象(在本例中为Process)的关键。Process_ProcessTemplateID 确保新创建的Process 使用您创建的Process Template
Process Template 将在创建基于它的Process 时自动启动工作流Workflow 将自动绑定到刚刚创建的 Insurance Claim Data Entry 任务,该任务启动了整个过程,因为它配置了 Repeatability 的 One per parent
【讨论】: