Руководство пользователя Semantic MDM
×
Меню
Индекс

Постобработчик для обогащения данных

 
Постобработчик для обогащения данных автоматически срабатывает при изменении значения атрибута / создании позиции или изменении статуса позиции, если это определено настройками или при ручном запуске по кнопке (вызывается в режиме редактирования из карточки позиции). Назначение постобработчика производится в при настройке деклараций (см. п. "Настройка атрибутов группы").  Он позволяет решать следующие задачи:
 
Постобработчик в декларации атрибута
 
Ручной вызов постобработчика по кнопке в карточке позиции
 
Постобработчик для создания позиции, всегда срабатывает автоматически. Запуск постобработчика для декларации атрибута, регулируется свойством “Автоматический запуск”  (пиктограмма в строке) декларации. Данный маркер обрабатывается только для не вычисляемых простых атрибутов и не вычисляемых атрибутов типа агрегация/композиция.
Для вычисляемых атрибутов постобработчик вызывается только вручную.
Автоматический запуск постобработчиков запрещен при выполнении:
Постобработчик пишется в виде скрипта Groovy (примеры скриптов приведены в пункте Использование скриптов Groovy для обогащения данных) в специальном Редакторе функций постобработки, который вызывается кнопкой Редактор формул из ячейки Постобработчик на изменение.
 
Окно Редактора функций постобработки
 
 
В левой части окна редактора при активированной кнопке Атрибуты располагается список доступных атрибутов текущей группы, а также атрибуты пользователя. Для того, чтобы включить атрибут в текст достаточно перетащить его (Drag&Dpop) из списка в поле скрипта в центре. Имя атрибута в тексте скрипта представляется как @[Имя атрибута].
При переключении на описание методов одноименной кнопкой пользователю становятся доступными все функции, методы, условия и циклы, применяемые в скриптах для обогащения данных, и их описания (во всплывающих окнах - hint), которые появляются при наведении курсора на соответствующий элемент списка.
Для того, чтобы добавить нужную функцию в текст достаточно перетащить её (Drag&Dpop) из списка в поле скрипта. Функции добавляются со всем необходимым синтаксисом и пояснениями (комментариями). Если в тексте функции не достаточно данных или допущена ошибка, то в соответствующей строке появляется пиктограмма , при наведении на которую курсора, появляется подсказка с описанием допущенной ошибки.
 
Описание методов в скрипте GROOVY на обогащение данных (постобработчик на изменение)
 
Справа от текста скрипта находится поле для тестирования постобработчика, над которым расположены кнопки выбора позиции для тестирования, переключатель отображаемых атрибутов выбранной позиции и кнопка запуска процесса тестирования.
Редактор функций постобработки позволяет проводить тестирование разработанных скриптов, как на пустой новой позиции, так и на существующей. В Системе доступны методы, которые позволяют:
Для проверки функций обогащения на панели справа отображается карточка проверяемой позиции в режиме "только чтение" (то есть пользователь не может изменить значения в карточке вручную). В карточке тестируемой позиции могут отображать все атрибуты, с возможностью переключения в режим отображения атрибутов со значениями.
По умолчанию, для тестирования функции, в карточке отображается пустая "виртуальная" позиция. В заголовке карточки доступны кнопки Выбрать позицию, Удалить позицию. По кнопке "Выбрать позицию" поднимается окно выбора позиции из справочника, в котором продекларирован атрибут с постобработчиком. Над карточкой располагается поле для ввода тестового значения атрибута и кнопка запуска функции Выполнить. По нажатию на данную кнопку, система выполняет функцию постобработчика и обогащает выбранную позицию данными. Пользователь видит в карточке все изменения в позиции, с учетом изменений в агрегированных и композированных в неё позиций. При повторном запуске функции, состояние атрибутов позиции будет сброшено в исходное и выполнится повторное обогащение позиции данными.
Если после выполнения тестирования функции, появились позиции, никак не связанные с тестируемой, то перечень таких позиций отображается списком в разделе Побочные позиции, под карточкой атрибутов с пояснением что данные позиции были созданы функцией постобработчика, но никак не связаны с тестируемой позицией.
Постобработчик в дочерних группах отмечается пиктограммой как унаследованный, если он задан в родительской группе.
 
Постобработчик, унаследованный от родительской группы