Автоматизация курьерской доставки требует мобильности и надежности. Использование смарт-терминалов «два в одном» (касса плюс эквайринг), таких как Aqsi 5, становится стандартом для выездной торговли. Однако при внедрении возникают вопросы: как передать заказы из «большой» 1С на мобильное устройство, как избежать ошибок при оплате картами и какие технические сложности могут возникнуть в процессе эксплуатации. Разберем эти аспекты подробно.
Прежде чем переходить к коду, проанализируем само устройство. Aqsi 5 — это компактная касса на базе Android со встроенным банковским терминалом и сканером штрихкодов. Рассмотрим ее основные преимущества, важные для интеграции с 1С:
1С:Мобильная касса), так и писать собственные решения с использованием API.Выделим три основных сценария взаимодействия 1С и мобильной кассы, которые наиболее эффективны в промышленной эксплуатации:
1С:Бухгалтерия, 1С:УНФ, 1С:Розница) через облачный сервис или напрямую.Для того чтобы курьер не подбирал товары вручную на маленьком экране, мы должны передать на устройство готовый объект заказа. Проанализируем структуру 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С с конкретным документом ЗаказПокупателя.
Для более динамичной работы, когда заказы могут меняться в режиме реального времени, лучше использовать REST API, предоставляемое производителем. Вместо записи файлов на FTP, 1С отправляет JSON-пакеты напрямую в облако Aqsi, откуда касса забирает их при обновлении списка заказов курьером.
Рассмотрим логику работы через API:
HTTPЗапрос и метод POST.Важный совет: Как показывает практика, сборку заказов лучше производить в 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. Проанализируем, чем Aqsi 5 отличается от этого решения. IRAS 900K — более громоздкое устройство, часто используемое в крупных сетях (например, М.Видео). Однако для малого и среднего бизнеса Aqsi 5 предпочтительнее за счет более современного Android, качественного сенсорного экрана и более простой процедуры настройки обмена с 1С без необходимости приобретения сложного стороннего софта (Inpas). В качестве альтернативного решения для мобильной торговли на смартфонах Android подойдёт приложение для кассовых операций по 54-ФЗ.
Подведем итог: Интеграция Aqsi 5 с 1С — это надежное решение для мобильной торговли, если правильно выбрать метод обмена. Использование API позволяет достичь максимальной автоматизации, а готовые решения типа 1С:Мобильная касса экономят время на разработку. Главное — заранее протестировать формат передачи налоговых ставок и обеспечить курьеров качественными каналами связи.