Читать данные записи, которая послужила сигналом к запуску процесса
Если бизнес-процесс запускается по начальному сигналу, то идентификатор соответствующей записи будет сохранен в исходящем параметре процесса (Рис. 1).
Например, если процесс запускается каждый раз при добавлении новой активности, то вы сможете получить Id добавленной активности.
Для использования данных записи далее в ходе процесса, необходимо получить эти данные. Для этого используется элемент Читать данные. Например, если процесс стартует по факту добавления новой активности, вы будете знать, какая это активность, но сможете получить такие данные, как заголовок или ответственный по этой активности, только “вычитав” их.
Чтобы получить данные записи, по которой запустился процесс, добавьте элемент Читать данные на диаграмму процесса (Рис. 2) и настройте его свойства (Рис. 3):
-
В поле Какой режим чтения данных использовать? укажите “Читать первую запись из выборки”.
-
В поле Из какого объекта читать данные? выберите объект, по записи которого стартовал процесс. Например, если начальный сигнал настроен так, чтобы процесс запускался после добавления новой активности, то выберите объект “Активность”.
-
Установите фильтр по колонке Id и значению параметра Уникальный идентификатор записи начального сигнала.
-
Кликните Добавить условие и выберите колонку Id.
-
Кликните <?> и выберите пункт меню “Сравнить с параметром”.
-
В открывшемся окне “Выбор параметра” выберите параметр Уникальный идентификатор записи начального сигнала (Рис. 4).
-
-
Поскольку только одна запись соответствует фильтру по Id, то настраивать сортировку записей в блоке Как отсортировать записи? не нужно.
-
Укажите колонки, значения которых необходимо получить:
-
Выберите “Всех колонок”, чтобы вычитать значения всех полей записи.
-
Выберите “Только выбранных колонок” (Рис. 5), а затем кликните + и выберите колонки, значения которых вы хотите использовать на следующих шагах процесса.
-
В результате добавленный элемент Читать данные получит значения указанных колонок записи, Id которой совпадает с идентификатором записи, по которой запустился процесс. Полученные значения передаются в исходящие параметры элемента Читать данные.
Читать данные записи, которая соответствует определенному условию
Если процесс не может получить идентификатор необходимой записи, то вы можете отфильтровать записи и применить сортировку, а затем читать данные первой записи из результирующего списка. Например, так можно вычитать данные последней завершенной активности типа “Звонок”.
Чтобы читать данные определенной записи, заполните поля на панели настройки элемента Читать данные (Рис. 6):
-
В поле Какой режим чтения данных использовать? укажите “Читать первую запись из выборки”.
-
В поле Из какого объекта читать данные? выберите объект, который содержит необходимую запись. Например, чтобы читать данные активности, выберите объект “Активность”.
-
Настройте условия фильтрации записей. Чтобы задать статичные значения фильтра, выберите “Сравнить со значением”. Например, чтобы выбрать завершенные звонки, вам необходимо добавить два условия фильтрации — по колонкам Тип и Состояние, как показано на Рис. 6.
-
Настройте сортировку записей: выберите колонку, по которой нужно отсортировать выбранные записи, а затем укажите способ сортировки (“По возрастанию“ или “По убыванию“) — чтобы нужная запись отображалась первой в списке. Например, чтобы получить последнюю завершенную активность, отсортируйте записи по колонке Завершение и установите сортировку по убыванию (т. е. активность с наиболее поздней датой завершения будет первой в списке).
-
Укажите колонки, значения которых необходимо получить:
-
Выберите “Всех колонок”, чтобы вычитать значения всех полей записи.
-
Выберите “Только выбранных колонок” (Рис. 7), а затем кликните + и выберите колонки, значения которых вы хотите использовать на следующих шагах процесса.
-
В результате добавленный элемент Читать данные получит список записей, которые соответствуют настроенному фильтру, отсортирует их указанным способом и получит значения нужных колонок первой записи в списке. Полученные значения передаются в исходящие параметры элемента Читать данные.
Читать данные отдельной записи раздела, для которой запущен процесс
Запуск некоторых бизнес-процессов может быть настроен по выбранной записи определенного раздела. Например, вы можете настроить запуск процесса “Встреча с клиентом” для определенного контрагента. Такие процессы доступны для выбора в меню Запустить процесс реестра или на странице записи соответствующего раздела (Рис. 8).
Для настройки такого процесса добавьте отдельный параметр процесса (Рис. 9), в который Creatio автоматически передаст идентификатор записи (т. е. контрагента, по которому запущен процесс).
Далее в ходе процесса вы всегда сможете получить Id записи из этого параметра процесса.
Чтобы получить запись, идентификатор которой хранится в параметре процесса, добавьте элемент Читать данные на диаграмму процесса и заполните область настройки свойств элемента (Рис. 10):
-
В поле Какой режим чтения данных использовать? укажите “Читать первую запись из выборки”.
-
В поле Из какого объекта читать данные? выберите объект, который содержит записи нужного типа. Например, если процесс запущен по записи контрагента, то выберите объект “Контрагент”.
-
Настройте фильтрацию по колонке Id и параметру, содержащему запись, по которой был запущен процесс:
-
Кликните Добавить условие и выберите колонку Id.
-
Кликните <?> и выберите пункт меню “Сравнить с параметром”.
-
В открывшемся окне выбора параметра кликните Параметры процесса и выберите параметр, который содержит необходимую запись (Рис. 11).
-
-
Поскольку только одна запись соответствует фильтру по Id, то настраивать сортировку записей в блоке Как отсортировать записи? не нужно.
-
Укажите колонки, значения которых необходимо получить:
-
Выберите “Всех колонок”, чтобы вычитать значения всех полей записи.
-
Выберите “Только выбранных колонок”, а затем кликните + и выберите колонки, значения которых вы хотите использовать на следующих шагах процесса.
-
Читать данные записи другого объекта
Когда элемент Читать данные вычитывает справочную колонку (например, поле Основной контакт контрагента), он получает Id соответствующей записи справочника. Чтобы получить фактические значения записи, выбранной в справочной колонке, ее необходимо вычитать отдельно.
Чтобы вычитать данные связанной записи, необходимо использовать два элемента Читать данные (Рис. 12).
-
Первый элемент Читать данные считывает данные родительской записи, а именно — справочную колонку, которая ссылается на связанную запись.
-
Второй элемент Читать данные получает Id связанной записи от первого элемента и затем считывает саму связанную запись.
Убедитесь, что нужная колонка добавлена в список колонок, которые необходимо вычитать, на панели настройки первого элемента Читать данные (Рис. 13).
Настроим второй элемент Читать данные:
-
В поле Какой режим чтения данных использовать? укажите “Читать первую запись из выборки”.
-
В поле Из какого объекта читать данные? выберите объект, который содержит необходимую запись. Например, чтобы читать данные контакта, выберите объект “Контакт”.
-
Настройте условия фильтрации записей по Id:
-
Добавьте колонку Id и выберите Сравнить с параметром.
-
В окне выбора параметра выберите элемент Читать данные, который получил информацию о записи со справочной колонкой. Например, если необходимо вычитать данные контакта определенного контрагента, выберите элемент Читать данные, который получил информацию из записи контрагента.
-
В правой части окна выбора параметра выберите первый элемент Читать данные, а затем — справочный параметр, в котором выбрана нужная запись связанного объекта (Рис. 14). Например, если необходимо считать данные контакта определенного контрагента, то выберите колонку Основной контакт.
-
-
Вы можете ограничить перечень колонок связанной записи, данные в которых необходимо прочитать. Если в поле установлено значение “Всех колонок”, будут прочитаны все колонки выбранной записи.
Рассчитать сумму, а также минимальное, максимальное и среднее значение по нескольким записям
Для элемента Читать данные можно выбрать режим чтения “Считать функцию“ и подсчитать указанную функцию (сумму, среднее, минимальное или максимальное значение), используя данные записей, которые соответствуют фильтру. Можно подсчитать сумму значений определенной колонки по нескольким записям, а также определить минимальное, максимальное или среднее значение определенной колонки. Например, можно подсчитать длительность всех активностей определенного сотрудника по состоянию на текущую дату.
Для подсчета функции добавьте элемент Читать данные на диаграмму процесса и настройте его свойства (Рис. 15):
-
В поле Какой режим чтения данных использовать? выберите значение “Считать функцию“.
-
В поле Из какого объекта читать данные? выберите объект (раздел, деталь или справочник). Например, чтобы подсчитать длительность активностей, выберите объект “Активность”.
-
В поле Функция выберите функцию, которую нужно использовать при подсчете. Например, для подсчета общей продолжительности активностей выберите “Сумма”.
-
В поле По колонке укажите колонку, по которой необходимо выполнить подсчет. Например, для подсчета общей продолжительности активностей выберите колонку “Продолжительность (минут)”. Для выбора доступны только те колонки, которые соответствуют выбранной функции.
-
В блоке Как отфильтровать записи укажите условия фильтрации записей. Функция будет подсчитана только по соответствующим фильтру колонкам. Например, для подсчета функций только по активностям текущего пользователя, которые завершаются сегодня, настройте фильтр, как на Рис. 15.
В результате при запуске процесса Creatio выберет данные указанного объекта, получит список записей, которые соответствуют фильтру, а затем подсчитает указанную функцию по значениям указанных колонок. Полученное значение передается в исходящий параметр элемента Читать данные.
Рассчитать количество записей, которые соответствуют условию
Используйте режим чтения “Считать количество записей“ элемента Читать данные для определения количества записей, которые соответствуют определенным условиям фильтрации. Такой способ подсчета используется для определения, существуют ли конкретные записи в системе (например, количество записей не равно “0”), или достигает ли количество записей определенного значения. Например, можно подсчитать количество звонков, запланированных сотрудником на сегодняшний день.
Для подсчета количества записей добавьте элемент Читать данные на диаграмму процесса и настройте его свойства. Ниже приведен пример подсчета количества записей (Рис. 16).
-
В поле Какой режим чтения данных использовать? выберите Считать количество записей.
-
В поле Из какого объекта читать данные? выберите объект (раздел, деталь или справочник), записи которого необходимо подсчитать. Например, чтобы подсчитать количество активностей, выберите объект “Активность”.
-
В блоке Как отфильтровать записи укажите условия фильтрации. Элемент Читать данные подсчитает только те записи, которые соответствуют фильтру. Например, для подсчета активностей текущего пользователя, которые завершаются сегодня, настройте фильтр, как на Рис. 16.
В результате при запуске процесса Creatio выберет данные указанного объекта, получит список записей, которые соответствуют фильтру, а затем подсчитает количество записей в списке. Полученное значение передается в исходящий параметр элемента Читать данные.
Читать данные множества записей (коллекции)
В режиме “Читать коллекцию записей” элемент Читать данные может получить значения полей нескольких записей. Например, можно вычитать имена всех контактов определенного контрагента (Рис. 17).
Чтобы читать коллекцию записей, добавьте элемент Читать данные на диаграмму процесса и настройте его свойства:
-
В поле Какой режим чтения данных использовать? выберите “Читать коллекцию записей”.
-
В поле Из какого объекта читать данные? выберите объект, который содержит необходимую запись. Например, чтобы читать данные контакта, выберите объект “Контакт”.
-
Настройте условия фильтрации. Например, чтобы читать данные всех контактов определенного контрагента, настройте фильтр по колонке Контрагент и используйте команду “Сравнить со значением” для выбора определенного контрагента. Также можно использовать команду “Сравнить с параметром” и сопоставить значение фильтра со значением параметра процесса или элемента.
-
Ограничьте количество записей для чтения, изменив значение в поле Читать первые ... записей (по умолчанию устанавливается ограничение в 50 записей). Если необходимо выбрать все записи, которые соответствуют фильтру, укажите значение, превышающее максимально возможное количество записей.
-
Если необходимо, настройте сортировку в блоке Как отсортировать записи?. Процесс будет читать данные первых записей в списке в соответствии с выбранным способом сортировки.
-
Укажите колонки, значения которых необходимо получить:
-
Выберите “Всех колонок”, чтобы вычитать значения всех полей записи.
-
Выберите “Только выбранных колонок” (Рис. 18), а затем кликните + и выберите колонки, значения которых вы хотите использовать на следующих шагах процесса.
-
В результате элемент Читать данные получит данные указанных колонок всех записей, которые соответствуют фильтру и не превышают количество, указанное в поле Читать первые ... записей. Затем полученные значения будут переданы в исходящий параметр типа “коллекция”.
Добавить одну запись
С помощью элемента Добавить данные, выбрав режим “Добавить одну запись”, можно добавить новую запись в объект. Например, можно добавить текущего пользователя в качестве участника активности, по которой был запущен процесс.
Чтобы добавить одну запись, заполните поля на панели настройки элемента Добавить данные (Рис. 20):
-
Выберите объект, в который необходимо добавить запись. Например, для добавления записи на деталь Участники страницы активности нужно выбрать объект “Участник активности”.
-
В поле Какой режим добавления данных? выберите “Добавить одну запись”.
-
В поле Какие значения колонок установить? добавьте колонки, которые должны быть заполнены для новой записи:
-
Нажмите + и выберите колонку объекта из списка. В блоке Какие значения колонок установить? будет добавлено новое поле. Например, при добавлении участника активности необходимо указать активность и контакт.
-
Заполните поле с помощью стандартной функциональности дизайнера процессов, доступной по кнопке . Например, для добавления участника активности, добавьте колонку Активность и выполните ее маппинг (сопоставление) с параметром, который содержит Id нужной активности. Затем добавьте колонку Участник и укажите в ней необходимый контакт. Чтобы указать контакт пользователя, который запустил процесс, по кнопке выберите “Контакт текущего пользователя”.
В результате выполненных настроек в указанный объект будет добавлена новая запись. Поля записи будут заполнены в соответствии с настройками блока Какие значения колонок установить?. Остальные поля новой записи будут заполнены значениями по умолчанию или останутся незаполненными.
-
Добавить несколько записей
С помощью элемента Добавить данные, выбрав режим “Добавить результат выборки”, можно добавить несколько записей в объект. Например, вы можете добавить в участники активности выборку контактов, которые живут в Санкт-Петербурге. В этом случае объект “Участник активности” будет целевым, а объект “Контакт” — источником данных.
Записи будут добавлены на основании “выборки”, представляющей собой список отфильтрованных записей другого объекта. Например, на деталь Участники страницы активности могут быть добавлены записи выборки, сформированной из записей объекта “Контакт” (т. е. список отобранных фильтром контактов). Фильтр по полю Город выберет все контакты с адресом в Санкт-Петербурге. Контакт будет добавлен в участники активности, только если он соответствует условию фильтрации.
Значения колонок из выборки можно передать в добавленные записи. Например, записи объекта “Участник активности” должны быть связаны с соответствующими контактами. В добавленных записях участников активности поля с контактными данными можно заполнить значениями соответствующих контактов в выборке.
Для добавления нескольких записей заполните поля на панели настройки элемента Добавить данные (Рис. 21):
-
Выберите объект, в который необходимо добавить записи. Например, для добавления записей на деталь Участники страницы активности нужно выбрать объект “Участник активности”.
-
В поле Какой режим добавления данных? выберите “Добавить результат выборки”.
-
В поле Выборка по объекту выберите объект, данные которого будут использоваться в новых записях. Например, нужно добавить в участники активности контакты с адресом в Санкт-Петербурге. Для этого потребуется выборка из объекта “Контакт”.
-
Настройте условия фильтрации. Если не добавить фильтрацию, то в выборку войдут все записи объекта, указанного в поле Выборка по объекту. Например, для получения списка контактов из Санкт-Петербурга настройте фильтр по колонке Город, как на Рис. 21.
-
В поле Какие значения колонок установить? добавьте колонки, которые должны быть заполнены в новых записях:
-
Нажмите + и выберите колонку объекта из списка. В блоке Какие значения колонок установить? будет добавлено новое поле. Например, при добавлении участника активности необходимо указать активность и контакт.
-
Заполните поле с помощью стандартной функциональности дизайнера процессов, доступной по кнопке . Например, для добавления участника активности добавьте колонку Активность и выполните ее маппинг (сопоставление) с параметром, который содержит Id нужной активности. Затем добавьте колонку Участник и заполните ее значением Id контакта из выборки (Рис. 22).
-
По каждой записи из выборки в указанном объекте будет создана отдельная запись. Поля записи будут заполнены в соответствии с настройками блока Какие значения колонок установить?. Остальные поля новой записи будут заполнены значениями по умолчанию или останутся незаполненными. Например, каждый контакт из Санкт-Петербурга будет добавлен в качестве нового участника активности. В каждой добавленной записи в поле Активность будет указана необходимая активность, а поле Участник (которое является справочным и ссылается на объект “Контакт”) будет заполнено соответствующим контактом из выборки.
Изменить несколько записей, которые соответствуют условию
С помощью элемента Изменить данные можно изменить несколько существующих записей. Например, вы можете изменить состояние всех просроченных активностей на “Отменена”.
Чтобы изменить записи, заполните поля на панели настройки элемента Изменить данные (Рис. 23):
-
В поле Данные какого объекта изменить? выберите объект, записи которого необходимо изменить. Например, чтобы изменить состояние активностей, выберите объект “Активность”.
-
Настройте фильтр в блоке Изменить все записи, соответствующие условию. Все записи, соответствующие условию фильтрации, будут изменены. Например, для изменения всех просроченных активностей настройте фильтр по колонке Завершение (Рис. 23).
-
В блоке Какие значения полей установить для измененных записей? добавьте список полей, значения которых необходимо изменить.
-
Нажмите + и выберите поле из списка. Отобразится новое поле.
-
Нажмите + и выберите колонку объекта из списка. В блоке Какие значения полей установить для измененных записей? будет добавлено новое поле. Например, для изменения состояния активности необходимо изменить значение поля Состояние.
-
Заполните поле с помощью стандартной функциональности дизайнера процессов, доступной по кнопке . Например, чтобы заменить одно значение в справочном поле другим, выберите команду меню “Значение справочника”, а затем выберите необходимое значение из списка (Рис. 22).
В результате элемент Изменить данные установит указанные значения в соответствующих полях всех записей, которые соответствуют фильтру. Например, значение в поле Состояние изменится на “Отменена” для всех активностей, срок завершения которых был вчера или ранее.
-
Изменить определенную запись
Для изменения определенной записи необходимо получить ее идентификатор из параметра процесса или из параметра элемента процесса. При условии, что Id нужной записи есть в процессе, можно настроить фильтр по колонке Id в свойствах элемента Изменить данные. Например, вы можете использовать элемент Изменить данные.для завершения активности, созданной ранее на одном из шагов процесса.
Чтобы изменить записи, заполните поля на панели настройки элемента Изменить данные (Рис. 24):
-
В поле Данные какого объекта изменить? выберите объект, записи которого необходимо изменить. Например, чтобы изменить состояние активностей, выберите объект “Активность”.
-
Настройте фильтр по колонке Id в блоке Изменить все записи, соответствующие условию. Если соответствующий Id есть в процессе, то вы можете получить его из параметра процесса или элемента.
-
В блоке Изменить все записи, соответствующие условию кликните + и выберите колонку Id.
-
Кликните <?> и выберите “Сравнить с параметром”. Выберите параметр процесса или элемента, в котором содержится необходимый Id (Рис. 24). Например, если необходимо изменить активность, созданную ранее на одном из шагов процесса, выберите соответствующий элемент Выполнить задачу и его параметр Id задачи.
-
-
В блоке Какие значения полей установить для измененных записей? добавьте список полей, значения которых необходимо изменить.
-
Нажмите + и выберите колонку объекта из списка. В блоке Какие значения полей установить для измененных записей? будет добавлено новое поле. Например, для изменения состояния активности необходимо изменить значение поля Состояние.
-
Заполните поле с помощью стандартной функциональности дизайнера процессов, доступной по кнопке . Например, чтобы заменить одно значение в справочном поле другим, выберите команду меню “Значение справочника”, а затем выберите необходимое значение из списка.
В результате элемент Изменить данные установит указанные значения в соответствующих полях всех записей, которые соответствуют фильтру. Например, значение в поле Состояние изменится на “Отменена” для всех активностей, срок завершения которых был вчера или ранее.
-
Удалить все записи, которые соответствуют условию
Вы можете удалить все записи, которые соответствуют условиям фильтрации, настроенным на панели свойств элемента Удалить данные. Например, можно удалить все отмененные запланированные активности.
Для удаления записей, соответствующих условиям фильтрации, выполните настройку элемента Удалить данные (Рис. 25):
-
В поле Данные какого объекта удалить? выберите объект, записи которого необходимо удалить. Например, чтобы удалить активности, выберите объект “Активность”.
-
Удалить все записи, соответствующие условию — укажите условия фильтрации для отбора записей, которые будут удалены. Например, для удаления всех будущих отмененных активностей настройте фильтр по колонкам Начало и Состояние (Рис. 25).
В результате элемент Удалить данные удалит все записи, которые соответствуют фильтру. Например, будут удалены все активности в состоянии “Отменена” и с датой завершения завтра.
Удалить определенную запись
Чтобы удалить определенную запись, потребуется получить ее идентификатор, если он указан в процессе. Например, вы можете удалить определенный контакт.
Для удаления записей, соответствующих условиям фильтрации, выполните настройку элемента Удалить данные (Рис. 26):
-
В поле Данные какого объекта удалить? выберите объект, записи которого необходимо удалить. Например, чтобы удалить активности, выберите объект “Активность”.
-
В блоке Удалить все записи, соответствующие условию настройте фильтр по колонке Id. Если соответствующий Id есть в процессе, то вы можете получить его из параметра процесса или элемента.
-
В блоке Удалить все записи, соответствующие условию кликните + и выберите колонку Id.
-
Кликните <?> и выберите “Сравнить с параметром”. Выберите параметр процесса или элемента, в котором содержится необходимый Id (Рис. 27). Например, если необходимо удалить активность, созданную ранее на одном из шагов процесса, выберите соответствующий элемент Выполнить задачу и его параметр Id задачи.
-
В результате элемент Удалить данные удалит запись, Id которой соответствуют фильтру. Например, будет удалена активность, созданная ранее в ходе процесса.