Интеграция Mobile SMARTS со сторонними системами через коннекторы
Внешние соединения (коннекторы) предназначены для вызова функций внешних систем по запросу с ТСД, с их помощью также может выполняться обработка событий сервера. При помощи коннекторов можно решить целый ряд весьма полезных задач, таких как:
- получение реальных остатков по сканированной номенклатуре;
- уточнение цен онлайн;
- отправка набранных заказов с п роверкой наличия и других условий;
- подбор в ячейках, перемещение палет и коробок с немедленной фиксацией изменений в учетной системе и др.
Для каждой учетной системы коннектор разрабатывается отдельно и особенности его работы зависят от реализации.
Вызов внешних систем с терминала сбора данных (ТСД) происходит не напрямую, а через посредника (сервера Mobile SMARTS).
Данные для отправки во внешнюю систему формируются в клиенте Mobile SMARTS на ТСД, а затем передаются серверу Mobile SMARTS с указанием, какой коннектор использовать и какую задачу решать.
В случае обработки событий сервера, данные для указанного обработчика события формирует сервер.
Принцип работы коннекторов
Обращение к внешней системе с передачей и получением каких-то полезных данных происходит следующим образом:
- В клиенте Mobile SMARTS на ТСД действие «Вызов метода внешней системы» формирует аргументы для вызова внешней системы, упаковывает их в объект Cleverence.Warehouse.InvokeArgs и отправляет на сервер Mobile SMARTS вместе с именем коннектора, именем класса и именем метода;
- Сервер Mobile SMARTS ищет коннектор с требуемым именем в списке зарегистрированных и передает ему аргументы вместе с именем класса и метода для вызова;
- Коннектор осуществляет вызов указанного метода внешней системы и получает результат;
- Результат возвращается серверу Mobile SMARTS, упаковывается в объект Cleverence.Warehouse.InvokeResult и отправляется на ТСД;
- В клиенте Mobile SMARTS на ТСД действие «Вызов метода внешней системы» кладет полученный результат в текущую сессию под именем, которое задано у него в свойстве «Переменная сессии для результата»;
- Теперь любое другое действие в программе на ТСД может получить доступ к результату вызова для вывода его на экран или выполнения расчетов.
Список стандартных коннекторов
В состав дистрибутива Mobile SMARTS входят следующие стандартные коннекторы для сервера Mobile SMARTS:
| Название | Необходимые файлы | Описание |
| 1С Предприятие версия 7.7 | Для панели управления: не требуется Для сервера: Cleverence.Connectivity.OneC.dll | Позволяет производить вызов функции из глобального модуля конфигурации 1С Предприятие 7.7 по имени и возвращать результат её выполнения. |
| 1С Предприятие версия 8 | Для панели управления: не требуется Для сервера: Cleverence.Connectivity.OneC.dll | Позволяет производить вызов функции из модуля указанной обработки 1С (из состава конфигурации 1С или внешней) по имени и возвращать результат её выполнения. Обеспечивает работу как через внешнее COM-соединение 1С, так и через Web-сервис 1С. Поддерживаются платформы 1С 8.1, 8.2, 8.3. |
| АРМ ЕГАИС — Серверный коннектор | Для панели управления: Cleverence.Connectivity.ArmEgais.Panel.dll Для сервера: Cleverence.Connectivity.ArmEgais.dll | Коннектор для обмена документами с системой АРМ ЕГАИС. Предназначен для обработки событий сервера Mobile SMARTS (получение документов он-лайн, отправка документов). |
| Axapta5Connector (Axapta 2009) | Для панели управления: не требуется Для сервера: Cleverence.Connectivity.Axapta5.dll | Позволяет вызывать статические методы классов Axapta и возвращать результат выполнения. Работа выполняется через .NET Axapta Business Connector |
| Microsoft SQL Server | Для панели управления: не требуется Для сервера: Cleverence.Connectivity.SqlServer.dll | Позволяет выполнять SQL-запросы к базе данных, а также вызывать хранимые процедуры, возвращает результаты запросов, хранимых процедур. |
Регистрация и запуск коннекторов
Для того, чтобы начать использовать коннектор, необходимо сначала его зарегистрировать (добавить), а затем запустить. Эти операции выполняются в панели управления 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 не будет хватать пользовательских прав на подключение к внешней системе. Основные причины таких проблем и способы их решения описаны в статье «Диагностика и исправление проблем» на сайте «Клеверенс».
Если в «Службах компонентов» есть установленные вручную COM+ приложения, это может помешать запуску COM-коннектора. В таком случае потребуется удалить COM+ приложения, после чего заново зарегистрировать и запустить COM-коннектор.
![]()