Описание всех возможных событий Снегопата
События объекта Designer - строка вызова events.connect(Designer, ИмяСобытия, SelfScript.self, {ИмяМетодаОбработчика = ""})
- beforeExitApp() - без параметров
- onExitApp() - без параметров
- onLoadAddin(addin)
- onUnLoadAddin(addin)
- onSelectFile(selectFileData) - ISelectFileData - возникает перед открытием диалога выбора файлов и позволяет программно выбрать файл(ы) без показа окна пользователю.
- onIdle() - без параметров
- createTextWindow(textWnd) - Вызывается при создании текстовых окон. Для возможности SciColorer'у автоматом цепляться к окнам.
- onMessage(MessageParam) - объект IMessageParams со свойствами text, marker, cancel
События объекта snegopat - строка вызова events.connect(snegopat, ИмяСобытия, SelfScript.self, {ИмяМетодаОбработчика = ""})
- onProcessTemplate(params) - возникает после обработки текста шаблона до его вставки в редактор. Позволяет изменять вставляемый текст.
- onChangeTextManager - не описан состав параметров Используется в SciColorerV8
События объекта windows - строка вызова events.connect(windows, ИмяСобытия, SelfScript.self, {ИмяМетодаОбработчика = ""})
- onDoModal(dlgInfo_IDoModalHook) - Позволяет обрабатывать аддинами открытие системой модальных окон и частично управлять ими.
- onMessageBox(param_IMsgBoxHook) - Позволяет обрабатывать аддинами показ системой предупреждений/вопросов.
Message(param.caption + " | " + param.text + " | " + param.type + " | " + param.timeout) При отработке события перехват с MessageBox'а снимается, и в обработчике можно смело его вызывать, не боясь зацикливания. Например мы сами хотим узнать ответ пользователя и в зависимости от него выполнить какие-то действия param.result = MessageBox(param.text, param.type, param.caption, param.timeout) param.cancel = true
- onChangeTitles(ISetMainTitleHook param) - Позволяет обрабатывать аддинами изменение заголовка основного окна и менять его.
События объекта metadata - строка вызова events.connect(metadata , ИмяСобытия, SelfScript.self, {ИмяМетодаОбработчика = ""})
- MetaDataEvent(paramIV8MetaDataEvent) Вызывается при различных действиях с метаданными, передается объект IV8MetaDataEvent
События команд конфигуратора - события выполнения стандартных команд конфигуратора (например: Конфигурация - Обновить конфигурацию базы). Более подробно расписано в скрипте "stdcommands"
- Подключиться к событию events.addCommandHandler(id group, number, object, member)
- Отключиться от события events.delCommandHandler(id group, number, object, member)
Пример использования, подключимся к команде обновления конфигурации:
$addin stdcommands stdcommands.Config.UpdateDBCfg.addHandler(SelfScript.self, "onUpdateDBCf"); function onUpdateDBCf(cmd) { if(cmd.isBefore) { //Этот кусок кода будет выполняться перед выполнением этой команды. (можно подключиться к консоли 1С предприятия и завершить все подключения к базе...) } else { //После выполнения обновления, можно включить возможность подключения к базе. } }
Пока можно найти описания всех событий путем поиска "events.connect" по папке скриптов (scripts и core)