В условиях активного развития выездной торговли, курьерской доставки и работы на удаленных торговых точках перед автоматизаторами часто встает задача организации мобильного рабочего места кассира. Одним из наиболее доступных и эффективных решений на рынке является мобильное приложение «1С:Мобильная касса». Однако при попытке подружить его с товароучетной системой 1С:Управление торговлей (особенно ранних версий или кастомизированных конфигураций) специалисты часто сталкиваются с техническими сложностями.
В рамках этой статьи мы подробно разберем, как функционирует данное мобильное приложение, каким образом можно реализовать его интеграцию с 1С:Управление торговлей (как на управляемых формах УТ 11, так и на обычных формах УТ 10.3), а также детально рассмотрим нюансы подключения торгового оборудования по беспроводным каналам связи.
Для понимания принципов настройки системы сначала проанализируем архитектуру взаимодействия мобильного устройства с основной информационной базой. Приложение способно функционировать в двух ключевых режимах:
Печать фискальных чеков при этом происходит непосредственно на месте совершения сделки. Мобильное устройство отправляет команду на печать на подключенный фискальный регистратор (например, АТОЛ 11Ф) по Bluetooth, Wi-Fi или через USB-OTG кабель.
В типовом функционале старых релизов «1С:Мобильная касса» позиционировалась как сателлит для конфигурации 1С:Розница. Если ваша конфигурация 1С:Управление торговлей не поддерживает бесшовную интеграцию из коробки (например, используются релизы УТ 11 младше 11.4.13), задачу обмена можно решить адаптацией механизмов обмена.
Рассмотрим по шагам, как построить логику обмена без создания сложного распределенного плана обмена (РИБ):
Шаг 1. Использование методов из конфигурации «1С:Розница»
Поскольку внутренняя структура обмена мобильной кассы во многом унифицирована с 1С:Розница, программисты могут заимствовать готовые программные методы интеграции. Нам не обязательно переносить весь план обмена. Достаточно реализовать выгрузку структуры номенклатуры и цен, а также загрузку документов продаж через API.
Шаг 2. Разработка веб-сервиса на стороне УТ
Для обмена в реальном времени оптимально опубликовать на веб-сервере (IIS или Apache) HTTP-сервис или Web-сервис. Ниже приведен пример концептуального кода на языке 1С для выгрузки номенклатурных позиций, привязанных к конкретным заказам покупателей, что крайне полезно для работы курьерской службы:
// Функция формирует структуру данных для мобильного приложения
Функция ПолучитьДанныеДляМобильнойКассы(МассивЗаказов) Экспорт
РезультатВыгрузки = Новый Массив;
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ЗаказКлиентаТовары.Номенклатура КАК Номенклатура,
| ЗаказКлиентаТовары.Номенклатура.Код КАК Код,
| ЗаказКлиентаТовары.Номенклатура.Наименование КАК Наименование,
| ЗаказКлиентаТовары.Цена КАК Цена,
| ЗаказКлиентаТовары.Количество КАК Количество
|ИЗ
| Документ.ЗаказКлиента.Товары КАК ЗаказКлиентаТовары
|ГДЕ
| ЗаказКлиентаТовары.Ссылка В(&МассивЗаказов)";
Запрос.УстановитьПараметр("МассивЗаказов", МассивЗаказов);
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
ТоварСтруктура = Новый Структура;
ТоварСтруктура.Вставить("Code", Выборка.Код);
ТоварСтруктура.Вставить("Name", Выборка.Наименование);
ТоварСтруктура.Вставить("Price", Выборка.Цена);
ТоварСтруктура.Вставить("Quantity", Выборка.Количество);
РезультатВыгрузки.Добавить(ТоварСтруктура);
КонецЦикла;
// Сериализация в JSON для передачи через HTTP-сервис
ЗаписьJSON = Новый ЗаписьJSON;
ЗаписьJSON.УстановитьСтроку();
ЗаписатьJSON(ЗаписьJSON, РезультатВыгрузки);
Возврат ЗаписьJSON.Закрыть();
КонецФункции
Шаг 3. Использование расширений конфигурации
Чтобы не снимать конфигурацию 1С:Управление торговлей с поддержки, весь код интеграции, HTTP-сервисы и обработчики объектов рекомендуется размещать в расширении конфигурации. Это позволит беспрепятственно обновлять основную базу УТ при изменении законодательства.
Если ваше предприятие по-прежнему работает на платформе 1С прошлых поколений (обычные формы, редакция 10.3), настроить обмен также возможно. В данном случае обмен реализуется в одну сторону: из УТ 10.3 в мобильное приложение выгружаются оформленные заказы покупателей.
Разберем специфику этой настройки:
Одним из важнейших практических вопросов является сопряжение мобильного приложения с фискальным регистратором на выезде. Рассмотрим этот процесс на примере популярного устройства АТОЛ 11Ф.
Выясним по шагам, как происходит физическое и программное подключение оборудования:
0000 или 1234).Если вы планируете использовать проводные сканеры штрихкодов (как, например, модель WNC 5083v), подключенные через USB-OTG кабель, обратите внимание на режим работы сканера. Если при подключении сканер не считывает коды в приложение, выполните его сброс к заводским настройкам и переведите его в режим эмуляции клавиатуры (режим USB-HID), отсканировав соответствующий служебный штрихкод из инструкции к сканеру. В приложении 1С в качестве драйвера следует выбрать 1С:Устройство ввода.
Рассмотрим подробнее, как развивалось решение «1С:Мобильная касса» со временем. В актуальных версиях программных продуктов 1С необходимость в сложных самописных обменах для типовых конфигураций практически отпала.
Современная архитектура обмена базируется на универсальном формате Enterprise Data. Этот формат поддерживается «из коробки» в следующих конфигурациях:
1С:Управление торговлей 11 (начиная с версий 11.4.13 и выше);1С:Комплексная автоматизация 2 и 1С:ERP;1С:Управление нашей фирмой (УНФ);1С:Бухгалтерия 8.Если вы используете актуальные версии данных программ, интеграция настраивается стандартным помощником подключения мобильных приложений. Для обхода проблемы отсутствия выделенного внешнего «белого» IP-адреса на сервере офиса разработчики рекомендуют использовать связку через облачный сервис 1С:Касса. В этом сценарии мобильное приложение синхронизируется с облаком, а облако, в свою очередь, обменивается данными с локальной базой 1С:Управление торговлей.
Кроме того, современные версии «1С:Мобильная касса» поддерживают такие важные технологии, как:
Таким образом, использование «1С:Мобильной кассы» в связке с учетными решениями линейки 1С позволяет оперативно развернуть мобильную торговлю любой сложности — от простой схемы ручного обмена файлами до полностью автоматизированных распределенных систем реального времени.