Телефон и ТСД как рабочее место кладовщика и торгового агента: обмен с базой 1С

· 10 мин

Содержание

Синхронизировать 1С с телефоном можно тремя путями: подключить телефон к базе через мобильный клиент 1С, поставить отдельное мобильное приложение, которое обменивается с базой по HTTP, или открыть базу в браузере телефона через веб-клиент. Во всех трёх случаях база должна быть опубликована на веб-сервере и доступна телефону по адресу вида https://сервер/имя_базы.

Для мобильной торговли (заказы, остатки, цены у агента в поле) и для склада (приёмка, отбор, инвентаризация со сканером) выбор способа разный. Агенту нужна работа без связи и быстрый обмен раз в день. Кладовщику нужен онлайн и сканер, который сразу пишет в документ.

Три способа связать телефон с 1С: какой выбрать под торговлю и склад

Начните с архитектуры. От неё зависит, что публиковать на веб-сервере и какие права давать.

СпособКак работаетСвязьКогда выбирать
📱 Мобильный клиент 1СТелефон работает прямо с базой, как тонкий клиентНужна постоянноКонфигурация поддерживает мобильный клиент (например, БП 3.0, УНФ), склад с Wi-Fi
📦 Приложение на мобильной платформеСвоя маленькая база на телефоне, обмен пакетамиТолько в момент синхронизацииТорговые агенты, выездные сотрудники, плохая связь
🌐 Веб-клиент в браузереОбычный браузер, интерфейс 1СНужна постоянноРазово посмотреть остаток или отчёт
🔫 Готовое ПО для ТСДПрограмма на терминале сбора данных + модуль в 1СОнлайн или пакетамиМассовая приёмка и отбор, сотни строк в документе

Коротко о различиях:

  • 🔹 Мобильный клиент — ничего хранить на телефоне не нужно, данные всегда свежие. Но без интернета он не работает в типовых сценариях, а интерфейс тот же, что на ПК, просто ужат под экран.
  • 🔹 Мобильное приложение — данные лежат в локальной базе на телефоне. Агент оформляет заказы у клиента без сети, вечером жмёт «Синхронизировать», и заказы уходят в центральную базу. Обмен идёт через HTTP-сервисы или веб-сервисы.
  • 🔹 Веб-клиент — не требует установки, но на маленьком экране неудобен. Для ежедневной работы его не берут.
  • 🔹 ПО для ТСД — сторонние решения ставят агент на терминал и обработку или расширение в базу. Настройка обмена описана у разработчика, но публикация базы и права нужны те же.

Если на складе стоит Android-ТСД со встроенным сканером, его можно использовать и как обычный телефон с мобильным клиентом. Отдельное ПО окупается, когда документов много и нужны проверки «отсканировал не тот товар».

Публикация базы 1С на веб-сервере для обмена с телефоном

Телефон не умеет подключаться к серверу 1С по портам 1540–1541 и к файловой базе по сетевому пути. Ему нужен HTTP. Поэтому первый шаг — публикация.

Что установить

  1. Веб-сервер: IIS на Windows или Apache 2.4 (на Windows или Linux).
  2. Модули расширения веб-сервера 1С той же версии, что и платформа на сервере. Это отдельный компонент в установщике платформы — при установке отметьте его.
  3. Если база файловая — дайте пользователю, от имени которого работает веб-сервер, права на чтение и запись в каталог базы. Для IIS это обычно IUSR и группа IIS_IUSRS.

Публикация из Конфигуратора

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

Публикация из командной строки

На Linux и при повторяемой настройке удобнее утилита webinst из каталога bin платформы:

webinst -publish -apache24 -wsdir trade -dir "C:\Apache24\htdocs\trade" -connstr "Srvr=srv1c;Ref=trade;" -confpath "C:\Apache24\conf\httpd.conf"

Для IIS вместо -apache24 указывают -iis, параметр -confpath тогда не нужен. После публикации в каталоге появится файл default.vrd — в нём хранятся флажки публикации, его можно править вручную.

Проверка: откройте http://сервер/trade в браузере на компьютере. Должно появиться окно входа 1С. Если оно есть — веб-часть работает, можно идти дальше.

HTTP-сервисы и пользователь для синхронизации с телефоном

Мобильное приложение не ходит в базу «вообще». Оно обращается к конкретному HTTP-сервису по адресу:

