DataMobile и 1С: обмен с ТСД через файлы, COM и HTTP-сервис

· 10 мин

Содержание

Чтобы подключить DataMobile к 1С, нужны три вещи: обработка обмена DataMobile в информационной базе, выбранный канал связи с ТСД (файлы, COM-соединение или опубликованный HTTP-сервис) и пользователь 1С с правами на чтение справочников и запись документов. Само приложение на терминале настраивается в последнюю очередь, когда 1С уже отдаёт данные.

Частая ошибка — начинать с телефона или терминала: ставить DataMobile, вбивать адрес сервера и потом долго выяснять, почему «нет связи». Чаще проблема не в ТСД, а в публикации базы, правах пользователя или брандмауэре. Поэтому порядок ниже идёт от 1С к устройству.

Какой способ интеграции DataMobile с 1С выбрать

Способ обмена зависит от редакции DataMobile и от того, как устроен склад. Офлайн-редакции работают с файлами заданий, онлайн-редакции обращаются к базе в реальном времени.

СпособКогда подходитЧто нужно со стороны 1ССлабое место
📁 Файловый обменНебольшой склад, инвентаризация, связь нестабильнаОбработка обмена, общая папка или USBДанные на ТСД устаревают между выгрузками
🔌 COM-соединениеПрограмма-посредник на ПК в той же локальной сетиЗарегистрированный comcntr.dll, WindowsТолько Windows, разрядность должна совпадать
🌐 HTTP-сервисОнлайн-проверка остатков и цен, несколько складов, работа по Wi-Fi или через интернетВеб-сервер (IIS или Apache), публикация базыНужна настройка веб-сервера и, желательно, HTTPS

💡 Если сомневаетесь, начните с файлового обмена. Он запускается за час и сразу показывает, правильно ли выгружаются номенклатура и штрихкоды. На онлайн-схему потом переходите уже с проверенными настройками.

Что подготовить до начала

  • 🧾 Версию платформы и конфигурации: откройте Справка → О программе. Обработка обмена DataMobile выпускается под конкретные типовые конфигурации (УТ 11, БП 3.0, КА 2, ERP, УНФ, Розница), и для сильно доработанной базы может понадобиться адаптация.
  • 👤 Отдельного пользователя 1С для обмена, например DataMobile. Не используйте учётную запись главного бухгалтера: в журнале регистрации потом не отличить ручные правки от загруженных с ТСД.
  • 🗂 Актуальную копию базы . Первую загрузку документов делайте в копии, а не в рабочей базе.
  • 📶 Адрес ПК или сервера в локальной сети, на котором будет работать обмен, и открытые порты в брандмауэре.
  • 📱 Сам ТСД с установленным DataMobile и активированной лицензией нужной редакции.

Права пользователя обмена

Пользователь должен читать номенклатуру, характеристики, штрихкоды, склады, цены и остатки и создавать документы, в которые загружаются данные с ТСД. В БП 3.0 и УТ 11 пользователи и группы доступа настраиваются в Администрирование → Настройки пользователей и прав.

Для HTTP-варианта дополнительно нужно, чтобы у пользователя была роль, разрешающая вызов HTTP-сервиса. Её обычно добавляет сама поставка обмена; если сервис отвечает кодом 403 или «Недостаточно прав», первым делом проверьте именно это.

Подключение DataMobile к 1С через COM в локальной сети

COM-соединение позволяет внешней программе на Windows открыть информационную базу 1С без интерфейса и читать или записывать данные. Такой вариант используют, когда обменом управляет программа-посредник на ПК, а ТСД синхронизируется с ней по Wi-Fi или кабелю.

Шаг 1. Зарегистрировать COM-компоненту

Компонента V83.COMConnector ставится вместе с платформой, но не всегда регистрируется. Запустите командную строку от имени администратора и выполните команду с путём к вашей версии платформы:

regsvr32 "C:\Program Files\1cv8\8.3.24.1548\bin\comcntr.dll"

Номер в пути замените на свой: он должен совпадать с версией, на которой работает база.

Разрядность компоненты должна совпадать с разрядностью программы, которая к ней обращается. 32-битная программа не увидит 64-битную comcntr.dll из C:\Program Files, ей нужна компонента из C:\Program Files (x86)\1cv8\.... Именно это даёт ошибку «Недопустимая строка с указанием класса».

Шаг 2. Собрать строку соединения

Строка подключения указывается в настройках программы-посредника. Для файловой и клиент-серверной базы она разная:

File="D:\Bases\Trade";Usr="DataMobile";Pwd="пароль";
Srvr="srv1c";Ref="trade";Usr="DataMobile";Pwd="пароль";
  • 📂 File — путь к каталогу файловой базы, а не к файлу 1Cv8.1CD.
  • 🖥 Srvr — имя сервера 1С, Ref — имя базы в кластере, как оно указано в консоли администрирования.
  • 🔑 Usr и Pwd — пользователь обмена из предыдущего раздела.

