Руководство разработчика

Глобальные события

Глобальные события программы не связаны с действиями пользователя над счетами или хозяйственными операциями. На данный момент существуют следующие события такого типа:

  1. Вход.
    Вызывается при входе в программу и после смены базы данных. Вызываемая функция должна иметь следующий вид:

    ФУНКЦИЯ <имя>
  2. Выход.
    Вызывается при выходе из программы и перед сменой базы данных. Вызываемая функция должна иметь следующий вид:

    ФУНКЦИЯ <имя>
  3. Ожидание ввода.
    Вызывается при простое программы в ожидании действий пользователя, но не чаще, чем раз в 10 секунд. При наличии открытых модальных диалоговых окон событие не вызывается. Функция-обработчик должна иметь вид:

    ФУНКЦИЯ <имя>
  4. Фильтр запуска.
    Вызывается при открытии бланка или архива бланка и может предотвратить это действие. Функция-обработчик должна иметь вид:

    ФУНКЦИЯ ТИП_ЛОГИКА: <имя>(ТИП_СТРОКА: файл)

    В параметре "файл" передается полный путь к BLW-файлу. Если функция возвращает ДА, то бланк открывается как обычно. Если функция возвращает НЕТ, то открытия бланка не происходит и при этом не показывается никаких сообщений. При необходимости информировать пользователя о причине отказа открытия данного бланка, функция-обработчик должна самостоятельно показать сообщение.

Пример

Пример иллюстрирует запрет запуска бланков, имя файла которых начинается с "P4_".

ФУНКЦИЯ ТИП_СТРОКА: ВыделитьИмяФайла(ТИП_СТРОКА: путь)
  имя_файла = ""
  ЦИКЛ ДЛЯ(и = ДЛИНА(путь), 1, -1)
    тек_симв = ПОДСТР(путь, и, 1)
    ЕСЛИ (тек_симв = "/") ИЛИ (тек_симв = "\") ТО
      СТОП
    ИНАЧЕ
      имя_файла = тек_симв + имя_файла
    КОНЕЦ_ЕСЛИ
  КОНЕЦ_ЦИКЛА
  ВыделитьИмяФайла = имя_файла
КОНЕЦ_ФУНКЦИИ

ФУНКЦИЯ ТИП_ЛОГИКА: ФильтрЗапуска_P4(ТИП_СТРОКА: файл)
  имя_файла = ВыделитьИмяФайла(файл)
  ЕСЛИ ПОЗ("P4_", ЗАГЛ(имя_файла)) = 1 ТО
    СООБЩЕНИЕ("Открытие файла " + имя_файла + " запрещено!")
    ФильтрЗапуска_P4 = НЕТ
  ИНАЧЕ
    ФильтрЗапуска_P4 = ДА
  КОНЕЦ_ЕСЛИ 
КОНЕЦ_ФУНКЦИИ

См. также: