Artifact
af858d74ac18c64ce7f98931212e66dee024af2d:
Wiki page
[
События Снегопата] by
sosnae
2012-05-26 08:16:16.
D 2012-05-26T08:16:16.586
L События\sСнегопата
P 5641b77f4f6dadecb5c9a2e31ca556b0cd4674bf
U sosnae
W 4917
<i>Описание всех возможных событий Снегопата</i>
<b>События объекта Designer</b> - строка вызова events.connect(Designer, ИмяСобытия, SelfScript.self, {ИмяМетодаОбработчика = ""})
* beforeExitApp() - без параметров
* onExitApp() - без параметров
* onLoadAddin(addin)
* onUnLoadAddin(addin)
* onSelectFile(selectFileData) - ISelectFileData - возникает перед открытием диалога выбора файлов и позволяет программно выбрать файл(ы) без показа окна пользователю.
* onIdle() - без параметров
* createTextWindow(textWnd) - Вызывается при создании текстовых окон. Для возможности SciColorer'у автоматом цепляться к окнам.
* onMessage(MessageParam) - объект IMessageParams со свойствами text, marker, cancel
<b>События объекта snegopat</b> - строка вызова events.connect(snegopat, ИмяСобытия, SelfScript.self, {ИмяМетодаОбработчика = ""})
* onProcessTemplate(params) - возникает после обработки текста шаблона до его вставки в редактор. Позволяет изменять вставляемый текст.
* onChangeTextManager - <i>не описан состав параметров</i> Используется в SciColorerV8
<b>События объекта windows</b> - строка вызова events.connect(windows, ИмяСобытия, SelfScript.self, {ИмяМетодаОбработчика = ""})
* onDoModal(dlgInfo_IDoModalHook) - Позволяет обрабатывать аддинами открытие системой модальных окон и частично управлять ими.
* onMessageBox(param_IMsgBoxHook) - Позволяет обрабатывать аддинами показ системой предупреждений/вопросов.
<verbatim>Message(param.caption + " | " + param.text + " | " + param.type + " | " + param.timeout)
При отработке события перехват с MessageBox'а снимается, и в обработчике можно смело его вызывать, не боясь зацикливания.
Например мы сами хотим узнать ответ пользователя и в зависимости от него выполнить какие-то действия
param.result = MessageBox(param.text, param.type, param.caption, param.timeout)
param.cancel = true</verbatim>
* onChangeTitles(ISetMainTitleHook param) - Позволяет обрабатывать аддинами изменение заголовка основного окна и менять его.
<b>События объекта metadata </b> - строка вызова events.connect(metadata , ИмяСобытия, SelfScript.self, {ИмяМетодаОбработчика = ""})
* MetaDataEvent(paramIV8MetaDataEvent) Вызывается при различных действиях с метаданными, передается объект IV8MetaDataEvent
<b>События команд конфигуратора</b> - события выполнения стандартных команд конфигуратора (например: Конфигурация - Обновить конфигурацию базы). Более подробно расписано в скрипте "stdcommands"
* Подключиться к событию events.addCommandHandler(id group, number, object, member)
* Отключиться от события events.delCommandHandler(id group, number, object, member)
Пример использования, подключимся к команде обновления конфигурации:
<verbatim>
$addin stdcommands
stdcommands.Config.UpdateDBCfg.addHandler(SelfScript.self, "onUpdateDBCf");
function onUpdateDBCf(cmd) {
if(cmd.isBefore)
{
//Этот кусок кода будет выполняться перед выполнением этой команды. (можно подключиться к консоли 1С предприятия и завершить все подключения к базе...)
} else {
//После выполнения обновления, можно включить возможность подключения к базе.
}
}
</verbatim>
<i>Пока можно найти описания всех событий путем поиска "events.connect" по папке скриптов (scripts и core)</i>
Z d4596989dd598627741ac2fb8da797ec