Как интегрировать мобильную онлайн-кассу Aqsi 5 с 1С: возможности, проблемы и примеры реализации

Программист 1С v8.3 (Управляемые формы) Торговля и дистрибуция
← На главную

Автоматизация курьерской доставки требует мобильности и надежности. Использование смарт-терминалов «два в одном» (касса плюс эквайринг), таких как Aqsi 5, становится стандартом для выездной торговли. Однако при внедрении возникают вопросы: как передать заказы из «большой» 1С на мобильное устройство, как избежать ошибок при оплате картами и какие технические сложности могут возникнуть в процессе эксплуатации. Разберем эти аспекты подробно.

Особенности и возможности смарт-терминала Aqsi 5

Прежде чем переходить к коду, проанализируем само устройство. Aqsi 5 — это компактная касса на базе Android со встроенным банковским терминалом и сканером штрихкодов. Рассмотрим ее основные преимущества, важные для интеграции с 1С:

Способы интеграции с 1С

Выделим три основных сценария взаимодействия 1С и мобильной кассы, которые наиболее эффективны в промышленной эксплуатации:

  1. Использование приложения «1С:Мобильная касса»: Это самый простой путь. Приложение устанавливается непосредственно на Aqsi 5 и синхронизируется с типовыми конфигурациями (1С:Бухгалтерия, 1С:УНФ, 1С:Розница) через облачный сервис или напрямую.
  2. Прямое подключение как подключаемого оборудования: С помощью сертифицированного драйвера кассу можно подключить к стационарному компьютеру или ноутбуку по Wi-Fi. В этом случае 1С видит устройство как стандартную ККТ с передачей данных.
  3. Обмен через API или промежуточные файлы (FTP): Этот метод выбирают, когда нужно реализовать сложную логику, например, передачу маршрутных листов курьерам или специфическую работу с заказами. Рассмотрим этот вариант подробнее, так как именно он вызывает больше всего вопросов у разработчиков.

Реализация выгрузки заказов через XML

Для того чтобы курьер не подбирал товары вручную на маленьком экране, мы должны передать на устройство готовый объект заказа. Проанализируем структуру XML-файла, который можно использовать для обмена. Этот формат позволяет передать данные о клиенте, адресе и составе товаров с учетом налоговых ставок.

Ниже представлен пример реализации выгрузки заказа на языке 1С. Разберем его по шагам:


// Создаем объект записи XML и открываем файл для записи
ЗаписьXML = Новый ЗаписьXML;
ЗаписьXML.ОткрытьФайл(ИмяФайла, "UTF-8");
ЗаписьXML.ЗаписатьОбъявлениеXML();

// Формируем заголовок заказа с основными атрибутами
ЗаписьXML.ЗаписатьНачалоЭлемента("order");
ДобавитьАтрибут(ЗаписьXML, "type", ?(ЭтоПродажа, "sale", "reverse")); // Продажа или возврат
ДобавитьАтрибут(ЗаписьXML, "order_id", ИмяФайлаЗаказа);
ДобавитьАтрибут(ЗаписьXML, "address", СтруктураЗаказ.АдресДоставки);
ДобавитьАтрибут(ЗаписьXML, "client", СтруктураЗаказ.ИмяКлиента);
ДобавитьАтрибут(ЗаписьXML, "phone", СтруктураЗаказ.ТелефонКлиента);

// Переходим к заполнению табличной части товаров
Если СтруктураЗаказ.ТаблицаТовары.Количество() > 0 Тогда 
    ЗаписьXML.ЗаписатьНачалоЭлемента("goods");
    Для Каждого СтрокаТовар Из СтруктураЗаказ.ТаблицаТовары Цикл 
        ЗаписьXML.ЗаписатьНачалоЭлемента("item");
            ДобавитьАтрибут(ЗаписьXML, "name", СтрокаТовар.Имя);
            ДобавитьАтрибут(ЗаписьXML, "quantity", ФорматироватьПоТипу(СтрокаТовар.Количество, "н"));
            ДобавитьАтрибут(ЗаписьXML, "price", ФорматироватьПоТипу(СтрокаТовар.Цена, "а"));
            // Важный момент: идентификатор налоговой группы должен совпадать с настройками в кассе
            ДобавитьАтрибут(ЗаписьXML, "tax", ПолучитьИдентификаторНалога(СтрокаТовар.СтавкаНДС));
        ЗаписьXML.ЗаписатьКонецЭлемента(); // item
    КонецЦикла;
    ЗаписьXML.ЗаписатьКонецЭлемента(); // goods
