Какому бизнес-процессу принадлежит задача

Нередко для пользователей было бы удобно отобразить в поле карточки задачи наименование процесса, по которому эта задача формируется.
Для реализации подобного функционала необходимо выполнить следующие действия:
1. Добавить новое поле для отображения процесса в следующие сервисы
 - tbl_Task
 - sq_Task
 - ds_Task
 - wnd_TaskEdit
2. Затем перейти в скрипт действия бизнес-процесса задач wa_TaskActionScript и найти обработчик события ws_TaskActionOnExecute. В этом обработчике события Вы увидите реализацию заполнения строк по умолчанию. Эти строки начинаются с DefaultValues.Add....
В этой части скрипта нужно добавить еще одну строку типа:

DefaultValues.Add('WorkflowName', ActionItem.ParentItems.ParentDiagram.Caption);

3. Сохраните внесенные изменения. Перезапустите рабочее приложение Terrasoft CRM и протестируйте работоспособность функционала.

Желаю удачи!

С уважением,
Мельникова Екатерина

Нравится

Поделиться

6 комментариев

а можно просто в sq_Task вытянуть из таблицы tbl_Workflow, которая присутствует уже в запросе, поле Name и не нужно добавлять новое поле в таблицу tbl_Task

Может таки лучше вытаскивать название сервиса, по которому стартовали БП, во время выполнения запроса, а не хранить его в задаче?
Upd: За Раловец Ольгой не поспеешь :) Но ее вариант возможно даже лучше.

есть отличие: в том варианте, что предложила Катя, вытягивается название сервиса диаграммы бизнес-процесса, то есть текущее значение поля Caption таблицы tbl_Service, а в моем случае показывается имя процесса, как он назывался в момент его запуска. То есть задачи, созданные двумя разными бизнес-процессами, но по одной диаграмме, могут иметь разные значения в этой колонке, если во время между их запусками Caption диаграммы был изменен

"Раловец Ольга" написал:есть отличие

Ну я как-бы догадался :)
Я имел ввиду, что Вы предложили вытаскивать из tbl_Workflow, а я из tbl_Service. И, возможно, Ваш вариант лучше.

я просто уточнила на всякий случай )

"Раловец Ольга" написал:можно просто в sq_Task вытянуть из таблицы tbl_Workflow

Это будет работать только для уже созданных задач БП. При первом открытии карточки (когда кнопка "Отмена" выключена) в этом поле будет пусто. Ведь запись в таблице фактически ещё не создана, не к чему делать join. В тот момент только из wa_TaskActionScript известно точно, что за процесс запустил эту задачу.

Показать все комментарии