https://сервер/trade/hs/<корневой URL сервиса>/<шаблон>

HTTP-сервис — объект конфигурации. Его создаёт разработчик в Конфигураторе: задаёт корневой URL, шаблоны адресов и методы GET и POST с обработчиками. В режиме 1С:Предприятие сервис уже не редактируют, там готовят условия, чтобы он работал.

Что сделать в режиме Предприятия

  1. Отдельный пользователь для обмена. В БП 3.0 и УНФ — Администрирование → Настройки пользователей и прав → Пользователи. Имя латиницей, например mobile_sync: кириллица в базовой HTTP-аутентификации у части приложений ломается.
  2. Аутентификация 1С:Предприятия с паролем. Без пароля на опубликованной в интернет базе работать нельзя.
  3. Права — только на те объекты, которые читает и пишет приложение: номенклатура, цены, остатки, контрагенты, заказы. Полные права обменному пользователю не давайте.
  4. Настройки самого решения. Типовые конфигурации и сторонние модули для ТСД обычно имеют свой раздел настроек мобильных рабочих мест: там регистрируют устройство, выбирают склад, тип цен, отбор контрагентов для агента. Ищите его в разделе администрирования или синхронизации данных вашей конфигурации.

Проверка сервиса без телефона

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

curl -i -u "mobile_sync:пароль" "https://сервер/trade/hs/<корневой URL>/<шаблон>"

Код ответа 200 — сервис отвечает. Коды 401, 404, 500 разобраны ниже в разделе про диагностику.

Сопоставление полей
Склад агента→Склад в настройках мобильного рабочего места
Тип цен прайса→Тип цен (БП) или вид цен (УТ)
Список клиентов агента→Отбор контрагентов по менеджеру
Заказ с телефона→Документ «Заказ покупателя» / «Заказ клиента»
Пользователь на телефоне→Пользователь информационной базы

Подключение телефона к 1С: мобильный клиент и мобильное приложение

Мобильный клиент

  1. Установите приложение «1С:Предприятие» из магазина приложений (Google Play, RuStore, App Store).
  2. Нажмите «Добавить» и выберите подключение к базе по адресу.
  3. Введите адрес публикации: https://сервер/trade.
  4. Введите логин и пароль пользователя 1С. Для сотрудника это его обычная учётная запись, а не обменный пользователь.
  5. Приложение скачает интерфейс и откроет базу.

Если приложение пишет, что конфигурация не поддерживает работу в мобильном клиенте, — проблема не в телефоне. Конфигурация должна быть подготовлена разработчиком под мобильный клиент. Типовые БП 3.0 и УНФ это умеют; для доработанной конфигурации спросите своего программиста.

Версия платформы на сервере и версия мобильного клиента должны быть совместимы. Мобильный клиент из магазина обновляется сам, а сервер у вас может отставать. При ошибке совместимости обновите платформу на сервере или поставьте подходящую сборку клиента.

Приложение на мобильной платформе

Сценарий торгового агента:

  1. Установите приложение для агента или кладовщика (типовое от 1С, отраслевое или стороннее).
  2. В настройках приложения укажите адрес сервиса синхронизации, логин и пароль обменного пользователя.
  3. Запустите первую синхронизацию. Она самая долгая: на телефон уходят справочники, цены и остатки.
  4. Дальше обмен идёт только изменениями. Агент жмёт «Синхронизировать» утром и вечером или включает автообмен по расписанию.

Первую выгрузку делайте по Wi-Fi. Справочник номенклатуры на 20–30 тысяч позиций с картинками по мобильной сети грузится долго и может оборваться по таймауту.

💡 Для агента ограничьте выгрузку: только его клиенты, только активная номенклатура, без картинок или с уменьшенными. Чем меньше пакет, тем меньше сбоев.

Сканер штрихкодов на телефоне и ТСД

Здесь три варианта, и они по-разному стыкуются с 1С.

СканерКак попадает кодЧто настроить
Камера телефонаМобильная платформа и мобильный клиент умеют вызывать сканирование камеройНичего, если конфигурация использует эту возможность; дать приложению доступ к камере
Встроенный сканер ТСД в режиме клавиатурыКод «печатается» в активное поле, как с клавиатурыВ настройках сканера ТСД включить вывод как клавиатуру, суффикс — Enter
Встроенный сканер ТСД через сообщения AndroidСканер передаёт код программе напрямуюРаботает со специализированным ПО для ТСД, настраивается по его инструкции

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