КонецЕсли;

ЗаписьXML.ЗаписатьКонецЭлемента(); // order
ЗаписьXML.Закрыть();

В данном примере мы используем объект ЗаписьXML для последовательного формирования структуры. Обратите особое внимание на поле tax. Неправильная передача ставки НДС приведет к ошибке фискализации чека. Также рекомендуется передавать order_id, чтобы в дальнейшем сопоставить пробитый чек в 1С с конкретным документом ЗаказПокупателя.

Интеграция через API: современный подход

Для более динамичной работы, когда заказы могут меняться в режиме реального времени, лучше использовать REST API, предоставляемое производителем. Вместо записи файлов на FTP, 1С отправляет JSON-пакеты напрямую в облако Aqsi, откуда касса забирает их при обновлении списка заказов курьером.

Рассмотрим логику работы через API:

  1. Авторизация: 1С получает токен доступа в личном кабинете Aqsi.
  2. Формирование JSON: Подготавливается структура, аналогичная вышеописанной XML, но в формате JSON.
  3. Отправка HTTP-запроса: Используется объект HTTPЗапрос и метод POST.
  4. Обработка ответа: Система должна зафиксировать успешную передачу или обработать ошибку (например, если не заполнены обязательные поля адреса).

Важный совет: Как показывает практика, сборку заказов лучше производить в 1С или на ТСД, а на Aqsi отправлять уже финальный, проверенный список позиций. Это минимизирует время нахождения курьера у клиента и снижает вероятность ошибок ручного ввода.

Технические проблемы и способы их решения

При эксплуатации Aqsi 5 в связке с 1С пользователи часто сталкиваются с рядом проблем. Разберем причины и способы профилактики:

1. Потеря связи с Wi-Fi в спящем режиме.

Выясним причину: Android в целях экономии энергии может отключать сетевые модули. Для решения этой проблемы в настройках устройства необходимо разрешить работу Wi-Fi в спящем режиме или использовать SIM-карту с мобильным интернетом как резервный канал связи.

2. Проблемы с зарядкой и аккумулятором.

Проанализируем ситуацию: использование нештатных кабелей micro-USB может привести к медленной зарядке, из-за чего аппарат не успевает зарядиться за ночь. Рекомендуем использовать только оригинальные блоки питания, так как контроллер заряда чувствителен к вольтажу.

3. Работа с маркировкой (Честный ЗНАК).

Если вы продаете товары, подлежащие маркировке, необходимо убедиться, что версия ПО кассы и версия драйвера в 1С поддерживают тег 1162. Встроенная камера Aqsi 5 позволяет считывать DataMatrix, но для высокой скорости работы в условиях склада или при больших объемах лучше настроить передачу кодов маркировки из 1С сразу в заказ. Для организации работы кассы с маркированными товарами можно использовать решение для разрешительного режима «Честный ЗНАК» в 1С.

Сравнение с альтернативами (IRAS 900K)

В процессе выбора часто упоминается модель IRAS 900K. Проанализируем, чем Aqsi 5 отличается от этого решения. IRAS 900K — более громоздкое устройство, часто используемое в крупных сетях (например, М.Видео). Однако для малого и среднего бизнеса Aqsi 5 предпочтительнее за счет более современного Android, качественного сенсорного экрана и более простой процедуры настройки обмена с 1С без необходимости приобретения сложного стороннего софта (Inpas). В качестве альтернативного решения для мобильной торговли на смартфонах Android подойдёт приложение для кассовых операций по 54-ФЗ.

Подведем итог: Интеграция Aqsi 5 с 1С — это надежное решение для мобильной торговли, если правильно выбрать метод обмена. Использование API позволяет достичь максимальной автоматизации, а готовые решения типа 1С:Мобильная касса экономят время на разработку. Главное — заранее протестировать формат передачи налоговых ставок и обеспечить курьеров качественными каналами связи.

← На главную