Как правильно оформить печать чека для маркированного товара в 1С Розница и сократить его длину?

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

Приветствуем вас! Сегодня мы рассмотрим актуальную и важную тему, касающуюся работы с маркированными товарами в 1С Розница, а именно – как правильно оформить печать чека и, при необходимости, сократить его длину. Эта задача становится особенно актуальной с учетом последних изменений в законодательстве и стремления оптимизировать процесс обслуживания покупателей. Мы вместе разберем все нюансы, основываясь на полезных сообщениях с форумов и дополнительной информации.

Решение 1: Сокращение длины бумажного чека для маркированного товара

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

Давайте подробнее рассмотрим, что это означает и как это реализовать.

  1. Законодательная основа:

    Основанием для таких изменений стал Приказ Федеральной налоговой службы от 12 апреля 2023 г. № ЕД-7-20/239@ “О внесении изменений в приложение № 2 к приказу Федеральной налоговой службы от 14.09.2020 № ЕД-7-20/662@”. Этот документ дополнил старые нормы пунктом 25, который гласит:

    «25) В случае если ФД в печатной форме, формируемый ККТ в режиме передачи данных, должен содержать два или более реквизита «предмет расчета» (тег 1059), которые имеют идентичные значения всех реквизитов, входящих в состав этих реквизитов «предмет расчета» (тег 1059), за исключением реквизита «код товара» (тег 1163) и реквизита «контрольный код КМ» (тег 2115), то такие реквизиты «предмет расчета» (тег 1059) в печатной форме ФД допускается объединять в один реквизит «предмет расчета» (тег 1059), за исключением ФД в электронной форме. Такой объединенный реквизит «предмет расчета» (тег 1059) должен включать в свой состав все реквизиты, предусмотренные настоящими ФФД, за исключением того, что этот реквизит: должен содержать реквизит «количество предмета расчета» (тег 1023), «стоимость предмета расчета с учетом скидок и наценок» (тег 1043) и «сумма НДС предмета расчета» (тег 1200), содержащий суммарные значения для всех реквизитов «предмет расчета» (тег 1059), сведения о которых включаются в состав этого объединенного реквизита «предмет расчета» (тег 1059); может не включать в свой состав реквизит «контрольный код КМ» (тег 2115).»

    На пальцах: мы можем объединять и маркированные товары в бумажном чеке, но в этом случае контрольный код КМ (тег 2115) должен быть пустым для объединенной строки.

  2. Как это работает технически?

    Важно понимать, что схлопывать можно только в БУМАЖНОМ чеке. В ОФД и далее в систему "Честный ЗНАК" информация о каждом маркированном товаре с его уникальным кодом должна передаваться отдельно. Это означает, что 1С по-прежнему должна формировать чек с отдельными строками на каждую позицию маркированного товара. А вот уже сам кассовый аппарат, если его микропрограмма это предусматривает, должен "свернуть" эти строки для печати.

    Это требует от кассового аппарата поддержки формата фискальных данных 1.2 (ФФД 1.2) и возможности принимать из 1С чек с отдельными строками, но выводить на печать его в свернутом виде. Фактически, это функция самого ККТ, а не 1С. Софт верхнего уровня (1С) может передавать лишь команду или параметр на эту операцию, если ККТ поддерживает такую возможность.

    Что нужно сделать:

    1. Проверить ККТ: Убедитесь, что ваш кассовый аппарат поддерживает ФФД 1.2 и имеет функцию сворачивания позиций маркированного товара для печати.
    2. Обновить прошивку ККТ: Возможно, потребуется обновление прошивки кассового аппарата до последней версии, которая включает эту функциональность.
    3. Настройка в 1С: В 1С, как правило, не требуется глобальных изменений для отправки данных в ОФД, так как она по-прежнему отправляет каждую позицию отдельно. Если ККТ поддерживает команду на сворачивание, возможно, потребуется небольшая доработка в процедуре ПередПечатью (если такая процедура есть в используемом драйвере или обработке обслуживания ККТ) для передачи этого параметра.

    Пример логики (псевдокод для понимания):

    
    // В процедуре подготовки чека для ККТ
    МассивСтрокЧека = Новый Массив;
    Для Каждого СтрокаТовара Из ДанныеЧека.Товары Цикл
        Если СтрокаТовара.ЭтоМаркированныйТовар И СтрокаТовара.Количество > 1 Тогда
            // Если ККТ поддерживает сворачивание, можно добавить признак
            // или передать как отдельные строки, а ККТ сама свернет
            Если ККТ.ПоддерживаетСворачиваниеМаркировки Тогда
                СтрокаДляККТ = Новый Структура;
                СтрокаДляККТ.Вставить("Наименование", СтрокаТовара.Наименование);
                СтрокаДляККТ.Вставить("Количество", СтрокаТовара.Количество);
                СтрокаДляККТ.Вставить("Цена", СтрокаТовара.Цена);
                СтрокаДляККТ.Вставить("СвернутаяСтрокаМаркировки", Истина); // Дополнительный параметр
                МассивСтрокЧека.Добавить(СтрокаДляККТ);
            Иначе
                // Передаем каждую единицу маркированного товара отдельной строкой
                Для Инд = 1 По СтрокаТовара.Количество Цикл
                    СтрокаДляККТ = Новый Структура;
                    СтрокаДляККТ.Вставить("Наименование", СтрокаТовара.Наименование);
                    СтрокаДляККТ.Вставить("Количество", 1);
                    СтрокаДляККТ.Вставить("Цена", СтрокаТовара.Цена);
                    СтрокаДляККТ.Вставить("КодМаркировки", СтрокаТовара.КодыМаркировки[Инд-1]);
                    МассивСтрокЧека.Добавить(СтрокаДляККТ);
                КонецЦикла;
            КонецЕсли;
        Иначе
            // Обычный товар или одна единица маркированного
            СтрокаДляККТ = Новый Структура;
            СтрокаДляККТ.Вставить("Наименование", СтрокаТовара.Наименование);
            СтрокаДляККТ.Вставить("Количество", СтрокаТовара.Количество);
            СтрокаДляККТ.Вставить("Цена", СтрокаТовара.Цена);
            Если СтрокаТовара.ЭтоМаркированныйТовар Тогда
                СтрокаДляККТ.Вставить("КодМаркировки", СтрокаТовара.КодМаркировки);
            КонецЕсли;
            МассивСтрокЧека.Добавить(СтрокаДляККТ);
        КонецЕсли;
    КонецЦикла;
    
    // Отправка МассивСтрокЧека в драйвер ККТ
    

    Это лишь пример логики, так как конкретная реализация будет зависеть от используемого драйвера ККТ и его возможностей.

Решение 2: Переход на электронные чеки по умолчанию

Еще один эффективный способ решения проблемы длинных чеков, особенно при большом количестве маркированных товаров, — это переход на электронные чеки по умолчанию. Это предусмотрено 54-ФЗ и является вполне законным решением.

Давайте разберем преимущества и порядок действий.

  1. Законодательная база и преимущества:

    Федеральный закон № 54-ФЗ предусматривает возможность отправки электронных чеков вместо бумажных. Основные условия:

    • Продавец обязан выдать клиенту чек.
    • Электронный чек можно отправить, если покупатель сообщил свой абонентский номер или адрес электронной почты до момента расчета.
    • Экономия: Значительная экономия на кассовой ленте, что особенно актуально при больших объемах продаж маркированного товара (например, при продаже фуры цемента, как было упомянуто в исходной теме).
    • Удобство для клиента: Электронный чек всегда под рукой, его сложнее потерять.
    • Экологичность: Сокращение использования бумаги.
  2. Порядок действий и настройки в 1С:

    Мы рассмотрим, как организовать работу с электронными чеками:

    1. Сбор контактных данных: На кассе необходимо предусмотреть возможность ввода номера телефона или адреса электронной почты покупателя. В типовых конфигурациях 1С Розница эта функциональность обычно присутствует.

      Например, в РМК (Рабочее Место Кассира) при закрытии чека часто появляется окно с предложением отправить электронный чек, где можно ввести данные клиента.

    2. Настройка ОФД: Ваш оператор фискальных данных (ОФД) должен быть настроен на отправку электронных чеков. Обычно это базовая услуга ОФД.
    3. Настройка 1С Розница:

      В 1С Розница необходимо проверить и, при необходимости, настроить параметры печати чеков. Перейдите в раздел Администрирование > Настройки ККТ > Подключаемое оборудование. Для вашей ККТ убедитесь, что установлены необходимые параметры для работы с электронными чеками. Также в настройках организации или пользователя кассы может быть опция "Печатать бумажный чек только по требованию".

      Пример настройки (общая логика):

      
      // В форме настроек ККТ или торгового оборудования
      // Должны быть параметры, управляющие печатью бумажного чека
      // Например, флажок "Печатать бумажный чек по умолчанию"
      // Или поле "Режим отправки чека": "Бумажный", "Электронный", "По выбору"
      
      // Пример кода, который может быть задействован при формировании чека:
      Если ПараметрыНастройкиКассы.ОтправлятьЭлектронныйЧекПоУмолчанию Тогда
          Если ЕстьКонтактныеДанныеПокупателя Тогда
              // Формируем команду для ККТ на отправку электронного чека
              // и не печатаем бумажный
              ДрайверККТ.ОтправитьЭлектронныйЧек(ДанныеЧека, КонтактныеДанные);
          Иначе
              // Если нет контактных данных, печатаем бумажный чек
              ДрайверККТ.НапечататьЧек(ДанныеЧека);
          КонецЕсли;
      Иначе
          // Печатаем бумажный чек по умолчанию
          ДрайверККТ.НапечататьЧек(ДанныеЧека);
          Если ЕстьКонтактныеДанныеПокупателя И ПокупательЗапросилЭлектронныйЧек Тогда
              ДрайверККТ.ОтправитьЭлектронныйЧек(ДанныеЧека, КонтактныеДанные);
          КонецЕсли;
      КонецЕсли;
      
    4. Сроки и способы отправки: Электронный чек должен быть отправлен не позднее следующего рабочего дня после оплаты. Отправка может осуществляться по SMS, на электронную почту или через мессенджеры.

