Расширение функционала Mobile SMARTS с помощью плагинов
Расширения (плагины) используются для выполнения какой-либо работы под управлением сервера Mobile SMARTS без обработки вызовов c ТСД и событий сервера (напр имер, плагин может следить за содержимым заданной папки и загружать данные при изменении файлов или делать бэкап по расписанию).
В состав дистрибутива платформы входят следующие плагины для сервера Mobile SMARTS:
| Название | Необходимые файлы | Описание |
| Вызов серверных операций | Для панели управления: не требуется Для сервера: не требуется | Позволяет вызывать серверные операции из конфигурации Mobile SMARTS как обработчики событий сервера Mobile SMARTS. |
| Excel/ csv обмен на сервере | Для панели управления: не требуется Для сервера: Cleverence.Connectivity.ExcelCsv.dll | Позволяет выполнять загрузку на сервер Mobile SMARTS справочников номенклатуры, ячеек, палет и документов из форматов Excel или CSV, а также выполняет преобразование завершенных на терминале документов в формат Excel или CSV. |
| ЕГАИС3 - Обработчик документов | Для панели управления: Cleverence.Connectivity.ArmEgais.Panel.dll Для сервера: Cleverence.Connectivity.EgaisDocProcessor.dll | Плагин предназначен для предобработки документов ЕГАИС (построение доп. таблиц) и постобработки завершенных докуме нтов. Используется в конфигурациях «ЕГАИС3», «Склад 15». |
| Плагин разделения дополнительных таблиц | Для панели управления: Cleverence.Connectivity.TableSlicerConnector.Panel.dll Для сервера: Cleverence.Connectivity.TableSlicerConnector.dll | Плагин предназначен для разделения таблиц по заданному условию при обмене с ТСД. Позволяет ограничить объем данных, выгружаемых на ТСД. |
| Плагин резервного копирования данных баз | Для панели управления: не требуется Для сервера: не требуется | Позволяет выполнять бэкап справочников и таблиц из базы данных Mobile SMARTS с заданной периодичностью. |
Регистрация расширений (плагинов)
Для того, чтобы использовать расширение (плагин) на сервере Mobile SMARTS, его необходимо добавить через панель управления. Все расширения, добавленные в конфигурацию Mobile SMARTS, находятся внутри узла «Внешние соединения и расширения -> Расширения».
Добавление в конфигурацию нового расширения выполняется с помощью щелчка правой кнопкой мыши на узле «Расширения». В открывшемся контекстном меню нужно выбрать «Добавить внешнее соединение…» (или «Добавить расширение…»), в списке выбрать нужный модуль и нажать ОК:
В конфигурации всегда присутствует расширение «Вызов серверных операций».
Настройка параметров расширения выполняется через боковую панель свойств:
После добавления расширения и настройки параметров нужно сохранить конфигурацию.
Если узел расширения в дереве конфигурации отображается в виде серой иконки, то это означает, что работа расширения остановлена (запрещена) и при запуске сервера базы данных Mobile SMARTS данное расширение запускаться не будет:
Для того, чтобы разрешить работу расширения, нажмите правой кнопкой мыши на узле дерева, выберите в к онтекстном меню «Разрешить».
Модуль должен перейти в разрешенное состояние (красная иконка):
Для работы расширения под управлением сервера Mobile SMARTS и настройки параметров расширения через Панель управления используются две версии библиотеки (файлы dll). Первая dll, предназначенная для сервера, размещается в <Папка базы Mobile SMARTS>\\Server\\DataService\\bin\. Вторая dll, для панели управления — в <Папка базы Mobile SMARTS>\\Control panel\\Addins. Некоторые стандартные расширения, входящие в дистрибутив платформы Mobile SMARTS, не требуют дополнительных файлов dll (см. Список существующих стандартных расширений).
Если библиотека модуля для панели управления загружена, а для сервера библиотека отсутствует (или не была загружена в процесс сервера Mobile SMARTS), то при сохранении конфигурации Mobile SMARTS после добавления модуля в панели управления данные о добавленном модуле не запишутся в файлы конфигурации. При попытке разрешить работу коннектора получаем ошибку. Если загрузить конфигурацию с сервера (кнопка «Обновить» в панели управления), видим, что добавленного модуля нет:
Для устранения ошибки нужно серверную версию dll модуля положить в < _Папка базы Mobile SMARTS>\\Server\\DataService\\bin, перезапустить сервер базы данных Mobile SMARTS и заново добавить модуль через панель управления.
Операции, выполняемые на сервере
В платформе Mobile SMARTS есть возможность вызова серверных операций из конфигурации Mobile SMARTS. Серверная операция — это операция, выполняемая на сервере Mobile SMARTS, в отличие от обычной операции, которая выполняется на самом ТСД.
Серверные операции могут использоваться в следующих случаях:
-
в случае работы с кол лективным документом — позволяет ускорить работу за счет замены множества одиночных вызовов на сервер одним, при котором целый кусок алгоритма отрабатывает на сервере. Дополнительно, используя блокировки, это позволяет решить проблемы несогласованного изменения данных в сложных случаях;
-
для явного вызова операции на сервере, даже если документ не коллективный, что дает возможность строить более гибкую логику работы;
-
в качестве обработчиков серверных событий (производить какие-то операции с данными при выгрузке или завершении документа).
Необходимо учитывать, что такие операции имеют ограничения на используемые действия. Никакие визуальные действия использоваться в серверных операциях не могут.
Коллективная работа
Для того, чтобы операция выполнялась на сервере, в панели управления в свойствах операции нужно установить настройку «Выполняется на сервере — Да».
При вызове такой операции её исполнение будет полностью происходить на сервере. Если же она будет вызвана в обычном, не коллективном документе, то она всё также будет исполняться на мобильном устройстве.
При разработке таких операций важно учитывать, что все данные, которыми она оперирует, должны быть переданы в качестве её параметров. Данные, не переданные явно, будут в операции недоступны.
Явный вызов операции на сервере
Но серверную операцию можно вызвать явно и для обычного, неколлективного, документа. Для этого можно воспользоваться расширением «Вызов серверных операций».
«Вызов серверных операций» всегда присутствует в конфигурации Mobile SMARTS в случае использования серверной базы в папке «Расширения».
Явный вызов необходимо выполнять с помощью действия «Вызов метода внешней системы».
Обработка событий сервера
Расширение «Вызов серверных операций» поддерживает обработку событий документов с помощью операции, выполняемой на сервере.
Это означает, что можно, например, написать операцию какой-то обработки документа, которая будет исполняться, когда завершенный документ будет приходить с мобильного устройства.
Прочие события (получение номенклатуры, запрос данных из таблиц онлайн) пока не поддерживаются.
Документ добавляется
Собы тие, возникающее в процессе добавления документа на сервере. Вызывается при выгрузке документа в базу Mobile SMARTS из внешней системы.
В серверную операцию передается добавляемый документ (переменная сессии Document). Если выполнение операции прерывается (переход [прервать операцию]), добавление документа на сервер отменяется, в лог сервера добавляется запись: «Документ отклонен обработчиком события». Если отмена добавления не требуется, операция должна завершиться по переходу [завершить операцию].
Параметры:
| Имя | Тип | Описание |
| Document | Объект документа | Добавляемый документ |
Возвращаемые значения:
| Имя | Тип | Описание |
| Error | строка | Описание ошибки. Если значение заполнено, считается, что операция завершилась неудачно, вызывается исключение. |