【问题标题】:App Maker Document approval template : How can I Add Default Approvers应用制作者文档审批模板:如何添加默认审批者
【发布时间】:2018-12-13 15:40:19
【问题描述】:

我使用文档审批模板,我想定义默认审批者和阶段。

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

PageEditRequest/userPickerWidget:

函数关联到 userPickerWidget 的自定义值:

但我不知道如何将新阶段关联到另一个审批者...

我尝试了很多失败的事情

你有什么想法吗?

我希望在没有任何客户端交互的情况下获得这种类型的结果:

期望的结果:

【问题讨论】:

  • 当您单击“+添加舞台”按钮时。在那里添加您的预定义批准人。

标签: google-app-maker


【解决方案1】:

前面的回答点解决了用户手动添加阶段的问题。如果您希望自动添加所有阶段和所有批准者列表,请按照以下步骤操作。

  1. 打开编辑请求页面,在该页面中可以找到onAttach事件,该事件会在页面正在加载且数据尚未加载时触发。 DMS 模板已经为此事件提供了一个名为startLoading() 的方法。
  2. 在名为 EditRequestPage_Request 的客户端脚本中找到 startLoading() 方法。此方法在内部调用loadEditRequestPage() 方法。找到loadEditRequestPage() 方法。
  3. 此方法将默认阶段(即阶段 1)添加到审批工作流。我们需要在此处执行自动添加审批者的操作。
  4. 在代码中找到requestDs.relations.WorkflowStages.createItem 行,此行是向工作流添加阶段。所以我们需要多次添加这一行来添加多个阶段。在下面的代码中,我展示了 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();

    }); 

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

仍然可以更改此代码以合并用户缩略图等更改和其他一些更改,但这将帮助您开始。根据需要添加/更改代码。

【讨论】:

  • @busvlaneint :如果您想从 Google Drive 本身启动此工作流程,我已经找到了一种方法并发布了详细答案 here
  • 刚刚发现这个方法确实在每个阶段增加了2个阶段和1个批准者,但是它并不流畅,因为两个阶段会同时收到批准电子邮件。这意味着第二个批准者可以在第一个批准者批准之前先批准该请求。
【解决方案2】:

回答你的问题:

如何将新阶段关联到另一个审批者

当您点击+ ADD STAGE 按钮时,您可以在createStage 方法中添加您的预定义批准者。您可以通过在request.WorkflowStages 中添加审批者来实现。

尝试这样做。如果它不起作用,请告诉我。我会尽力为您提供更多代码。

【讨论】:

  • 对不起,我不明白,我是初学者...你说我可以在方法 createStage 中使用 request.WorkflowStages 创建审批者,但在 request.WorkflowStages 中没有电子邮件等。你能给我举个例子吗?
  • 为什么在 request.WorkflowStages 中需要电子邮件?此选项将在 pageLoad 上设置您的批准者。其余的流程将是相同的
  • @busvlaneint :请检查以下答案,它具有根据您的需要的确切代码。它将在页面加载的 2 个不同阶段自动填充两个用户。
【解决方案3】:

Darpan 的代码确实在每个阶段自动添加了 2 个阶段和 1 个批准者,但是如果您从下面的屏幕截图中看到,Stage1 和 Stage2 都在 Current审批状态。这意味着 Stage2 批准者可以在 Stage1 批准者批准之前先批准它。这是不对的吧?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-02-08
    • 2016-01-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-14
    • 2011-12-21
    • 1970-01-01
    相关资源
    最近更新 更多