...

Запуск процесса и передача данных в контекст при помощи сценария

Тема в разделе "Примеры сценариев", создана пользователем evgeneva, 7 окт 2021.

  1. evgeneva

    evgeneva Участник

    На кнопку можно добавить действие по запуску процесса и передать в него некоторые входные данные, например, пользователя и строку данных.

    Для этого выполните следующие шаги:
    1. Добавьте на форму виджет «Кнопка».
    2. В настройках виджета «Кнопка» перейдите на вкладку «События».
    3. Добавьте событие при нажатии. Пример сценария представлен ниже.
    Код:
    
    /* Client scripts module */
    async function startProcess(): Promise<void> {
          const 
    currUser await System.users.getCurrentUser();
          const 
    inputDataProcess$MyRazdel$MyProcess$Context$$Data = {
               
    polzovatel: (([currUser.id] as any) as UserItemRef),   // текущий API предполагает ТОЛЬКО передачу id объекта
               
    stroka_dannykh"Строка данных"
          
    };
          
    await Namespace.processes.myProcess.run(inputData);
    }
  2. Aleksei_Grylev

    Aleksei_Grylev Новичок

    Добрый день!
    Поясните, что обозначает строка Process$MyRazdel$MyProcess$Context$$Data ? $MyProcess - это что?
  3. sobolev

    sobolev Техническая поддержка

    Добрый день!

    Строка определения переменной inputData как интерфейса контекста определенного процесса. Она создаёт структуру идентичную контекста процесса, в которой точечно можно указать значения передаваемых в запускаемый процесс контекстных переменных.
    Последнее редактирование: 19 ноя 2021
  4. babrig

    babrig Участник

    ТП подтвердили, что передать данные с типом Дата/Время, возможно пока только через преобразование их в строку и потом в запускаемом БП обратно.
    Последнее редактирование: 5 фев 2022
  5. ruslan.fomin

    ruslan.fomin Участник

    А есть метод запуска без использования Global или Namespace? по API например
  6. sobolev

    sobolev Техническая поддержка

    Добрый день!

    Да, имеется API для запуска процессов. Подробнее - https://api.elma365.com/ru/public-api/reference/bpm/bpmtemplaterun/
    Вы можете использовать его как с других внешних сервисов так и прямо в сценариях самой этой же ELMA365.