Универсальный обмен данными
Функция универсального обмена данными, как и функция обмена данными между переменными, предназначена для присвоения переменной значения (как непосредственно заданного, так и значения другой переменной), однако, в отличие от предыдущей функции, она предоставляет несколько иные возможности.
При универсальном обмене возможна передача значений как между внутренними переменными бизнес-процесса, так и между объектами и отдельными атрибутами объектов шлюзов (при обязательном соответствии типов переменных, например, значение свойства карточки DocsVision может быть присвоено строковому полю любой другой переменной).
Если в обмене данными участвует сложная переменная (карточка DocsVision, почтовое сообщение и др.), функция универсального обмена данными позволяет передавать переменной-приемнику не полное значение (например, карточки), а какого-либо ее элемента — секции, строки и т. д.; при этом следует обращать особое внимание на типы переменных обмена. При несоответствии типов переменной-приемника и переменной-источника бизнес-процесс будет завершен по ошибке (за исключением некоторых общепринятых допустимых случаев, например, присвоения переменной дробного типа целочисленного значения).
Функция универсального обмена данными может выполнять неограниченное количество операций по присвоению значений любым переменным; чтобы избежать путаницы в дальнейшем при тестировании и работе с бизнес-процессом рекомендуется дать подробное описание каждой из них.
Функция универсального обмена данными помимо вкладки Общие, одинаковой для всех функций, содержит вкладку Параметры (рис. 3.16), включающую описание всех выполняемых функцией шагов обмена данными. Имеющиеся на вкладке кнопки используются согласно обычному принципу: Добавить, Изменить и Удалить позволяют соответственно определить новый шаг обмена, а также изменить или удалить существующий; кнопка Копировать предоставляет возможность продублировать шаг обмена в списке, например, в целях его последующего редактирования; кнопки Вверх и Вниз — изменять порядок следования шагов обмена.
Рис. 3.16. Вкладка Параметры функции универсального обмена данными
При нажатии кнопок Добавить или Изменить открывается диалоговое окно, представленное на рис. 3.17, позволяющее соответственно добавить новый шаг обмена данными или изменить уже существующий. Кнопки и этого окна служат для быстрого перехода к предыдущему и следующему шагам обмена соответственно и активизируются, если такие шаги уже настроены.
Рис. 3.17. Диалоговое окно добавления/изменения шага обмена функции универсального обмена данными
Настройка шагов обмена подразумевает указание переменной-источника и переменной-приемника; эти действия аналогичны. В каждом из полей выбор значения или переменной осуществляется из списка, раскрывающегося при нажатии кнопки . Пока не указаны все необходимые настройки шага обмена (типы источника и приемника, а также переменная-приемник и переменная-источник или ее значение, кнопка Ок остается недоступной для выбора.
Тип объекта, указываемый в полях Тип, выбирается из дерева всех доступных типов, приведенном на рис. 3.18. До указания типа последующие поля недоступны для заполнения.
Рис. 3.18. Дерево типов объектов
После того как тип указан, в выпадающем списке поля Переменная окажутся доступными для выбора все объявленные переменные бизнес-процесса указанного типа. Кроме того, значение можно ввести вручную (для простых типов) или выбрать существующий объект (соответствующего типа).
В качестве источника могут быть указаны:
- переменная любого типа;
- объект шлюза;
- простое свойство (поле) объекта шлюза;
- пользовательское свойство (поле) объекта шлюза;
- индексированное свойство (поле) объекта шлюза;
- коллекционное свойство (поле) объекта шлюза;
- пустое значение;
- введенное с клавиатуры значение простого типа.
В качестве приемника могут указываться:
- переменные;
- свойства (поля) объекта, у которых отсутствует флаг «только чтение»;
- пустое значение (необходимо для случая, если в источнике выполняется операция над коллекционным свойством).
Следующее поле — Свойство — не является обязательным и становится доступным для выбора, если только в предыдущем поле был указан объект или составной тип переменной (обладающий свойствами); заполнение данного поля обеспечивает передачу значения не всей составной переменной, а только одного ее свойства. Кроме того, если указанное свойство является коллекционным, помимо передачи его значения другой переменной возможно проведение над ним действия, определенного для коллекций:
- получить число элементов;
- получить элемент;
- получить все;
- добавить новый элемент;
- добавить элемент;
- удалить элемент;
- очистить коллекцию.
Для операций, не возвращающих значений, секция описания переменной-приемника не заполняется; для операций, возвращающих какое-либо значение, в секции описания должна указываться принимающая переменная соответствующего типа. Из перечисленных операций возвращаемое значение имеют:
- получение числа элементов в коллекции;
- получение элемента коллекции;
- добавление нового элемента коллекции;
- добавление существующего элемента коллекции.
После указания всех параметров рекомендуется ввести в поле Описание подробное описание и назначение операции, выполняемой на данном шаге обмена: это облегчит корректировку шагов при последующем редактировании бизнес-процесса и исправлении ошибок.
Завершив все описанные действия, нажмите кнопку ОК.