Тема: Работа с функциями постобработки выборок в TDMS 4.0
Речь в публикации пойдёт об изменении представления результатов работы выборки при помощи дополнительных возможностей, предоставляемых функцией постобработки.
Выборка в TDMS - это сохраненный запрос, который позволяет динамически накапливать объекты (а также пользователей и файлы), удовлетворяющие условиям поиска. Созданные выборки можно вставлять в состав объектов, ограничивая поиск только составом данного объекта.
Функция постобработки – встроенная функция в дизайнер выборок, позволяющая изменять представление результатов работы выборки. Вызывается функция постобработки при помощи комбинации клавиш CTRL+D в дизайнере выборок. Функции постобработки доступны только для глобальных выборок TDMS, для динамических выборок данный функционал не доступен. Так же возможно использование одновременно нескольких функций постобработки для изменения представления результатов выборки.
Использование функционала
Для просмотра и использования функций постобработки создадим новую выборку или выберем существующую.
На закладке Условия нажимаем комбинацию клавиш CTRL+D. Откроется окно Постобработки с доступными функциями.
Окно постобработки состоит из следующих элементов:
• Функции постобработки: - перечень выбранных функций, с заданными параметрами;
• Вставить – кнопка для добавления Шаблона функции в перечень функций постобработки;
• Шаблоны функций: - доступные шаблоны функций постобработки;
• Комментарии: - описание выбранного шаблона функции постобработки с кратким описанием параметров и примерами;
Для добавления новой функции необходимо выбрать требуемый шаблон функции в поле Шаблоны функций: и нажать на кнопку Вставить, далее внести параметры согласно описания в поле Комментарии: и нажать на кнопку ОК окна Постобработка, чтобы сохранить внесенные изменения в выборке.
Назначение функций постобработки
Примеры
Для примера рассмотрим выборку, которая выбирает информационные объекты типа Входящий документ внешняя претензия (ВДВП), в состав которых входят объекты типа Обработка ВП:
без использования функций постобработки
Как видно из рисунка, у объекта ВДВП с регистрационным номером 00001 есть в составе три объекта Обработка ВП с регистрационными номерами 000001, 000002 и 000017, поэтому объект отображается три раза. Аналогично и по другим объектам ВДВП. Общее количество, возвращенное выборкой 44 элемента.
с использованием функции ToOneRow
После применения функции постобработки ToOneRow(@NULL,@NULL) выборка возвратит 26 элементов, т.к. данная функция объединяет все одинаковые объекты ВДВП.
с использованием функции HideDuplicates
После применения функции постобработки HideDuplicates(@C5);, выборка возвратит 44 записи т.к., очищает одинаковые регистрационные номера объектов ВДВП оставляя только один номер, т.е. очищает дубликаты строк по ключу, образованному идентификатором столбца С5.
с использованием функций ToOneRow и CellTextFormat
Функция ToOneRow(@NULL,@NULL); описана в предыдущем подразделе.
После применения функций постобработки функция CellTextFormat(@ALL,@NULL,'Рассмотрение отделами',bold); выделяет жирным цветом шрифта (bold) все объекты ВДВП, которые имеют статус (Рассмотрение отделами), @ALL,@NULL эти два параметра указывают на то, что необходимо обработать все объекты, отображенные выборкой.
с использованием функций ToOneRow, CellTextFormat и RemoveColumn
Функции ToOneRow(@NULL,@NULL); и CellTextFormat(@ALL,@NULL,'Рассмотрение отделами',bold); описаны в предыдущем подразделе.
После применения функций постобработки функция RemoveColumn(@C7); ); удаляет столбец «Описание» с идентификатором С7 из результатов выборки.
с использованием функций ToOneRow, CellTextFormat, RemoveColumn и ColumnOrder
Функции ToOneRow(@NULL,@NULL); и CellTextFormat(@ALL,@NULL,'Рассмотрение отделами',bold); и RemoveColumn(@C7); описаны в предыдущем подразделе.
После применения функций постобработки функция ColumnOrder(@C6,@C5); меняет местами столбцы @C6 «Статус» и @C5 «Регистрационный номер».
с использованием функций ToOneRow, CellTextFormat, RemoveColumn и Sort
Функции ToOneRow(@NULL,@NULL); и CellTextFormat(@ALL,@NULL,'Рассмотрение отделами',bold); и RemoveColumn(@C7); описаны в предыдущем подразделе.
После применения функций постобработки функция Sort(@C5,asc); сортирует объекты по столбцу «Регистрационный номер» С5 по возрастанию asc.
с использованием функций ToOneRow, CellTextFormat и ReplaceNull
Функции ToOneRow(@NULL,@NULL); и CellTextFormat(@ALL,@NULL,'Рассмотрение отделами',bold); описаны в предыдущем подразделе.
После применения функций постобработки функция ReplaceNull(@C10,'empty data'); заменяет пустое значение столбца «Дело списания оригинала» С10 на значение «empty data».
Итог
Данные функции постобработки значительно упрощают условия выборки и предоставляют возможность без дополнительного программирования выделять отдельные или группы элементов (цветом, выделением), производить сортировку элементов и менять местами (удалять) столбцы в отображаемых результатах выборки.