Шаг 3. Проверить соединение без DataMobile

Прежде чем винить приложение, убедитесь, что COM вообще работает. Самый быстрый тест — скрипт PowerShell от того же пользователя Windows, под которым будет работать обмен:

$c = New-Object -ComObject "V83.COMConnector"
$base = $c.Connect('File="D:\Bases\Trade";Usr="DataMobile";Pwd="пароль";')
$base.Метаданные.Имя

Если в ответ выводится имя конфигурации, COM настроен. Ошибка на первой строке — компонента не зарегистрирована или не та разрядность. Ошибка на второй — неверный путь, пользователь или пароль.

💡 Для файловой базы у пользователя Windows должны быть права на запись в каталог базы. Иначе соединение откроется, но запись документов упадёт с ошибкой блокировки.

Обмен DataMobile с 1С через HTTP-сервис

Онлайн-редакции DataMobile работают напрямую с базой: терминал отправляет запрос, 1С отвечает остатком, ценой или списком строк задания. Для этого базу нужно опубликовать на веб-сервере, а HTTP-сервис обмена должен быть в конфигурации или в расширении.

Шаг 1. Установить веб-сервер и модули расширения

На сервер, где будет публикация, нужны:

  1. IIS (роль Windows Server) или Apache 2.4.
  2. Компонент платформы «Модули расширения веб-сервера» — отмечается в установщике 1С.
  3. Для клиент-серверной базы — доступ веб-сервера к серверу 1С по сети.

Разрядность модуля расширения и веб-сервера должна совпадать, как и с COM.

Шаг 2. Опубликовать базу

  1. Запустите Конфигуратор от имени администратора Windows — без этого публикация не запишется в каталог веб-сервера.
  2. Откройте Администрирование → Публикация на веб-сервере.
  3. Укажите имя публикации латиницей, например trade, и каталог.
  4. Включите флажки публикации HTTP-сервисов, в том числе HTTP-сервисов расширений, если обмен поставлен расширением.
  5. Нажмите «Опубликовать». Для Apache после этого перезапустите службу.

Перезапуск Apache или IIS обрывает сеансы всех, кто работает с базой через веб-клиент. Делайте это вне рабочих часов или предупредите пользователей.

Шаг 3. Проверить адрес сервиса в браузере

Адрес HTTP-сервиса строится по шаблону:

http://<сервер>/<имя публикации>/hs/<корневой URL сервиса>/

Корневой URL смотрите в конфигураторе: ветка Общие → HTTP-сервисы, свойство «Корневой URL» у сервиса обмена. Откройте адрес в браузере на самом сервере, затем на другом компьютере в сети, затем с ТСД.

Ответ сервера сразу подсказывает, где проблема:

  • ✅ Окно ввода логина или ответ сервиса — публикация работает.
  • 🔒 401 — неверный пользователь или пароль либо пользователь не входит в список пользователей базы.
  • ❓ 404 — не опубликованы HTTP-сервисы, опечатка в имени публикации или корневом URL.
  • 💥 500 — ошибка в модуле сервиса; текст ищите в журнале регистрации базы за то же время.

Шаг 4. Настроить подключение на ТСД

В настройках подключения DataMobile указывается адрес публикации, логин и пароль пользователя обмена. Терминал должен быть в той же сети Wi-Fi, что и сервер, либо сервер должен быть доступен из интернета.

💡 Для работы через интернет используйте HTTPS с нормальным сертификатом и не открывайте наружу публикацию с пользователем, у которого полные права. Многие современные версии Android по умолчанию ограничивают незашифрованные HTTP-соединения для приложений.

Лицензии 1С при онлайн-обмене

Сеансы HTTP-сервисов учитываются как клиентские сеансы 1С и занимают клиентские лицензии. Пять терминалов, которые одновременно обращаются к базе, могут занять до пяти лицензий сверх пользователей за компьютерами.

Чтобы каждый запрос не открывал новый сеанс, в публикации используют повторное использование сеансов (параметр reuseSessions в файле default.vrd). Если обмен поставлен разработчиком готовым, сначала уточните, поддерживает ли его сервис такой режим.

Выгрузка справочников и НСИ из 1С на терминал

Нормативно-справочная информация — это то, без чего ТСД не узнает товар по штрихкоду: номенклатура, характеристики, упаковки, штрихкоды, склады, ячейки, цены. При файловом обмене она выгружается в файл, при онлайн-обмене терминал запрашивает её у базы.

Что выгружать обязательно

  • 📦 Номенклатуру с единицами измерения и упаковками.
  • 🏷 Штрихкоды. Проверьте, что они заведены в базе: в УТ 11 и КА они хранятся в отдельном регистре штрихкодов номенклатуры. Если штрихкодов нет в базе, ТСД будет показывать «товар не найден» на каждой позиции.
  • 🎨 Характеристики и серии, если по ним ведётся учёт.
  • 🏬 Склады и, при адресном хранении, ячейки.
  • 💰 Цены нужного вида: «Типы цен номенклатуры» в БП, «Виды цен» в УТ 11.