Особенности работы с маркированными товарами в 1С

Мы также хотим обратить ваше внимание на некоторые важные моменты, касающиеся работы с маркированными товарами в 1С:

  1. Передача кодов маркировки: Коды маркировки при розничных продажах всегда передаются в составе чека ККТ через оператора фискальных данных (ОФД). Отсюда они поступают в систему "Честный ЗНАК" для вывода товара из оборота.

  2. Рабочее место "Обмен с ИС МП": В 1С для работы с системой маркировки предусмотрено специальное рабочее место "Обмен с ИС МП (обувь, одежда, табак…)". Здесь вы найдете функции для настройки, эмиссии и списания кодов маркировки, ввода и вывода маркированной продукции из оборота, а также перемаркировки.

  3. Вывод из оборота: При розничной реализации маркированного товара вывод кодов маркировки из оборота происходит автоматически через чеки ККМ. Данные о марках отправляются в ОФД, а затем в "Честный ЗНАК", где статус товаров меняется на "Выбыл".

  4. Частичное выбытие: Для некоторых видов маркируемой продукции (например, поштучная продажа сигар или продажа парфюмерии на разлив) предусмотрено частичное выбытие. В этом случае в чеке в поле количество указывается "1", а количество единиц товара и цена за единицу указываются справочно в наименовании товара. Код маркировки остается в обороте до полной продажи продукции из упаковки.

Мы надеемся, что это подробное руководство поможет вам эффективно решить проблему печати чеков для маркированного товара и оптимизировать работу вашей розничной точки. Помните, что своевременное обновление программного обеспечения 1С и прошивки ККТ, а также правильная настройка оборудования – ключ к успешной работе с маркировкой!

← К списку