我使用文档批准模板,并且想定义默认的批准人和阶段。
我试图通过将位置从“ onValueChange”更改为“ onAttach”来更改与EditRequest页面中的userpicker小部件关联的自定义值,以定义默认批准者。我为邮件的批准者设置了默认值。
PageEditRequest/userPickerWidget
Function associates to the custom value of userPickerWidget
但是我不知道如何将新阶段与另一个批准者相关联...
我尝试了很多失败的事情
您有什么想法吗?
我希望得到这种类型的结果,而无需任何客户端交互:
答案 0 :(得分:1)
回答您的问题:
如何将新阶段与另一个批准者相关联
无论何时单击+ ADD STAGE
按钮,都可以在方法createStage
中添加预定义的批准者。您可以通过在request.WorkflowStages
中添加批准者来实现。
尝试执行此操作。如果不起作用,请通知我。我将尝试为您提供更多代码。
答案 1 :(得分:1)
较早的答案指向解决用户手动添加阶段的问题。如果要自动添加所有阶段和所有批准者列表,请执行以下步骤。
onAttach
,该事件将在页面加载和数据尚未加载时触发。 DMS模板已经为此事件提供了一种名为startLoading()
的方法。startLoading()
的客户端脚本中找到EditRequestPage_Request
方法。此方法在内部调用loadEditRequestPage()
方法。找到loadEditRequestPage()
方法。requestDs.relations.WorkflowStages.createItem
,此行是向工作流添加阶段。因此,我们需要多次添加此行以添加多个阶段。在下面的代码中,我将案例分为两个阶段。用于在每个阶段添加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
调用中添加了行,此调用创建了一个阶段,在该阶段中,我通过创建新批准者数据源添加了预定义批准者。仍然可以更改此代码以合并诸如“用户的缩略图”之类的更改以及其他一些更改,但这将帮助您继续前进。根据需要添加/更改代码。
答案 2 :(得分:0)