Глобальные события
Глобальные события программы не связаны с действиями пользователя над счетами или хозяйственными операциями. На данный момент существуют следующие события такого типа:
-
Вход.
Вызывается при входе в программу и после смены базы данных. Вызываемая функция должна иметь следующий вид:ФУНКЦИЯ <имя>
-
Выход.
Вызывается при выходе из программы и перед сменой базы данных. Вызываемая функция должна иметь следующий вид:ФУНКЦИЯ <имя>
-
Ожидание ввода.
Вызывается при простое программы в ожидании действий пользователя, но не чаще, чем раз в 10 секунд. При наличии открытых модальных диалоговых окон событие не вызывается. Функция-обработчик должна иметь вид:ФУНКЦИЯ <имя>
-
Фильтр запуска.
Вызывается при открытии бланка или архива бланка и может предотвратить это действие. Функция-обработчик должна иметь вид:ФУНКЦИЯ ТИП_ЛОГИКА: <имя>(ТИП_СТРОКА: файл)
В параметре "файл" передается полный путь к BLW-файлу. Если функция возвращает ДА, то бланк открывается как обычно. Если функция возвращает НЕТ, то открытия бланка не происходит и при этом не показывается никаких сообщений. При необходимости информировать пользователя о причине отказа открытия данного бланка, функция-обработчик должна самостоятельно показать сообщение.
Пример
Пример иллюстрирует запрет запуска бланков, имя файла которых начинается с "P4_".
ФУНКЦИЯ ТИП_СТРОКА: ВыделитьИмяФайла(ТИП_СТРОКА: путь) имя_файла = "" ЦИКЛ ДЛЯ(и = ДЛИНА(путь), 1, -1) тек_симв = ПОДСТР(путь, и, 1) ЕСЛИ (тек_симв = "/") ИЛИ (тек_симв = "\") ТО СТОП ИНАЧЕ имя_файла = тек_симв + имя_файла КОНЕЦ_ЕСЛИ КОНЕЦ_ЦИКЛА ВыделитьИмяФайла = имя_файла КОНЕЦ_ФУНКЦИИ ФУНКЦИЯ ТИП_ЛОГИКА: ФильтрЗапуска_P4(ТИП_СТРОКА: файл) имя_файла = ВыделитьИмяФайла(файл) ЕСЛИ ПОЗ("P4_", ЗАГЛ(имя_файла)) = 1 ТО СООБЩЕНИЕ("Открытие файла " + имя_файла + " запрещено!") ФильтрЗапуска_P4 = НЕТ ИНАЧЕ ФильтрЗапуска_P4 = ДА КОНЕЦ_ЕСЛИ КОНЕЦ_ФУНКЦИИ