Триггеры
Триггеры позволяют установить динамическое обновление данных путем задания критериев, то есть, вводя данные, можно автоматически обновлять другие поля.
Для задания триггера:
- В главном меню выберите
База данных > Словарь > Триггеры
. Отобразятся триггеры, уже созданные и используемые в системе. - Нажмите
Добавить
и заполните поля в соответствии с описанием:Поле
– имя поля, которое при его изменении запускает процесс обновления.
Последовательность
– порядковый номер, создаваемый системой для каждого триггера.
Обратный домен
– имя обратного домена, то есть поле, которое должно автоматически обновляться.
Тип
– выберите тип триггера:P
– основной, для визуальных и внешних обновлений того же файла.F
– внешний. Чтобы обновить данные в других файлах.X
– положение. Чтобы разместить указанный файл в псевдониме, не выполняя обновления. Используется для случаев, когда пользователь хочет установить отношение между файлами.
Правило
– выражение на языке AdvPL, переносимое в обратный домен.
Места
– выберитеДа
для перемещения указателя на другой файл на основании выражения, указанного вПОИСКЕ
. ИлиНет
, чтобы не перемещать его.
Псевдоним
– псевдоним файла. 3 начальные буквы файла, чей указатель должен быть перемещен.
Порядок
– номер ключа индекса, используемый для перемещения указателя.
Поиск
– выражение в языке, определяющее положение указателя.
Условие
– укажите условие (параметрыExecblock
и т. п.) для определения момента, когда необходимо задействовать триггер.
Например, для указания триггера поля/последовательности
L2_PRODUTO/001
запускается только в модулеSIGALOJA
, в полеУсловие
необходимо ввести выражениеnModulo ==12
.Таким образом, данный триггер запускается только в модуле, номер которого равен 12 (в данном случае –
SIGALOJA
).Совет:Если вы работаете с типом
P
и создаете ссылки на поля самого файла, то на первом месте должно ставиться обозначение переменной памятиM->
. Например:M->C6_QTDVEN
.Пример. Если вы создаете поле
Баланс
(B1_SALDO
) в файле товара, можно указать триггер, чтобы автоматически обновлять это поле, когда бы вы ни добавляли прогноз продаж для товара (C4_PRODUTO
). В правиле должно быть установлено, что товарный баланс – это сумма текущего количества и количества из прогноза продаж. - Заполните поля и нажмите
OK
.