Как правильно тестировать печать чеков в 1С и настраивать возвраты прошлых смен

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

При разработке и настройке торговых систем (АРМ кассира, интеграция с ККТ) часто возникает вопрос: как проверить корректность печати чеков, не создавая лишних записей в налоговой отчетности? Мы не можем просто так "пробивать" товары на боевой кассе, так как это приведет к расхождениям в кассовой дисциплине и необходимости объясняться с налоговыми органами. Разберем основные методики тестирования — от простейших манипуляций до использования специализированного оборудования и программных средств.

Метод 1: Тестовая операция «Продажа и возврат»

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

Для реализации этого метода мы выбираем товар с минимальной ценой (например, 1 копейка или 1 рубль) и проводим полную цепочку операции: открытие смены -> продажа -> печать чека прихода -> оформление возврата -> печать чека возврата прихода. Этот способ хорош тем, что позволяет проверить не только физическую печать на ленте, но и прохождение данных через ОФД (Оператора фискальных данных). Однако помните, что даже при последующем возврате эти операции попадают в отчетность, поэтому злоупотреблять ими на боевых фискальных накопителях не стоит.

Метод 2: Профессиональное тестирование с помощью МГМ

Если нам предстоит серьезная отладка сложной логики (например, распределение налогов по секциям, сложная скидочная система или маркировка), лучшим выбором станет использование МГМ (Макета Габаритного Массового). Посмотрим на его преимущества.

МГМ — это специальное устройство, которое внешне выглядит как обычный фискальный накопитель (ФН), но предназначено исключительно для разработчиков и сервисных инженеров. Основные отличия:

Метод 3: Использование программных эмуляторов 1С

Для задач, не связанных с проверкой физических узлов печатающего устройства, мы рекомендуем использовать встроенные программные средства. В современных версиях конфигураций 1С, использующих БПО (Библиотеку подключаемого оборудования), существует драйвер 1С:Эмулятор контрольно-кассовой техники.

Разберем, как это работает по шагам:

  1. Перейдем в раздел настроек торгового оборудования.
  2. Добавим новое устройство, выбрав тип «ККТ с передачей данных» и драйвер «1С:Эмулятор ККТ».
  3. Настроим параметры подключения. Вместо реального COM-порта программа предложит выводить результат на экран.
  4. Теперь при нажатии кнопки «Пробить чек» в 1С будет открываться графическое окно, полностью имитирующее бумажный чек.

Это идеальный способ для программиста отладить логику формирования XML-пакета, который передается драйверу ККТ. Мы можем проверить, правильно ли заполняются реквизиты покупателя, корректно ли рассчитан НДС и выводятся ли дополнительные текстовые поля в подвале чека.

Метод 4: Тестовые контуры ОФД и «песочницы»

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

В этом случае мы настраиваем кассу (с МГМ или в учебном режиме) на тестовые параметры ОФД (специальный Host и Port). Данные будут уходить на сервер оператора, и мы сможем увидеть их в личном кабинете «песочницы», убедившись, что все теги ФФД (Формата фискальных данных) переданы корректно.

Особенности возвратов «вчерашнего» товара в 1С:УТ 10.3

Рассмотрим конкретную проблему, упомянутую в обсуждении: печать чека возврата на товар, проданный в прошлую смену. В устаревших или самописных интерфейсах (АРМ кассира) часто встречается ограничение на поиск чеков только в текущей смене.

Выясним причину такого поведения. В типовой 1С:Управление торговлей 10.3 чеки за предыдущие дни переходят в статус «Архивный» после закрытия смены (обработки «Закрытие кассовой смены» и формирования документа «Отчет о розничных продажах»). Посмотрим, как правильно организовать процесс возврата:

  1. Для возврата товара из закрытой смены необходимо создать документ «Возврат товаров от покупателя».
  2. В качестве основания в этом документе выбирается либо сам «Чек ККМ» (если он сохранился в базе), либо продажа фиксируется вручную.
  3. В современных требованиях ФФД 1.05 и выше процедура возврата «день в день» и «после закрытия смены» для ККТ выглядит одинаково — формируется документ с признаком расчета Возврат прихода.

Если ваше самописное АРМ не видит вчерашние чеки, проанализируем код поиска документов. Скорее всего, в запросе стоит фильтр по текущей дате или по отсутствию архивного признака. Нам нужно расширить область поиска, чтобы кассир мог найти чек по номеру или штрих-коду за любой период.

Проверка обязательных тегов (Маркировка и Кассир)

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

Для глубокой проверки того, что именно ушло в ККТ, мы можем использовать утилиты производителей (например, «Тест драйвера Атол» или «Драйвер ККТ Штрих-М»). Эти программы позволяют прочитать «содержимое последнего документа» непосредственно из памяти аппарата, что дает 100% уверенность в результате тестирования.

Использование нефискального режима печати

Если ваша задача — только настроить красивый макет (шрифты, логотипы, отступы), воспользуйтесь режимом печати нефискальных документов. Большинство современных аппаратов позволяют печатать произвольный текст методом PrintText или PrintString через драйвер. Это не затрагивает ресурсы фискального накопителя и позволяет экономить чековую ленту (или использовать черновики), при этом полностью отлаживая визуальную составляющую чека.

Таким образом, для качественного тестирования мы рекомендуем комбинированный подход: программный эмулятор для отладки логики 1С, МГМ для проверки работы "железа" и тестовые контуры ОФД для контроля передачи данных в контролирующие органы.

← На главную