App Maker 文档审批模板:如何添加默认审批人
App Maker Document approval template : How can I Add Default Approvers
我使用文档审批模板,我想定义默认审批人和阶段。
我已尝试将自定义值关联到 EditRequest
页面中的 userpicker
小部件,以通过将位置从 onValueChange
更改为 onAttach
来定义默认批准者.我为邮件的批准者设置了默认值。
PageEditRequest/userPickerWidget:
函数关联到userPickerWidget的自定义值:
但我不知道如何将新阶段关联到另一个批准人...
我尝试了很多都失败了
你有什么想法吗?
我想在没有任何客户端交互的情况下获得这种类型的结果:
想要的结果:
回答你的问题:
how can I associate a new stage to an another approver
无论何时单击 + ADD STAGE
按钮,您都可以在方法 createStage
中添加预定义的审批人。您可以通过在 request.WorkflowStages
中添加 Approver 来完成此操作。
尝试这样做。如果它不起作用让我知道。我会尝试为您提供更多代码。
前面的答案指向解决用户手动添加阶段的问题。如果您希望自动添加所有阶段和所有批准者列表,请按照以下步骤操作。
- 打开Edit Request页面,在该页面中可以找到事件
onAttach
,该事件会在页面正在加载而数据尚未加载时触发。 DMS 模板已经为此事件提供了一个名为 startLoading()
的方法。
- 在名为
EditRequestPage_Request
的客户端脚本中找到 startLoading()
方法。此方法在内部调用 loadEditRequestPage()
方法。找到 loadEditRequestPage()
方法。
- 此方法正在将默认阶段(即阶段 1)添加到审批工作流程。我们需要在这里进行自动添加审批人的操作。
- 找到代码中的
requestDs.relations.WorkflowStages.createItem
行,这一行是Adding a Stage to the workflow。所以我们需要多次添加这一行来Add multiple stages。在我下面的代码中,我展示了 2 个阶段。
添加2个阶段和每个阶段1个审批人的代码。
if (requestDs.item.WorkflowStages.length === 0) {
requestDs.relations.WorkflowStages.createItem(function() {
var createDatasource = requestDs.relations.WorkflowStages.relations.Approvers.modes.create;
var draft = createDatasource.item;
draft.Email = 'darpan.sanghavi@abc.com';
draft.Name = 'Darpan Sanghavi';
createDatasource.createItem(function(createdRecord) { });
});
requestDs.relations.WorkflowStages.createItem(function() {
var createDatasource = requestDs.relations.WorkflowStages.relations.Approvers.modes.create;
var draft = createDatasource.item;
draft.Email = 'darpan.sanghavi@xyz.com';
draft.Name = 'Darn Alarm';
createDatasource.createItem(function(createdRecord) { });
app.closeDialog();
});
}
- 在上面的代码中,我在
requestDs.relations.WorkflowStages.createItem
调用中添加了一些行,这个调用正在创建一个阶段,在一个阶段中,我通过创建新的审批者数据源添加了预定义的审批者。
仍然可以更改此代码以合并用户缩略图等更改和其他一些更改,但这将帮助您开始。 Add/Change 根据需要编写代码。
Darpan 的代码确实在每个阶段自动添加了 2 个阶段和 1 个批准人,但是如果您从下面的屏幕截图中看到,Stage1 和 Stage2 都在 当前 审批状态。这意味着 Stage2 审批人可以在 Stage1 审批人批准之前先批准它。这不对吧?
我使用文档审批模板,我想定义默认审批人和阶段。
我已尝试将自定义值关联到 EditRequest
页面中的 userpicker
小部件,以通过将位置从 onValueChange
更改为 onAttach
来定义默认批准者.我为邮件的批准者设置了默认值。
PageEditRequest/userPickerWidget:
函数关联到userPickerWidget的自定义值:
但我不知道如何将新阶段关联到另一个批准人...
我尝试了很多都失败了
你有什么想法吗?
我想在没有任何客户端交互的情况下获得这种类型的结果:
想要的结果:
回答你的问题:
how can I associate a new stage to an another approver
无论何时单击 + ADD STAGE
按钮,您都可以在方法 createStage
中添加预定义的审批人。您可以通过在 request.WorkflowStages
中添加 Approver 来完成此操作。
尝试这样做。如果它不起作用让我知道。我会尝试为您提供更多代码。
前面的答案指向解决用户手动添加阶段的问题。如果您希望自动添加所有阶段和所有批准者列表,请按照以下步骤操作。
- 打开Edit Request页面,在该页面中可以找到事件
onAttach
,该事件会在页面正在加载而数据尚未加载时触发。 DMS 模板已经为此事件提供了一个名为startLoading()
的方法。 - 在名为
EditRequestPage_Request
的客户端脚本中找到startLoading()
方法。此方法在内部调用loadEditRequestPage()
方法。找到loadEditRequestPage()
方法。 - 此方法正在将默认阶段(即阶段 1)添加到审批工作流程。我们需要在这里进行自动添加审批人的操作。
- 找到代码中的
requestDs.relations.WorkflowStages.createItem
行,这一行是Adding a Stage to the workflow。所以我们需要多次添加这一行来Add multiple stages。在我下面的代码中,我展示了 2 个阶段。
添加2个阶段和每个阶段1个审批人的代码。
if (requestDs.item.WorkflowStages.length === 0) {
requestDs.relations.WorkflowStages.createItem(function() {
var createDatasource = requestDs.relations.WorkflowStages.relations.Approvers.modes.create;
var draft = createDatasource.item;
draft.Email = 'darpan.sanghavi@abc.com';
draft.Name = 'Darpan Sanghavi';
createDatasource.createItem(function(createdRecord) { });
});
requestDs.relations.WorkflowStages.createItem(function() {
var createDatasource = requestDs.relations.WorkflowStages.relations.Approvers.modes.create;
var draft = createDatasource.item;
draft.Email = 'darpan.sanghavi@xyz.com';
draft.Name = 'Darn Alarm';
createDatasource.createItem(function(createdRecord) { });
app.closeDialog();
});
}
- 在上面的代码中,我在
requestDs.relations.WorkflowStages.createItem
调用中添加了一些行,这个调用正在创建一个阶段,在一个阶段中,我通过创建新的审批者数据源添加了预定义的审批者。
仍然可以更改此代码以合并用户缩略图等更改和其他一些更改,但这将帮助您开始。 Add/Change 根据需要编写代码。
Darpan 的代码确实在每个阶段自动添加了 2 个阶段和 1 个批准人,但是如果您从下面的屏幕截图中看到,Stage1 和 Stage2 都在 当前 审批状态。这意味着 Stage2 审批人可以在 Stage1 审批人批准之前先批准它。这不对吧?