Как настроить отправку красивых электронных чеков на e-mail покупателя из 1С

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

В современной торговле, особенно в интернет-магазинах и розничных сетях с программами лояльности, отправка электронного чека покупателю — это не просто вежливость, а требование закона 54-ФЗ. Многие пользователи 1С задаются вопросом: как сделать так, чтобы чек на почте выглядел презентабельно, содержал логотип компании и был информативным? Разберем подробно технические и организационные аспекты этой задачи.

Нормативная база и форматы фискальных данных

Прежде всего, проанализируем ситуацию с точки зрения законодательства. Согласно 54-ФЗ, электронный чек полностью приравнивается к бумажному, если он содержит все обязательные реквизиты. На текущий момент актуальными являются форматы ФФД 1.05 и ФФД 1.2. Последний формат обязателен для продавцов маркированных товаров (честный знак) и изначально спроектирован с учетом передачи данных по электронным каналам связи.

Для того чтобы система поняла, куда именно отправлять документ, мы должны использовать специальный Тег 1008 (адрес электронной почты или номер телефона покупателя). Если этот тег заполнен в момент фискализации, обязанность по доставке чека может лечь как на оператора фискальных данных (ОФД), так и на саму организацию.

Вариант 1: Отправка чека силами ОФД (Стандартный путь)

Рассмотрим самый простой способ реализации. Большинство операторов (например, Платформа ОФД, Такском, Первый ОФД) автоматически рассылают чеки, если в полученных от кассового аппарата данных заполнен Тег 1008.

Как это работает в 1С:

  1. В рабочем месте кассира (РМК) конфигураций 1С:Розница или 1С:Управление торговлей при оформлении продажи необходимо заполнить поле «E-mail».
  2. При нажатии кнопки «Пробить чек» программа передает адрес в драйвер ККТ.
  3. Кассовый аппарат записывает почту в фискальный признак и передает данные в ОФД.
  4. ОФД, обнаружив заполненный адрес, генерирует письмо по своему шаблону.

Посмотрим на плюсы и минусы этого подхода. Главный плюс — надежность и отсутствие нагрузки на ваш почтовый сервер. Однако есть и нюансы: внешний вид такого чека стандартный для конкретного ОФД. Если вы хотите добавить логотип или рекламный баннер, выясним, предоставляет ли ваш оператор услугу «Брендированный чек». Часто это платная опция, позволяющая через личный кабинет ОФД настроить визуальное представление письма.

Вариант 2: Собственная HTML-верстка в 1С (Гибкий путь)

Если стандартный вид от ОФД категорически не подходит и вы хотите получить «чек как в крупных маркетплейсах», проанализируем возможность формирования письма средствами самой 1С. Этот метод требует программного вмешательства, но дает полный контроль над дизайном.

Для реализации нам потребуется перехватить событие после успешной записи в регистр сведений ФискальныеОперации. Именно в этом регистре в современных конфигурациях (начиная с БПО 2.0 и выше) хранятся данные в формате XML, на основе которых можно построить визуальную форму.

Рассмотрим пример логики формирования письма:


// Примерная логика формирования структуры письма
Функция СформироватьТекстЧекаHTML(ДанныеЧека)
    Текст = "<html><body>";
    Текст = Текст + "<h3>Благодарим за покупку!</h3>";
    Текст = Текст + "<p>Ваш чек № " + ДанныеЧека.НомерЧека + "</p>";
    
    // Цикл по товарам из XML фискальной операции
    Для Каждого СтрокаТовара Из ДанныеЧека.Товары Цикл
        Текст = Текст + "<div>" + СтрокаТовара.Наименование + " - " + СтрокаТовара.Сумма + " руб.</div>";
    КонецЦикла;
    
    Текст = Текст + "<br><a href='" + ДанныеЧека.СсылкаНаПроверку + "'>Проверить чек на сайте ФНС</a>";
    Текст = Текст + "</body></html>";
    Возврат Текст;
КонецФункции

При использовании этого метода важно помнить: если вы отправляете чек сами, не передавайте e-mail в Тег 1008 драйверу ККТ. В противном случае покупатель получит два письма: одно от вас (красивое) и одно от ОФД (стандартное), что может его запутать.

Работа с маркированными товарами (ФФД 1.2)

Выясним важную деталь для тех, кто торгует одеждой, обувью или парфюмерией. В формате 1.2 в чеке обязательно должны отображаться статусы проверки кодов маркировки. Если вы решите верстать HTML-шаблон самостоятельно, проанализируем структуру XML фискального ответа. Вам необходимо программно выводить символы [M+], [M] или [M-] рядом с каждой позицией. Отсутствие этих данных в электронном чеке приравнивается к нарушению правил торговли маркированной продукцией.

Использование механизма «Очередь чеков»

Разберем ситуацию, когда интернет-магазин пробивает сотни чеков в час. Прямая отправка письма в момент пробития может замедлить работу кассира. В последних версиях 1С:Розница 3.0 и 1С:ERP реализован механизм ОчередьЧеков.

Процесс выглядит следующим образом:

  1. Система фиксирует продажу и ставит задание на фискализацию в очередь.
  2. Фоновое задание пробивает чек на кассе.
  3. После получения подтверждения от ККТ другое регламентное задание анализирует наличие e-mail и инициирует отправку через встроенный почтовый профиль 1С.

Это позволяет избежать задержек, если почтовый сервер временно недоступен или интернет-соединение работает нестабильно.

Практические советы по верстке

Если вы решили «рисовать» чек в HTML, примите во внимание следующие рекомендации:

Таким образом, выбор между стандартным решением ОФД и собственной разработкой в 1С зависит от ваших маркетинговых задач. Для малого бизнеса достаточно возможностей ОФД, а для крупных сетей создание собственного узнаваемого шаблона в 1С станет отличным инструментом повышения лояльности клиентов.

← На главную