При пробитии электронного чека в конфигурациях 1С (например, 1С:Бухгалтерия 8.3 на базе Библиотеки подключаемого оборудования) программа формирует XML-пакет CheckPackage и передает его драйверу кассового аппарата (ККТ). Далее драйвер передает эти данные в фискальный накопитель и Оператору фискальных данных (ОФД). Распространенная проблема — СМС покупателю с чеком не приходит, либо ОФД отклоняет отправку, ссылаясь на неверный формат номера. Разберем подробнее, как передается атрибут CustomerPhone и как устранить эту техническую неполадку.
Согласно формату фискальных документов (ФФД) и техническим требованиям 1С к разработке драйверов подключаемого оборудования, реквизит телефона покупателя (тег 1008) передается в XML-пакете как текстовый атрибут CustomerPhone.
По общему стандарту ФНС для РФ номер должен иметь международный формат:
+7XXXXXXXXXX (знак "+" и ровно 11 цифр, без пробелов, тире и скобок).
Однако платформенный механизм 1С передает в XML зафиксированное текстовое значение «как есть». Если кассир вводит номер без кода страны или с разделителями, передаваемая строка может не соответствовать стандарту.
Проанализируем ситуацию, когда две одинаковые базы 1С с аналогичной кассовой техникой работают с разными ОФД, и в одном случае СМС уходит, а в другом — нет. Разница заключается во внутренней валидации на стороне оператора:
9XXXXXXXXX или 89XXXXXXXXX, автоматически очищает ее от лишних знаков и подставляет международный код +7 перед отправкой через SMS-шлюз.+7XXXXXXXXXX. Если номер передан без знака плюса или кода страны, сервис считает формат невалидным и отменяет отправку СМС.Чтобы точно узнать, в каком виде 1С отправляет данные драйверу кассы, не обязательно заходить в режим конфигуратора. Выполним диагностику через функционал подключаемого оборудования:
%AppData% или %ProgramData%. В лог-файле будет зафиксирован итоговый пакет CheckPackage со значением атрибута CustomerPhone.Рассмотрим варианты решения проблемы в зависимости от источника ошибки:
+7XXXXXXXXXX.+ или подставляла пустой атрибут CustomerPhone="+" при неполном вводе. Обновление интеграционной компоненты ККТ до актуального релиза решает эту проблему.CustomerPhone можно заполнять реквизит CustomerEmail для бесплатной и надежной доставки электронного чека на почту клиента.