Телефон и ТСД как рабочее место кладовщика и торгового агента: обмен с базой 1С
Содержание
Синхронизировать 1С с телефоном можно тремя путями: подключить телефон к базе через мобильный клиент 1С, поставить отдельное мобильное приложение, которое обменивается с базой по HTTP, или открыть базу в браузере телефона через веб-клиент. Во всех трёх случаях база должна быть опубликована на веб-сервере и доступна телефону по адресу вида https://сервер/имя_базы.
Для мобильной торговли (заказы, остатки, цены у агента в поле) и для склада (приёмка, отбор, инвентаризация со сканером) выбор способа разный. Агенту нужна работа без связи и быстрый обмен раз в день. Кладовщику нужен онлайн и сканер, который сразу пишет в документ.
Три способа связать телефон с 1С: какой выбрать под торговлю и склад
Начните с архитектуры. От неё зависит, что публиковать на веб-сервере и какие права давать.
| Способ | Как работает | Связь | Когда выбирать |
|---|---|---|---|
| 📱 Мобильный клиент 1С | Телефон работает прямо с базой, как тонкий клиент | Нужна постоянно | Конфигурация поддерживает мобильный клиент (например, БП 3.0, УНФ), склад с Wi-Fi |
| 📦 Приложение на мобильной платформе | Своя маленькая база на телефоне, обмен пакетами | Только в момент синхронизации | Торговые агенты, выездные сотрудники, плохая связь |
| 🌐 Веб-клиент в браузере | Обычный браузер, интерфейс 1С | Нужна постоянно | Разово посмотреть остаток или отчёт |
| 🔫 Готовое ПО для ТСД | Программа на терминале сбора данных + модуль в 1С | Онлайн или пакетами | Массовая приёмка и отбор, сотни строк в документе |
Коротко о различиях:
- 🔹 Мобильный клиент — ничего хранить на телефоне не нужно, данные всегда свежие. Но без интернета он не работает в типовых сценариях, а интерфейс тот же, что на ПК, просто ужат под экран.
- 🔹 Мобильное приложение — данные лежат в локальной базе на телефоне. Агент оформляет заказы у клиента без сети, вечером жмёт «Синхронизировать», и заказы уходят в центральную базу. Обмен идёт через HTTP-сервисы или веб-сервисы.
- 🔹 Веб-клиент — не требует установки, но на маленьком экране неудобен. Для ежедневной работы его не берут.
- 🔹 ПО для ТСД — сторонние решения ставят агент на терминал и обработку или расширение в базу. Настройка обмена описана у разработчика, но публикация базы и права нужны те же.
Если на складе стоит Android-ТСД со встроенным сканером, его можно использовать и как обычный телефон с мобильным клиентом. Отдельное ПО окупается, когда документов много и нужны проверки «отсканировал не тот товар».
Публикация базы 1С на веб-сервере для обмена с телефоном
Телефон не умеет подключаться к серверу 1С по портам 1540–1541 и к файловой базе по сетевому пути. Ему нужен HTTP. Поэтому первый шаг — публикация.
Что установить
- Веб-сервер: IIS на Windows или Apache 2.4 (на Windows или Linux).
- Модули расширения веб-сервера 1С той же версии, что и платформа на сервере. Это отдельный компонент в установщике платформы — при установке отметьте его.
- Если база файловая — дайте пользователю, от имени которого работает веб-сервер, права на чтение и запись в каталог базы. Для IIS это обычно
IUSRи группаIIS_IUSRS.
Публикация из Конфигуратора
- Запустите Конфигуратор от имени администратора Windows — иначе он не сможет записать настройки веб-сервера.
- Откройте
Администрирование → Публикация на веб-сервере. - Укажите имя публикации латиницей, например
trade. Это часть адреса. - Выберите веб-сервер и каталог.
- Отметьте нужные флажки:
Публиковать тонкий клиент и веб-клиент— нужен для мобильного клиента и браузера;Публиковать HTTP-сервисы по умолчанию— нужен мобильным приложениям, которые меняются данными через HTTP-сервисы;Публиковать Web-сервисы по умолчанию— если обмен построен на SOAP;Публиковать стандартный интерфейс OData— только если его использует ваше решение.
- Нажмите «Опубликовать» и перезапустите веб-сервер.
Публикация из командной строки
На 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С:Предприятие сервис уже не редактируют, там готовят условия, чтобы он работал.
Что сделать в режиме Предприятия
- Отдельный пользователь для обмена. В БП 3.0 и УНФ —
Администрирование → Настройки пользователей и прав → Пользователи. Имя латиницей, напримерmobile_sync: кириллица в базовой HTTP-аутентификации у части приложений ломается. - Аутентификация 1С:Предприятия с паролем. Без пароля на опубликованной в интернет базе работать нельзя.
- Права — только на те объекты, которые читает и пишет приложение: номенклатура, цены, остатки, контрагенты, заказы. Полные права обменному пользователю не давайте.
- Настройки самого решения. Типовые конфигурации и сторонние модули для ТСД обычно имеют свой раздел настроек мобильных рабочих мест: там регистрируют устройство, выбирают склад, тип цен, отбор контрагентов для агента. Ищите его в разделе администрирования или синхронизации данных вашей конфигурации.
Проверка сервиса без телефона
Прежде чем трогать телефон, вызовите сервис с компьютера. Так вы отделите проблемы базы от проблем приложения:
curl -i -u "mobile_sync:пароль" "https://сервер/trade/hs/<корневой URL>/<шаблон>"
Код ответа 200 — сервис отвечает. Коды 401, 404, 500 разобраны ниже в разделе про диагностику.
Подключение телефона к 1С: мобильный клиент и мобильное приложение
Мобильный клиент
- Установите приложение «1С:Предприятие» из магазина приложений (Google Play, RuStore, App Store).
- Нажмите «Добавить» и выберите подключение к базе по адресу.
- Введите адрес публикации:
https://сервер/trade. - Введите логин и пароль пользователя 1С. Для сотрудника это его обычная учётная запись, а не обменный пользователь.
- Приложение скачает интерфейс и откроет базу.
Если приложение пишет, что конфигурация не поддерживает работу в мобильном клиенте, — проблема не в телефоне. Конфигурация должна быть подготовлена разработчиком под мобильный клиент. Типовые БП 3.0 и УНФ это умеют; для доработанной конфигурации спросите своего программиста.
Версия платформы на сервере и версия мобильного клиента должны быть совместимы. Мобильный клиент из магазина обновляется сам, а сервер у вас может отставать. При ошибке совместимости обновите платформу на сервере или поставьте подходящую сборку клиента.
Приложение на мобильной платформе
Сценарий торгового агента:
- Установите приложение для агента или кладовщика (типовое от 1С, отраслевое или стороннее).
- В настройках приложения укажите адрес сервиса синхронизации, логин и пароль обменного пользователя.
- Запустите первую синхронизацию. Она самая долгая: на телефон уходят справочники, цены и остатки.
- Дальше обмен идёт только изменениями. Агент жмёт «Синхронизировать» утром и вечером или включает автообмен по расписанию.
Первую выгрузку делайте по Wi-Fi. Справочник номенклатуры на 20–30 тысяч позиций с картинками по мобильной сети грузится долго и может оборваться по таймауту.
💡 Для агента ограничьте выгрузку: только его клиенты, только активная номенклатура, без картинок или с уменьшенными. Чем меньше пакет, тем меньше сбоев.
Сканер штрихкодов на телефоне и ТСД
Здесь три варианта, и они по-разному стыкуются с 1С.
| Сканер | Как попадает код | Что настроить |
|---|---|---|
| Камера телефона | Мобильная платформа и мобильный клиент умеют вызывать сканирование камерой | Ничего, если конфигурация использует эту возможность; дать приложению доступ к камере |
| Встроенный сканер ТСД в режиме клавиатуры | Код «печатается» в активное поле, как с клавиатуры | В настройках сканера ТСД включить вывод как клавиатуру, суффикс — Enter |
| Встроенный сканер ТСД через сообщения Android | Сканер передаёт код программе напрямую | Работает со специализированным ПО для ТСД, настраивается по его инструкции |
Для мобильного клиента самый простой путь — режим эмуляции клавиатуры. Откройте в 1С поле поиска по штрихкоду или табличную часть документа, нажмите курсор в поле, сканируйте.
Типичные настройки сканера ТСД, которые проверяют первыми:
- 🔸 Суффикс — Enter (или Tab, если так требует форма). Без него код вводится, но строка не подтверждается.
- 🔸 Префикс — пустой, если 1С не ждёт служебный символ.
- 🔸 Символы GS для кодов маркировки DataMatrix — должны передаваться, иначе код марки обрежется и не пройдёт проверку.
- 🔸 Раскладка — английская. В русской раскладке буквы в коде маркировки превращаются в кириллицу.
Камера телефона годится для десятков сканирований в день. Для сотен — берите ТСД: у камеры фокусировка занимает секунду и больше, у лазерного или имиджерного модуля — доли секунды.
Bluetooth-сканер, сопряжённый с телефоном, тоже работает как клавиатура. Его настраивают так же: суффикс, раскладка, GS.
Синхронизация 1С с телефоном не работает: диагностика и ускорение обмена
Сначала определите, где ломается: в сети, на веб-сервере, в 1С или в приложении. Помогает тот же curl с компьютера и журнал регистрации 1С.
Как ускорить обмен
- ⚡ Выгружайте изменения, а не всё целиком. Полную выгрузку оставьте для первой синхронизации и сброса.
- ⚡ Остатки для агента выгружайте по его складам, а не по всем.
- ⚡ Картинки номенклатуры — отдельным редким обменом или не выгружайте вовсе.
- ⚡ Включите сжатие ответов на веб-сервере (gzip). JSON и XML сжимаются в разы.
- ⚡ Не ставьте автообмен чаще, чем нужно: 50 агентов с обменом раз в минуту нагружают сервер сильнее, чем бухгалтерия.
Защита базы 1С при доступе с телефона через интернет
Опубликованная база видна всем, кто знает адрес. Защита строится в несколько слоёв.
- Только HTTPS. Пароль в базовой аутентификации по HTTP идёт почти открытым текстом. Порт 80 оставьте только для перенаправления на 443.
- Наружу только веб-сервер. Порты кластера 1С (1540, 1541 и диапазон рабочих процессов) и порт СУБД в интернет не открывайте.
- VPN для своих сотрудников. Если телефоны корпоративные, проще поднять VPN и вообще не публиковать базу в интернет.
- Отдельный пользователь для обмена с минимальными правами — описан выше.
- Сложные пароли у всех пользователей, которые входят с телефона. У сотрудника с «1234» базу можно перебрать.
- Ограничение по адресам, если у ТСД на складе статический IP: разрешите на веб-сервере доступ к публикации только с него.
- Потерянный телефон — сразу смените пароль пользователя или запретите ему вход. Для мобильного приложения сбросьте регистрацию устройства, если решение это поддерживает.
Не публикуйте с флажком тонкого клиента ту базу, которой нужны только HTTP-сервисы. Чем меньше опубликовано, тем меньше поверхность атаки.