Интеграция 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-коннектор.
![]()
Описание свойств коннекторов
Коннектор «1С: Предприятие версии 8»
| Свойство | Заполняется автоматически | Принимаемые значения | Расшифровка |
| Максимальное количество одновременных вызовов | 5 | Произвольное число | Максимальное количество одновременных асинхронных вызовов 0 — нет ограничений |
| При тайм-ауте | Вызывать исключение | Вызывать исключение/ Переподключаться | Поведение при истечении тайм-аута Вызывать исключение— выполнение вызова останавливается и возвращается ошибка Переподключаться — отключить от системы и повторить вызов |
| Тайм-аут (в мс) | 90000 | Произвольное число | При истечении указанного времени вызов будет прерван и выполнится действие, указанное в пункте «При тайм-ауте» 0 — тайм-аут не используется, вызов будет выполняться до тех пор, пока вызываемая система не вернет результат или ошибку |
| Формат обмена данными | Auto | Auto/ Json/ Xml | В каком формате сериализованные данные передаются/возвращаются из «1С:Предприятие» в коннектор. Xml с одержит сериализованные объекты Mobile SMARTS При работе через Web-коннектор используется Json, при работе через COM-соединение может использоваться как Xml, так и Json. Auto — формат определяется автоматически |
| Автоматический сброс зависших соединений | Нет | Да/ Нет | Только для COM-соединения. Если включено, происходит попытка завершения сеансов COM-соединения, которые долгое время неактивны (используется подключения к агенту сервера «1С:Предприятия») |
| Версия 1С | 8.3 | 8.1/ 8.2/ 8.3 | Только для COM-соединения. Версия COM-объекта для подключения к базе «1С:Предприятие» |
| Вести лог статистики вызовов | Нет | Да/ Нет | Если включено, данные о вызовах будут записываться в базу sqlite по пути <папка базы Mobile SMARTS>\Logs\StatCon<Дата>.sqlite |
| Время жизни неиспользуемого соединения | 30 | Произвольное число | Только для COM-соединения. Время в секундах, в течение которого неиспользуемое COM-соединение будет оставаться в пуле соединений. Если указать <= 0, по умолчанию используется 60. |
| Домен | - | Произвольное имя | Используется только для Web-подключения при Windows-авторизации. Имя домена. |
| Имя администратора кластера | - | Произвольное имя | Только для COM-соединения. Необходимо для подключения к агенту сервера «1С:Предприятия», если включен автоматический сброс зависших соединений. |
| Количество постоянных соединений | Произвольное число | Только для COM-соединения. Максимальное количество постоянных соединений в пуле. | |
| Количество резервных соединений | 0 | Произвольное число | Только для COM-соединения. Количество резервных соединений в пуле. |
| Максимальное число клиентов, ожидающее вызов 1С | 48 | Произвольное число | Только для COM-соединения. Максимальное число клиентов, ожидающее вызов 1С. Если значение превышено, вызов завершается с ошибкой. |
| Обработка драйвера | + | Произвольная строка | Только для COM-соединения. Имя обработки в конфигурации 1С или путь к внешней обработке. Функции вызываются из модуля обработки, и должны быть объявлены как экспортные. |
| Пар оль | - | Произвольная строка | Пароль пользователя 1С |
| Пароль администратора кластера | - | Произвольная строка | Только для COM-соединения. Необходимо для подключения к агенту сервера «1С:Предприятия», если включен автоматический сброс зависших соединений. |
| Пользователь 1С | - | Произвольная строка | Имя пользователя 1С |
| Тип авторизации | Default | Default/ Win | Только для Web-подключения Default— базовая http-авторизация Win— используется Windows-авторизация |
| Тип подключения | Менеджер COM-соединений | Менеджер COM-соединений/ Automation сервер/ Менеджер на каждое COM-соединение/ Web-connector | Менеджер на каждое COM-соединение — для подключения используется COM-объект v8x.ComConnector Automation сервер— для подключения используется COM-объект v8x.Application, Web-connector— используется http-подключение к базе 1С, опубликованной на web-сервере |
Коннектор «1С: Предприятие версии 7.7»
| Свойство | Заполняется автоматически |