App Maker文档批准模板:如何添加默认批准者

时间:2018-07-05 08:22:52

标签: google-app-maker

我使用文档批准模板,并且想定义默认的批准人和阶段。

我试图通过将位置从“ onValueChange”更改为“ onAttach”来更改与EditRequest页面中的userpicker小部件关联的自定义值,以定义默认批准者。我为邮件的批准者设置了默认值。

PageEditRequest/userPickerWidget

Function associates to the custom value of userPickerWidget

但是我不知道如何将新阶段与另一个批准者相关联...

我尝试了很多失败的事情

您有什么想法吗?

我希望得到这种类型的结果,而无需任何客户端交互:

Desired result

3 个答案:

答案 0 :(得分:1)

回答您的问题:

  

如何将新阶段与另一个批准者相关联

无论何时单击+ ADD STAGE按钮,都可以在方法createStage中添加预定义的批准者。您可以通过在request.WorkflowStages中添加批准者来实现。 Image

尝试执行此操作。如果不起作用,请通知我。我将尝试为您提供更多代码。

答案 1 :(得分:1)

较早的答案指向解决用户手动添加阶段的问题。如果要自动添加所有阶段和所有批准者列表,请执行以下步骤。

  1. 打开“编辑请求”页面,在该页面中您可以找到事件onAttach,该事件将在页面加载和数据尚未加载时触发。 DMS模板已经为此事件提供了一种名为startLoading()的方法。
  2. 在名为startLoading()的客户端脚本中找到EditRequestPage_Request方法。此方法在内部调用loadEditRequestPage()方法。找到loadEditRequestPage()方法。
  3. 此方法会将默认阶段(即阶段1)添加到批准工作流程中。我们需要在此处执行自动添加批准者的操作。
  4. 在代码中找到行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();

    }); 

}
  1. 在上面的代码中,我在requestDs.relations.WorkflowStages.createItem调用中添加了行,此调用创建了一个阶段,在该阶段中,我通过创建新批准者数据源添加了预定义批准者。

仍然可以更改此代码以合并诸如“用户的缩略图”之类的更改以及其他一些更改,但这将帮助您继续前进。根据需要添加/更改代码。

答案 2 :(得分:0)

Darpan的代码会在每个阶段自动添加2个阶段和1个批准人。但是,如果从下面的屏幕截图中可以看到,Stage1和Stage2都位于当前下批准状态。这意味着Stage2批准者可以在Stage1批准者批准之前先批准。这是不正确的?

enter image description here