Добрый день.
Создан бизнес процесс по подключению клиентов, т.е. работа с контрагентами.
Затача заключается в следующем, нужно параметр диаграммы, в моем случае Контрагент, отображать в гриде, чтобы менеджеры могли отличать процессы по названиям контрагентов.
Подскажите как извлечь параметр определенного процесса.

Нравится

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

Андрей, ниже находится ссылка на инструкцию по добавлению колонки в реестр раздела [Процессы]. Инструкция на примере добавления колонки "Контрагент", колонка отражает прямо в гриде контрагента по каждому из запущенных процессов.
Загрузить

С параметром будет сложнее. Необходимо каким-то образом записывать значение параметра в дополнительное поле и отображать его в колонке реестра.
Получить значение параметра можно попытаться через функцию WFGetParamValue:
var AccountID = WFGetParamValue.FinishItem.ParentItems.ParentDiagram, ('AccountID');
Детальное описание работы функции WFGetParamValue Вы можете найти в скрипте scr_WorkflowUtils.

Спасибо Татьяна, но я так понимаю у нас с Вами различные запросы на выборку (sq_Workflow), так как у меня в этом запросе не используются предложения UNION ALL.
Версия : 3.3.1.67
Не могли бы Вы поделиться своим сервисом sq_Workflow?
Я думаю, что в результате этого все мои беды относительно параметров процесса исчезнут :)

Андрей, запрос, который изображен на скриншотах, создавался для примера и не входит в базовую версию, а также (поскольку это всего лишь пример) реализован всего для двух элементов БП: задачи и счёта.

Могу предложить способ, как быстро сгенерировать все UNION в запросе. Выполняете первую часть инструкции (добавление AccountID и AccountName в запрос), создаёте ещё один UNION (без колонок) и сохраняете запрос в файл. На всякий случай создайте его копию. Дальше открываете его xml-редактором и получаете примерно такое:

<?xml version="1.0" encoding="UTF-8"?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Первое, что необходимо сделать, - удалить все участки типа UID="F56A66A86F4C4811BD14072B6A716794". При загрузке в Администратор они будут сгенерированы заново.

Между тегами "Selects" и "/Selects" пока два элемента: один с кодом SelectTask, второй - с кодом Select1. Копируете всё, что касается первого элемента и вставляете перед вторым. В блоке, который Вы только что вставили, заменяете везде, где заметите (таких мест будет немного), Task на Invoice (например). Повторяете эти действия для создания UNION по tbl_Document, tbl_Contract и т.д. Потом удаляете блок, касающийся элемента с кодом Select1.

Загружаете запрос в Администратор, открываете и проверяете, все ли поля заполнены и все ли связи между таблицами проставлены. Если в разных таблицах колонки назывались по-разному (например, в таблице задач - Title, а в инцидентах - IncidentNumber), эти колонки будут пустыми; необходимо подставить корректное название колонки.

В принципе, всё. Дальше - по инструкции: добавляем поле в датасет, колонку в реестр и т.д.

Спасибо Олег за полный ответ.
Все работает, но как Вы сказали, только на элементах - Документ, Задача и т.д.
При использовании элементов "редактирование данных" или "чтение / запись данных" данный функционал не работает.
Придется пробовать кодом доставать значение параметра как говорила Татьяна.

Скажите, просто интересно, как Вы боритесь с тем, что процессы просто невозможно различить в реестре ?
У меня менеджер за день создает в среднем 25 процессов, на данный момент их различить можно только по дате, это представляет большую проблему.
Возможно кто поделится своим опытом внедрения бизнес-процессов с этой точки зрения.

Мы "боремся" :) вот так:
http://community.terrasoft.ua/blogs/4579
http://community.terrasoft.ua/blogs/4916

Если интересно, обращайтесь. Наш модуль также зарегистрирован как расширение:
http://community.terrasoft.ua/catalog/4881

"Татьяна Адамчук" написал:Андрей, ниже находится ссылка на инструкцию по добавлению колонки в реестр раздела [Процессы]. Инструкция на примере добавления колонки "Контрагент", колонка отражает прямо в гриде контрагента по каждому из запущенных процессов.
Загрузить

Будте добры еще раз выложить данную инструкцию, вопрос актуален!

Юрий, прикрепила инструкцию к предыдущему сообщению.

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