App Maker: Шаблон подтверждения документа: как добавить утверждающих по умолчанию - PullRequest
0 голосов
/ 05 июля 2018

Я использую шаблон утверждения документа и хочу определить утверждающего и этапы по умолчанию.

Я попытался изменить привязки пользовательских значений для виджета userpicker на странице EditRequest для определения утверждающего по умолчанию, изменив местоположение с «onValueChange» на «onAttach». Я установил значение по умолчанию для утверждающих почты.

PageEditRequest / userPickerWidget

Функция связывается с пользовательским значением userPickerWidget

Но я не знаю, как связать новую стадию с другим утверждающим ...

Я пробовал много вещей, которые потерпели неудачу

У вас есть идеи?

Я хочу получать результаты такого типа без какого-либо взаимодействия с клиентом:

Желаемый результат

Ответы [ 3 ]

0 голосов
/ 24 июля 2018

Предыдущий ответ указывает на решение проблемы, когда пользователь добавляет этап вручную. Если вы хотите, чтобы все этапы и список всех утверждающих добавлялись автоматически, выполните следующие действия.

  1. Открыть страницу запроса на редактирование, на этой странице вы можете найти событие onAttach, это событие сработает, когда страница загружается, а данные еще не загружены. Шаблон DMS уже предоставил метод под названием startLoading() для этого события.
  2. Найдите метод startLoading() в клиентском скрипте с именем EditRequestPage_Request. Этот метод вызывает метод 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, этот вызов создает этап, внутри этапа я добавил предопределенного утверждающего путем создания нового источника данных утверждающего.

Этот код все еще можно изменить, чтобы включить такие изменения, как «Миниатюра пользователя» и некоторые другие изменения, но это поможет вам начать работу. Добавить / изменить код в соответствии с необходимостью.

0 голосов
/ 08 января 2019

Код из Darpan добавляет 2 этапа и 1 утверждающего на каждом этапе автоматически , однако, если вы видите на скриншоте ниже, для Stage1 и Stage2 ниже Текущий статус утверждения , Что означает, что утверждающий Stage2 может утвердить первым, прежде чем утверждающий Stage1 еще не утвердит его. Это не правильно?

enter image description here

0 голосов
/ 05 июля 2018

Ответ на ваш вопрос:

как я могу связать новый этап с другим утверждающим

Всякий раз, когда вы нажимаете кнопку + ADD STAGE, вы можете добавить свои предварительно определенные утверждающие в методе createStage. Вы можете сделать это, добавив Approver в request.WorkflowStages. image

Попробуйте сделать это. Если это не работает, дайте мне знать. Я постараюсь предоставить вам еще код.

...