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

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


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

Различия

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

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

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