Инструменты пользователя

Инструменты сайта


кассир5:внешниемодули:apiлогическихмодулей

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
кассир5:внешниемодули:apiлогическихмодулей [2014/06/23 11:36]
dzayonchkovskiy
кассир5:внешниемодули:apiлогическихмодулей [2019/02/26 10:16] (текущий)
dzayonchkovskiy
Строка 1: Строка 1:
 ====== API логических модулей ====== ====== API логических модулей ======
 +Обработки логических модулей размещаются в каталоге ExtFiles\LogicalModules.\\ 
 +В основной форме обработки необходимо реализовать определенный API.\\
 Реквизиты и методы API логических модулей делится на обязательные и функциональные. Реквизиты и методы API логических модулей делится на обязательные и функциональные.
  
Строка 8: Строка 9:
 Реквизиты: Реквизиты:
 <code> <code>
-_Источник +_Источник - произвольный тип, при выполнении обработчика устанавливается объект-источник вызова. 
-_Отказ +_Отказ - булево, используется для отказа дальнейшего выполнения кода в источнике. 
-_РезультатВызова+_РезультатВызова - произвольный тип, используется для получения результата в постобработчике после выполнения функции источника.
 </code> </code>
  
Строка 28: Строка 29:
 Параметры:\\ Параметры:\\
   * ПоЗависимости -- Тип -- Булево. По умолчанию данный параметр не передается в метод.    * ПоЗависимости -- Тип -- Булево. По умолчанию данный параметр не передается в метод. 
-Необходим для определения, вызвался ли данный метод напрямую или по зависимости из стороннего логического модуля+Необходим для определения, вызвался ли данный метод напрямую или по зависимости из стороннего логического модуля.\\ 
 +В данной функции выполняется подписка на определенные обработчики в конфигурации или в защищенной компоненте.\\ 
 +Чтобы подписать модуль логики на обработку определенного события нужно выполнить код: 
 +<code> 
 +МенеджерОбъектов.ПолучитьОбщийОбъект("LogicalModules").НазначитьОбработчик(ИмяСобытия, ЭтаФорма, Неопределено); 
 +</code> 
 +ИмяСобытия - строка, определяющая конкретный обработчик, например "Авторизация.ВнешнееСобытие.ПредОбработка".
  
 ==== Процедура ДеИнициализироватьМодуль ==== ==== Процедура ДеИнициализироватьМодуль ====
 Процедура является обязательной к экспорту. Вызывается при деинициализации внешнего логического модуля.\\ Процедура является обязательной к экспорту. Вызывается при деинициализации внешнего логического модуля.\\
-Параметр+В данной процедуре выполняется код при завершении работы модуля.\\ 
 +Обязательно выполнить отключение подключенных обработчиков: 
 +<code> 
 +МенеджерОбъектов.ПолучитьОбщийОбъект("LogicalModules").СнятьОбработчик(ИмяСобытия, ЭтаФорма); 
 +</code>
  
 ===== Функциональные методы API ===== ===== Функциональные методы API =====
-Функциональные методы API содержат методы, которые позволяют расширить функционал программного обеспечения.+Функциональные методы API содержат методы, которые позволяют расширить функционал программного обеспечения.\\ 
 +Данные методы делятся на 2 типа: предобработчик (выполняется в начале функции, позволяют полностью переопределить оригинальную функцию) и постобработчик (выполняется в конце функции, позволяет переопределить результат оригинальной функции).\\ 
 +Для работы данных методов необходимо:\\ 
 +1. подписать модуль логики на определенный пред-постобработчик (см. ИнициализироватьМодуль).\\ 
 +2. разместить в модуле, на который был подписан обработчик, экспортную функцию или процедуру, которая вызывается из оригинальной конфигурации или из защищенной компоненты.\\ 
 +Например,  
 +<code> 
 +Процедура Авторизация_ВнешнееСобытие_ПредОбработка(Источник, Событие, Данные) Экспорт 
 +__Отказ = Ложь; 
 +... 
 +_Отказ = __Отказ; 
 +КонецПроцедуры 
 +</code>
  
кассир5/внешниемодули/apiлогическихмодулей.1403523368.txt.gz · Последнее изменение: 2014/06/23 11:36 — dzayonchkovskiy