Подключение к базе Mobile SMARTS с сервера 1С

Последние изменения: 17.03.2021

Вступление

При работе с базой 1С в ручном (интерактивном) режиме запуск основной обработки 1С и исполнение кода происходит в локальном контексте на той машине, где запускается основная обработка (кроме работы в браузере, там всегда на сервере). Также и весь обмен происходит между данным рабочим местом и базой Mobile SMARTS, и это значит, что между рабочим местом и базой Mobile SMARTS всегда должна быть сетевая доступность.Также интерактивно можно всегда работать и с сервера (данный параметр переключается в настройках подключения к базе Mobile SMARTS), и тогда сетевая доступность необходима между сервером 1С и базой Mobile SMARTS.

Интерактивная работа через браузер в базе 1С возможна только в контексте сервера 1С с доступностью cервер 1С --> база Mobile SMARTS.

При работе в онлайн-режиме выполнение кода всегда происходит на сервере 1С, так как нет никакой оболочки, которая бы передавала данные с клиента 1С на сервер 1С и обратно. Поэтому для работы в онлайн-режиме обязательно требуется доступность сервер 1С --> база Mobile SMARTS.

Возможные проблемы

  1. В оффлайн-режиме всё работает, но не работают онлайн-вызовы с ТСД и в журнал регистрации записывается, что нет соединения с базой Mobile SMARTS. При проверке соединения с сервера в настройках подключения основной обработки отображается сообщение, что база Mobile SMARTS недоступна.

  2. Работает получение списка документов в онлайн-режиме, но справочников товаров, складов и контрагентов и т. д. в онлайне не видно, а в журнале регистрации отображается сообщение об ошибке подключения интеграционной обработки.

Причины

  1. Онлайн-коннектор из базы Mobile SMARTS подключается к базе 1С от имени пользователя, для которого не были указаны настройки подключения к базе Mobile SMARTS.

  2. Нет сетевой доступности с сервера 1С к базе Mobile SMARTS:

    • закрыты порты на ПК с базой Mobile SMARTS (по умолчанию 10501, 10502, 9000) — их нужно открыть в брандмауэре;
    • между сервером 1С и базой Mobile SMARTS нет прямого маршрута (нужно делать пробросы портов и открывать порты на ПК с базой Mobile SMARTS).

Схема онлайн-обмена

Подробнее читайте в статье «Схема обмена Mobile SMARTS с учетной системой на платформе «1С: Предприятие» в онлайн-режиме»

Чтобы понять причину проблемы, достаточно взглянуть на вышеуказанную схему. Чтобы 1С могла ответить онлайн-запрос, необходимо чтобы сервер 1С мог подключаться к базе Mobile SMARTS.

Решение проблем (ошибки #ONLEX002 и #ONLEX003)

Проблема №1. В оффлайн-режиме всё работает, но не работают онлайн-вызовы с ТСД и в журнал регистрации записывается, что нет соединения с базой Mobile SMARTS. При проверке соединения с сервера в настройках подключения основной обработки отображается сообщение, что база Mobile SMARTS недоступна.

На мобильном устройстве отображается сообщение с кодом ошибки #ONLEX003.

Решение:

  1. Открыть порты базы, сервера, http и https (если используется) в брандмауэре на ПК, где установлена база Mobile SMARTS (по умолчанию это порты: 10501, 10502, 9000).

  2. Если сервер 1С и база Mobile SMARTS находятся в разных подсетях, необходимо проверить и настроить доступность между ними (маршрутизацию).

  3. Если подключение с сервера 1С происходит через Интернет, то на фирме (в офисе) на роутере нужно сделать проброс портов базы и сервера Mobile SMARTS на локальный ip-адрес той машины, где располагается база Mobile SMARTS (по умолчанию порты: 10501, 10502, 9000).

  4. Указать в основной обработке в настройках подключения к базе Mobile SMARTS адрес, который доступен с сервера 1С. Это внешний или внутренний IP, по которому будет доступна база Mobile SMARTS с сервера 1С.

  5. Проверить доступность базы Mobile SMARTS в настройках подключения в основной обработке.

Проблема №2. Работает получение списка документов в онлайн-режиме, но справочников товаров, складов и контрагентов и т. д. в онлайне не видно, а в журнале регистрации отображается сообщение об ошибке подключения интеграционной обработки. На мобильном устройстве отображается сообщение с кодом ошибки  — #ONLEX002.

Описание: проблема аналогична первой: если в онлайн-режиме всё исполняется на сервере, и если интеграционная обработка подключена из папки с базой, а сервер 1С не располагается там же где и база Mobile SMARTS, то интеграционную обработку нельзя получить по локальному пути, так как её там нет в контексте сервера 1С.

Решение:

  1. Проверить доступность интеграционной обработки по тому пути, который указан в настройках основной обработки в контексте сервера 1С одним из доступных вариантов:

    • Добавить её в справочник дополнительных отчетов и обработок (БСП) и настроить в основной обработке работу с интеграционной обработкой из справочника дополнительных отчетов и обработок.
    • Добавить её прямо в конфигурацию 1С и настроить в основной обработке работу с интеграционной обработкой из встроенной в конфигурацию обработки.
    • Положить обработку в сетевую папку, у которой будет доступность как для клиентов (рабочих мест), так и с сервера 1С.
  2. Поместить интеграционную обработку в папку по тому же локальному пути, чтобы при обращении сервер 1С мог её найти. И постоянно актуализировать её версию.

Подробнее читайте в информации об интеграционной обработке.

Формат онлайн-обмена Xml/ Json (ошибка #ONLEX004)

В некоторых случаях может возникать ошибка, связанная с несовпадением форматов обмена данными на серверах 1С и Mobile SMARTS (код ошибки на ТСД — #ONLEX004).

Данная проблема возникает из-за невозможности работать на сервере 1C через формат данных xml, отправляемый сервером Mobile SMARTS при настроенной работе через REST API (в настройках подключения базы). Формат обмена данными определяется при запуске коннектора или сервера Mobile SMARTS, и если в момент определения формата обработка или расширение не были подключены, коннектор решит, что современный формат обмена данными через Json не поддерживается и выберет Xml. Чтобы решить эту проблему (установить правильный формат обмена данными), необходимо перезапустить коннектор через панель управления или перезагрузить службу сервера Mobile SMARTS. Если это не помогло, то потребуется установить формат обмена данными через Json вручную.

Серверу 1С не удается создать COM-компоненту Mobile SMARTSМ (ошибка #ONLEX005)

В некоторых случаях может возникать ошибка, связанная с отсутствием на сервере 1С установленной платформы Mobile SMARTS, что необходимо для обработки данных в фомате XML (код ошибки на ТСД — #ONLEX005).

Чтобы устранить данную ошибку, используйте REST обмен в настройках подключения в основной обработке под онлайн-пользователем 1С. После этого перезапустите службу Mobile SMARTS. Если использование REST обмена невозможно, то установите платформу Mobile SMARTS на компьютер (машину) с установленным сервером 1С, либо на все машины, из которых состоит кластер сервера 1С.

Если данная инструкция не помогла вам решить возникшие проблемы, то отправьте заявку в службу технической поддержки «Клеверенс», приложив описание схемы подключения базы Mobile SMARTS к серверу 1С.