Artifact [af858d74ac] Вы: nobody
Вход

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