Получение параметров БП при автоматическом запуске процессов
При автоматическом запуске процессов
есть вопрос, как получить параметр, по которому мы запустили процесс
К примеру, мы создали условия для автоматического запуска по созданию записей в реестре, и хотим получить ID записи, по которой мы запустили процесс.
Для этого на элементе Start БП определим событие OnStart
Создадим параметр диаграммы AutoID
В коде
var ParentDiagram = GetDiagramByItem(StartItem);
var RecordID = WFGetParamValue(ParentDiagram, 'AutoID');
}
После чего имеем ID записи в переменной RecordID
Здравствуйте! Делаю так, как описано, но GetDiagramByItem(StartItem) выдает ошибку, пишет "предполагается наличие объекта".
Решение найдено, нужно было добавить в используемые скрипты scr_WorkflowUtils.
Добавлю маленький комментарий, если есть желание дополнительно записать в параметры значения по ключевому полю RecordID, разумно воспользоваться функцией GetDatasetFieldValueByID с scr_DB
var CustomerID = GetDatasetFieldValueByID('ds_Opportunity',RecordID ,'CustomerID'); //Подключаем scr_DB, WFSetParamValue(StartItem,'AccountID',CustomerID);
Подскажите каким образом можно реализовать передачу ID продукта, по которому автоматически запускается БП, в параметр диаграммы?
Здравствуйте, Василий.
Сделайте точно также как описано в этой теме. Т.е. создайте параметр диаграммы типа строка с именем, к примеру, StartedProductID.
Далее, определите событие OnStart для элемента Start. И в коде считайте значение этого параметра (в нем и будет хранится ID продукта, по которому запущен БП):
function Item1OnStart(StartItem) { var ParentDiagram = GetDiagramByItem(StartItem); var RecordID = WFGetParamValue(ParentDiagram, 'StartedProductID'); }
А если не получится так сделать как говорит Дмитрий, назовите параметр AutoID :wink:
var RecordID = WFGetParamValue(ParentDiagram, 'AutoID');
Честно я не понял в какой момент заполняется параметр диаграммы что StartedProductID, что AutoID :wink: изначально. Как их получить понятно, не понятно почему они будут иметь нужные значения.
Кирилл, заполняется этот параметр (AutoID) в момент старта процесса (если такой параметр диаграммы существует).
Сам процесс заполнения параметра реализован при создании триггера на таблицу, который при срабатывании передает значение ID записи по которой он сработал в БП.
Так значит нужно именно AutoID, а не к примеру StartedProductID? :smile:
Подскажите, пожалуйста, есть несколько задач в БП, как мне получить ID выполненной задачи при старте следующей?
как всегда, когда что-нибудь спросишь ответ сам находится