Как не перегрузить терминал

Справочник на 80 000 позиций выгружается и загружается на ТСД заметно дольше, чем на 5 000. Отбирайте только то, что реально лежит на складе:

  1. Ставьте отбор по складу или по группам номенклатуры.
  2. Не выгружайте помеченные на удаление элементы.
  3. Для онлайн-схемы выгружайте на ТСД только справочники, а остатки и цены пусть терминал запрашивает по скану.

💡 После первой выгрузки отсканируйте на ТСД 10–15 разных товаров: с характеристикой, весовой, в упаковке, без штрихкода. Это проверка, которая за 5 минут находит ошибки сопоставления, обнаруживаемые иначе только на инвентаризации.

Сопоставление полей

Если выгрузку настраивает интегратор или вы адаптируете обмен под доработанную базу, полезно сразу зафиксировать, какое поле 1С во что превращается на терминале:

Сопоставление полей
Номенклатура.Наименование→Название товара на ТСД
Штрихкод→Код для поиска при сканировании
Характеристика→Вариант товара
Упаковка (коэффициент)→Количество в одном скане
Склад→Место выполнения задания
Цена выбранного вида→Цена в карточке товара

Документы: задания на ТСД и результаты обратно в 1С

Обмен документами идёт в две стороны. Из 1С на терминал уходят задания — приходная накладная, заказ на сборку, инвентаризация. С терминала возвращаются фактически отсканированные количества.

Типовые сценарии

Операция на складеЧто отправляется на ТСДЧто возвращается в 1С
ПриёмкаОжидаемые строки поступленияФактическое количество, расхождения
Отбор и отгрузкаСтроки заказа или расходного ордераСобранное количество, серии, коды маркировки
ИнвентаризацияСписок товаров склада или пустоПересчитанные остатки
ПеремещениеСтроки документа перемещенияФактически перемещённое
Сбор штрихкодовПустоНовые штрихкоды для записи в базу

Как загружать результат

Результат с ТСД лучше загружать в новый документ или в табличную часть существующего непроведённого документа. Проводить его стоит после того, как кладовщик или бухгалтер сверил расхождения.

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

Статусы выполнения

В онлайн-режиме задание на ТСД проходит путь «отправлено → в работе → выполнено», и 1С видит, какой документ уже взят в работу. Конкретный набор статусов задаёт обработка обмена, так что ориентируйтесь на её форму, а не на общие схемы. Главное правило — одно задание держит один терминал: если два кладовщика берут один заказ, при загрузке количества сложатся.

Для товаров с маркировкой коды Честного знака сканируются на ТСД и возвращаются в документ вместе с количеством. Проверьте на тестовом документе, что коды попали в нужную табличную часть, до того как запускать отгрузку маркированного товара.

Перед запуском на рабочей базе
Выполнено: 0 / 6

Ошибки синхронизации DataMobile и 1С: где искать причину

Ошибки синхронизации почти всегда сводятся к одному из трёх уровней: сеть, 1С, данные. Идите по ним по очереди.

Диагностика: выберите симптом

Где смотреть подробности

  • 📜 Журнал регистрации базы: Администрирование → Обслуживание → Журнал регистрации в БП 3.0 и УТ 11. Отберите события по пользователю обмена.
  • 🖥 Для клиент-серверной базы — список сеансов в консоли администрирования кластера: видно, сколько сеансов открыли терминалы.
  • 🌐 Журналы веб-сервера (IIS или Apache): там видно, дошёл ли запрос с ТСД до сервера вообще.

Завершать сеансы терминалов из консоли кластера можно, но кладовщик потеряет несохранённые строки задания. Предупредите склад перед этим.

Частые вопросы

Можно ли подключить DataMobile к 1С без веб-сервера?
Да. Файловый обмен и вариант через COM работают без публикации базы. Веб-сервер нужен только для онлайн-обмена через HTTP-сервис.
Работает ли обмен с базой в облаке 1С:Фреш или у хостинг-провайдера?
COM к облачной базе недоступен. Онлайн-обмен возможен, если провайдер разрешает публикацию HTTP-сервисов и установку расширений; это надо уточнять у него.
Подойдёт ли обработка обмена для доработанной конфигурации?
Если доработки не меняют справочники номенклатуры, штрихкодов и складские документы — обычно да. Если изменены реквизиты или документы склада, обмен придётся адаптировать.
Нужно ли обновлять обработку обмена после обновления конфигурации?
После крупного обновления типовой конфигурации проверьте выгрузку и загрузку тестового документа. Если структура документов изменилась, понадобится новая версия обработки от разработчика.
Сколько терминалов можно подключить к одной базе?
Ограничение задают лицензии DataMobile на каждом ТСД и, при онлайн-обмене, клиентские лицензии 1С на одновременные сеансы.