Show/Hide Toolbars

Руководство администратора

Редактирование смарт-выражения

В левой части окна редактирования смарт-выражения расположено дерево сущностей: в нем представлены параметры и объекты "Первой Формы", которые можно использовать в смарт-выражениях, а также набор предопределенных конструкций для работы с этими объектами.

smart_tree

Дерево сущностей в окне редактирования смарт-выражений.

Правая часть может работать в двух режимах: конструктора смарт-выражений или запросов TSQL. Переключение между режимами выполняется кнопкой В TSQL\ В SMART.

smart_edit_smart

Редактор в режиме конструктора SMART.

smart_edit_tsql

Редактор в режиме работы с TSQL.

Работа с выражениями TSQL рассмотрена здесь.

Конструктор смарт-выражений

Основой конструктора смарт-выражений является меню встроенных функций и операторов. Сверху над меню расположено поле Имя, оно содержит название smart-выражения. Само смарт-выражение формируется в поле, расположенном под меню, над кнопкой Сохранить .

exp1

Интерфейс редактирования смарт-выражения.

Чтобы добавить в смарт-выражение функцию или оператор, выберите его мышью в меню и затем заполните атрибуты. Чтобы вставить в строку параметр или объект из дерева сущностей, щелкните по нему мышью. Если вы предварительно выделите атрибут в строке, то введенный параметр заменит этот атрибут:

smart_exp_edit

Редактирование параметра функции.

Чтобы удалить функцию из смарт-выражения, щелкните левой кнопкой мыши по названию и выберите "Удалить" в появившемся контекстном меню:

smart_exp_del

Удаление функции.

Сохранение смарт-выражения

Для использования созданного смарт-выражения или смарт-фильтра его надо сохранить в системе, нажав кнопку Сохранить. Иногда существующее смарт-выражение надо немного модифицировать и сохранить под другим именем. Для этого введите новое имя в поле "Имя" и нажмите кнопку Сохранить как новый.

smart_exp_save

Сохранение смарт-выражения.

Для копирования всего смарт-выражения или его части можно использовать стандартный способ копирования через буфер обмена (клавиши Ctrl+C чтобы скопировать и Ctrl+V чтобы вставить).

!warning При создании смарт-выражения надо следить за тем, чтобы возвращаемый результат имел нужный тип. Например, если формируется смарт-выражения для записи в поле "Дата", результат этого выражения должен иметь тип "Дата". Если формируется смарт-выражение для записи в поле, соответствующее единичному объекту, то результатом не может быть список. Если список формируется непосредственно в смарт-выражении, то он должен иметь формат {ААА, ВВВ, ССС}.

Использование фигурных скобок

В смарт-выражениях могут использоваться как единичные объекты, так и коллекции и списки. Бывают случаи, когда смарт-выражение должно обязательно возвращать коллекцию, даже если она включает в себя только один элемент. Чтобы единичный объект или список таких объектов воспринимался как коллекция, он заключается в фигурные скобки.

smart_collection

Примеры использования фигурных скобок.

Использование ID объектов вместо номеров

Вместо непосредственного ввода ID объекта предпочтительнее использовать кнопку Выбрать ID объекта. В этом случае откроется окно для выбора:

smart_object_select_window

Выбор ID объекта в смарт-выражении.

В результате будет создана конструкция, в которой вместо числового ID объекта используется типизированная ссылка на него:

smart_object_select

Использование ID объекта в смарт-выражении.

Такой способ формирования ссылки на объект является предпочтительным, поскольку облегчает выполнение служебных заданий и перенос смарт-выражений между разными инсталляциями системы.

Использование параметров события

Некоторые смарт-события имеют контекстные переменные (например, для перехода по маршруту - пользователь, нажавший на кнопку). Если смарт-выражение вызывается в пакете документов, привязанном к такому событию, в дереве сущностей будет отображаться папка "Параметры события ...". Раскрыв папку, вы увидите список параметров и сможете обратиться к нужному свойству.

smart_event_param

Обращение к параметру события в смарт-выражении.

Аналогично можно обращаться к значениям переменных, передаваемых между смарт-действиями в рамках одного смарт-пакета.

Полезные ссылки