При переходе на онлайн-кассы по требованиям 54-ФЗ возникает задача отправки электронного чека покупателю на номер телефона (SMS) или адрес электронной почты. В конфигурациях на платформе 1С:Предприятие 7.7 при работе с фискальными регистраторами линейки Пирит-1Ф часто возникает вопрос: как именно передать контакты покупателя в кассовую обработку обслуживания и каков общий механизм отправки.
Разберем подробно принципы взаимодействия кассы с ОФД, правильную структуру параметров и способы реализации передачи реквизитов покупателя из 1С 7.7.
Важно понимать разделение зон ответственности между учетной системой, кассовым аппаратом и оператором фискальных данных:
Сам фискальный регистратор не отправляет SMS или электронные письма самостоятельно — он лишь передает фискализированный Тег 1008 в ОФД.
Выясним причину, почему в типовых или старых обработках обслуживания (например, fr_pirit.ert) отправка контактов не работает «из коробки»:
Современные версии драйверов для фискальных регистраторов «Пирит» работают по стандарту подключаемого оборудования 1С и принимают чек в виде XML-пакета данных. Проанализируем, как в 1С 7.7 передаются эти реквизиты.
В XML-структуре чека внутри узла параметров Parameters указываются специальные атрибуты:
CustomerEmail — адрес электронной почты клиента.CustomerPhone — номер мобильного телефона клиента.Посмотрим на пример формирования строки XML-пакета в коде 1С 7.7:
// Формирование фрагмента XML-пакета для передачи в драйвер
СтрXML = "<CheckPackage>";
СтрXML = СтрXML + "<Parameters ";
СтрXML = СтрXML + "PaymentType=""1"" ";
СтрXML = СтрXML + "TaxVariant=""0"" ";
// Добавление контактов покупателя
Если ПустаяСтрока(ЭлПочтаКлиента) = 0 Тогда
СтрXML = СтрXML + "CustomerEmail=""" + СокрЛП(ЭлПочтаКлиента) + """ ";
КонецЕсли;
Если ПустаяСтрока(ТелефонКлиента) = 0 Тогда
СтрXML = СтрXML + "CustomerPhone=""" + СокрЛП(ТелефонКлиента) + """ ";
КонецЕсли;
СтрXML = СтрXML + "/>";
// Далее формируются позиции чека и итоги...
При вызове метода ProcessCheck (или СформироватьЧек) драйвер автоматически преобразует атрибуты CustomerEmail и CustomerPhone в фискальный Тег 1008.
Если используется прямое низкоуровневое подключение через библиотеку производителя PiritLib и службу-маршрутизатор ComProxy, передача выполняется на этапе открытия чека либо специальной командой записи реквизита до закрытия чека.
Для корректной работы важно убедиться, что:
ComProxy и внешняя компонента обновлены до релизов, поддерживающих онлайн-передачу тегов.Рассмотрим правила форматирования контактов, нарушение которых приведет к ошибке пробития чека на ККТ:
+79991234567 или 79991234567).client@mail.ru). Присутствие пробелов или недопустимых символов вызовет отказ драйвера или ОФД.Чтобы отправка успешно доходила до покупателя, необходимо проверить настройки в личном кабинете ОФД:
Если нет возможности доработать кассовую обработку обслуживания или приобрести платный пакет SMS у ОФД, можно реализовать отправку средствами самой 1С 7.7:
CDO.Message) или через сторонний SMS/мессенджер-шлюз по HTTP-запросу.