Типичные настройки сканера ТСД, которые проверяют первыми:

  • 🔸 Суффикс — Enter (или Tab, если так требует форма). Без него код вводится, но строка не подтверждается.
  • 🔸 Префикс — пустой, если 1С не ждёт служебный символ.
  • 🔸 Символы GS для кодов маркировки DataMatrix — должны передаваться, иначе код марки обрежется и не пройдёт проверку.
  • 🔸 Раскладка — английская. В русской раскладке буквы в коде маркировки превращаются в кириллицу.

Камера телефона годится для десятков сканирований в день. Для сотен — берите ТСД: у камеры фокусировка занимает секунду и больше, у лазерного или имиджерного модуля — доли секунды.

Bluetooth-сканер, сопряжённый с телефоном, тоже работает как клавиатура. Его настраивают так же: суффикс, раскладка, GS.

Синхронизация 1С с телефоном не работает: диагностика и ускорение обмена

Сначала определите, где ломается: в сети, на веб-сервере, в 1С или в приложении. Помогает тот же curl с компьютера и журнал регистрации 1С.

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

Как ускорить обмен

  • ⚡ Выгружайте изменения, а не всё целиком. Полную выгрузку оставьте для первой синхронизации и сброса.
  • ⚡ Остатки для агента выгружайте по его складам, а не по всем.
  • ⚡ Картинки номенклатуры — отдельным редким обменом или не выгружайте вовсе.
  • ⚡ Включите сжатие ответов на веб-сервере (gzip). JSON и XML сжимаются в разы.
  • ⚡ Не ставьте автообмен чаще, чем нужно: 50 агентов с обменом раз в минуту нагружают сервер сильнее, чем бухгалтерия.

Защита базы 1С при доступе с телефона через интернет

Опубликованная база видна всем, кто знает адрес. Защита строится в несколько слоёв.

  1. Только HTTPS. Пароль в базовой аутентификации по HTTP идёт почти открытым текстом. Порт 80 оставьте только для перенаправления на 443.
  2. Наружу только веб-сервер. Порты кластера 1С (1540, 1541 и диапазон рабочих процессов) и порт СУБД в интернет не открывайте.
  3. VPN для своих сотрудников. Если телефоны корпоративные, проще поднять VPN и вообще не публиковать базу в интернет.
  4. Отдельный пользователь для обмена с минимальными правами — описан выше.
  5. Сложные пароли у всех пользователей, которые входят с телефона. У сотрудника с «1234» базу можно перебрать.
  6. Ограничение по адресам, если у ТСД на складе статический IP: разрешите на веб-сервере доступ к публикации только с него.
  7. Потерянный телефон — сразу смените пароль пользователя или запретите ему вход. Для мобильного приложения сбросьте регистрацию устройства, если решение это поддерживает.

Не публикуйте с флажком тонкого клиента ту базу, которой нужны только HTTP-сервисы. Чем меньше опубликовано, тем меньше поверхность атаки.

Перед выдачей телефона сотруднику
Выполнено: 0 / 6

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

Можно ли синхронизировать 1С с телефоном, если база файловая?
Да. Файловую базу тоже публикуют на веб-сервере. Веб-сервер должен стоять на том же компьютере или иметь доступ к каталогу базы, а его учётной записи нужны права на запись в этот каталог.
Нужна ли отдельная лицензия 1С для телефона?
Да, мобильный клиент занимает клиентскую лицензию так же, как тонкий клиент. Мобильное приложение на своей платформе во время обмена обращается к базе через веб-сервер, и сеанс обмена тоже использует лицензию — уточните схему у поставщика решения.
Работает ли мобильный клиент на iPhone?
Да, приложение «1С:Предприятие» есть в App Store. Требования к публикации те же, но iOS строже к сертификатам: самоподписанный сертификат почти наверняка не пройдёт.
Можно ли обойтись без белого IP-адреса?
Можно, если телефоны подключаются через VPN к офисной сети или база размещена у провайдера с публичным адресом. Без одного из этих вариантов телефон снаружи до сервера не достучится.
Как часто синхронизировать данные торгового агента?
Обычно утром перед выездом (цены и остатки) и после последнего клиента (заказы). Если остатки быстро меняются, добавьте обмен в обед или включите автообмен раз в 30–60 минут.