Версия 1.1

Модуль доставки «ApiShip» (далее — Модуль) версии ПРО поддерживает работу с плагинами. Плагины – это внешние обработки 1С:Предприятия, содержащие программный код, который вызывается из Модуля в определённые моменты его работы (далее — Хуки). Данная документация описывает все возможные Хуки, параметры, которые могут быть в них переданы, возвращаемые данные и возможности по использованию.

Замечания по работе плагинов

  1. Обработка плагинов выполняется внутри попытки. Если обработка не удалась, в журнал регистрации записывается соответствующее сообщение.
  2. Плагины подключаются модулем автоматически, разработчику плагина не нужно выполнять никаких дополнительных действий для этого.
  3. Рекомендуется делать отдельный плагин для отдельной логической функции. Особенно не рекомендуется смешивать функции, подключающие разные хуки, т.к. это влияет на время работы модуля.
  4. Разработчик плагина имеет доступ к структуре и данным модуля, что можно использовать для вредоносных действий. Не используйте плагины, источник которых Вам не известен! Мы работаем над созданием магазина плагинов, где будут содержаться только проверенные плагины.

Подключение плагина

Для подключения плагина он должен быть вначале добавлен как дополнительные обработка. Подробнее о том, как это сделать, читайте в документации к Вашей конфигурации. После того, как плагин был добавлен в дополнительные обработки, зайдите в настройки Модуля и перейдите на страницу Плагины. В таблице плагинов добавьте новую строку. В поле Доп.обработка выберите Ваш плагин. В поле Включён установите флажок. Сохраните настройки. Если плагин работает с формой настроек Модуля, то для того, чтобы его работа отразилась на форме настроек, эта форма после подключения плагина должна быть закрыта, а затем открыта вновь.

Структура плагина

Плагин – это внешняя обработка 1С:Предприятия. Минимальный программный код, который необходим, чтобы Модуль распознал такую обработку, как Плагин, это:

  1. Программный код, который позволяет подключить обработку как дополнительную обработку в конфигурациях, разработанных на базе БСП. О том, что такое БСП, механизм дополнительных обработок и что нужно, чтобы создать такую обработку, можно узнать на сайте 1С.
  2. Функция «ЭтоПлагин», экспортная, без параметров, возвращает Истина
  3. Функция «Назначение», экспортная, без параметров. Возвращает Структуру. Имена полей структуры являются именами форм Модуля, либо «_Модуль», если плагин должен обрабатывать какие-то общие хуки. Ключи – это Структура, которая содержит имена хуков, которые обрабатываются данным плагином. Пример функции:

Функция Назначение() Экспорт

прСтр = Новый Структура;

// модуль обрабатывает хук ОбновлениеСтатусов, не привязанный к формам

прСтр.Вставить("_Модуль", Новый Структура("ОбновлениеСтатусов"));

// модуль обрабатывает хук ПриСозданииНаСервере в форме Settings

прСтр.Вставить("Settings", Новый Структура("ПриСозданииНаСервере"));

Возврат прСтр;

КонецФункции

  1. Функция «Обработать», экспортная. Параметры:

Хук – Строка, <имя формы или «_Модуль»>_<имя хука>.

Параметры – Необязательный, Структура, поля зависят от обрабатываемого хука. Возможные параметры будут показаны в разделе с описанием хуков.

Данная функция выполняет саму обработку всех поддерживаемых хуков. Пример:

Функция Обработать(Хук, Параметры = Неопределено) Экспорт

Если Хук = "Settings_ПриСозданииНаСервере" Тогда

Settings_ПриСозданииНаСервере(Параметры.Форма);

ИначеЕсли Хук = "_Модуль_ОбновлениеСтатусов" Тогда

_Модуль_ОбновлениеСтатусов(Параметры);

КонецЕсли;

КонецФункции

Обрабатываемые хуки

Примечание: Параметры – это Структура, передаваемая в функцию «Обработать». В колонке Параметры описаны поля этой структуры, а не параметры функции. Например, если описан параметр Форма, то обратиться внутри функции к ней можно через Параметры.Форма.

_Модуль

ИмяПараметрыВозвращаемое значениеОписание
ОбновлениеСтатусовНастройки — Структура, настройки модуля Заказы — массив структур с заказами, поля: Заказ — заказ, который обрабатывается СтатусВ1С_Старый — статус заказа в 1С до обработки СтатусВ1С — статус заказа в 1С после обработки, пустой — если не изменился ИДСтатуса_Старый — ИД статуса в доставке до обработки ИДСтатуса — ИД статуса в доставке после обработки ИмяСтатуса — имя статуса в доставке СтатусПодробно — подробное описание статуса ТрекНомер — трек-номер статусанетВыполняется после обновления статуса. Можно использовать для оповещений об изменении статуса и любых других действий, связанных с изменением статуса заказа в доставке. Заказы, статусы которых не изменились, не обрабатываются.

Settings

ИмяПараметрыВозвращаемое значениеОписание
ПриСозданииНаСервереФорма – сама форма SettingsНетВыполняет доработку формы. У данной формы есть поле «мДанныеПлагинов», тип Структура, обязательные поля «Реквизиты» (тип Структура) и «Таблицы» (тип Структура), куда нужно добавлять данные, которые нужно сохранять в настройках модуля. В данном хуке можно добавлять свои элементы, и дорабатывать существующие. НЕ рекомендуется удалять или изменять функционал существующих элементов.

Order

ИмяПараметрыВозвращаемое значениеОписание
ПриСозданииНаСервереФорма – сама форма SettingsНетВыполняет доработку формы отправки заказов. В данном хуке можно добавлять свои элементы, и дорабатывать существующие, а также выполнять предварительную подготовку данных 1С для работы с модулем (передавать данные нетиповых реквизитов в реквизиты модуля и т.д.). НЕ рекомендуется удалять или изменять функционал существующих элементов.