D 2012-05-26T08:16:16.586
L События\sСнегопата
P 5641b77f4f6dadecb5c9a2e31ca556b0cd4674bf
U sosnae
W 4917
Описание всех возможных событий Снегопата
События объекта 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)
Z d4596989dd598627741ac2fb8da797ec