Отвалилась печать чеков после обновления УТ 10.3: как исправить ошибку ФН 231

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

Обновление конфигурации 1С:Управление торговлей, редакция 10.3 до актуальных релизов (начиная с 10.3.49.1 и выше) часто сопровождается техническими сложностями, связанными с переходом на новый формат фискальных данных ФФД 1.05. Одной из самых распространенных проблем является аннуляция чека с диагностическим сообщением «Ошибка ФН 231» при работе с кассовым оборудованием, в частности, популярными моделями АТОЛ 30Ф. Рассмотрим детально, почему это происходит и как восстановить работоспособность торговой точки.

Анализ причины ошибки ФН 231

Прежде всего, проанализируем саму суть ошибки. Код ошибки 231 в фискальных накопителях расшифровывается как «Неверная система налогообложения». Это означает, что данные о системе налогообложения (СНО), которые 1С передает в кассовый аппарат (тег 1055), не совпадают с теми СНО, которые зарегистрированы в самом фискальном накопителе (ФН).

До обновления на релиз 10.3.49.1 программа могла работать в режиме ФФД 1.0, где требования к передаче СНО были менее жесткими. В новом релизе логика формирования чека была переписана под требования ФФД 1.05. Теперь 1С более строго проверяет настройки учетной политики и складов, пытаясь передать конкретный код СНО в драйвер ККТ. Если в кассе прошит только ЕНВД, а программа по какой-то причине пытается отправить ОСН или УСН, чек будет немедленно аннулирован с ошибкой 231.

Проблема выбора СНО в учетной политике

Многие пользователи после обновления сталкиваются с «залипанием» интерфейса в настройках учетной политики. Разберем ситуацию: на вкладке «Налогообложение» невозможно снять галочку с одной системы налогообложения, чтобы выбрать другую (например, если организация перешла полностью на ЕНВД, а программа принудительно оставляет активным УСН или ОСН).

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

  1. Перейдите в меню «Операции» — «Регистры сведений».
  2. Найдите регистр «Учетная политика (налоговый учет)».
  3. Откройте запись для вашей организации и проверьте установленные значения напрямую в ресурсах регистра.
  4. Если интерфейс формы продолжает блокировать изменения, воспользуйтесь типовой обработкой «Групповая обработка справочников и документов» или напишите небольшой программный скрипт для очистки реквизитов записи регистра.

Обновление драйверов и обработки обслуживания

В процессе совместной работы по диагностике проблемы выясняется, что старые версии драйверов (например, АТОЛ 8.16) некорректно обрабатывают новые требования 1С. Рассмотрим шаги по обновлению программного обеспечения ККТ:

Для корректной работы с релизом 10.3.49.1 и выше необходимо использовать драйверы версии не ниже 9.12, а в идеале — 10.x. Однако просто установить драйвер в операционную систему недостаточно. Нужно обновить справочник «Обработки обслуживания» в самой 1С.

Проанализируем алгоритм обновления:

  1. Скачайте актуальный драйвер с сайта производителя (АТОЛ).
  2. В 1С перейдите в справочник «Подключаемое оборудование».
  3. Загрузите обновленную обработку обслуживания (файл формата .epf или встроенный макет), которая поддерживает работу с драйверами 9-й или 10-й версии.
  4. Убедитесь, что в настройках параметров ККТ правильно указана модель и версия протокола.

Изменение логики формирования суммы чека (Заказ покупателя vs ПКО)

Самое важное изменение, которое обнаружили технические специалисты, касается механизма формирования состава чека. Рассмотрим ситуацию: раньше при печати чека из документа «Приходный кассовый ордер» (ПКО), созданного на основании «Заказа покупателя», программа просто брала сумму из ПКО и пробивала её одной строкой как «Аванс» или «Оплата».

В новых релизах, согласно требованиям ФФД 1.05, 1С пытается выполнить полную детализацию чека. Это означает, что если ПКО привязан к Заказу, программа обращается к табличной части Заказа, вычисляет веса каждой товарной позиции относительно суммы оплаты и пытается передать в кассу полный перечень товаров с признаком способа расчета «Предоплата» или «Частичный расчет».

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

Временное решение: Как показывает практика, чек печатается без ошибок, если временно разорвать связь между ПКО и Заказом покупателя перед пробитием чека. В этом случае 1С не видит товарного состава и пробивает сумму ПКО одной строкой, что допустимо для авансовых платежей. После успешной печати чека связь с заказом можно восстановить для корректного ведения взаиморасчетов.

Техническая отладка процесса фискализации

Если вышеуказанные меры не помогли, программисту необходимо проанализировать ситуацию в отладчике. Рассмотрим, где именно формируются данные для передачи в драйвер. Основная логика сосредоточена в общем модуле ПодключаемоеОборудованиеУниверсальныйДрайверКлиент.

Разберем процедуру ФискализацияЧека. Поставим точку останова перед вызовом метода ОбъектДрайвера.СформироватьЧек. Нас интересует структура ДанныеЧека. Посмотрим на пример кода, который позволит нам увидеть передаваемую СНО:


// В общем модуле ПодключаемоеОборудованиеУниверсальныйДрайверКлиент
// Найдите место формирования параметров
Если ДанныеЧека.Свойство("СистемаНалогообложения") Тогда
    Сообщить("Передаваемая СНО в ККТ: " + ДанныеЧека.СистемаНалогообложения);
КонецЕсли;

// Проверьте соответствие типов: 
// 0 - ОСН, 1 - УСН доход, 2 - УСН доход-расход, 3 - ЕНВД и т.д.

Проанализируем содержимое переменной ДанныеЧека. Если вы видите, что там передается значение, не соответствующее вашей реальной системе налогообложения, необходимо проверить настройки Склада. В УТ 10.3 СНО для розницы часто определяется именно в карточке Склада (флаг «Является плательщиком ЕНВД»). Если документ реализации или ПКО оформлен по складу, где этот флаг не установлен, 1С будет игнорировать общую учетную политику организации и отправлять в чек ОСН/УСН.

Резюме и рекомендации

Для исправления ошибки ФН 231 в 1С:УТ 10.3.49.1 выполните следующие шаги:

  1. Проверьте настройки Склада: убедитесь, что для точек на ЕНВД стоит соответствующий флаг.
  2. Обновите драйвер АТОЛ до версии 10.x и соответствующую обработку обслуживания в 1С.
  3. Если используете предоплаты по Заказам, убедитесь, что СНО в Учетной политике совпадает с регистрацией ККТ.
  4. В случае экстренной необходимости пробить чек — временно очистите поле «Документ основание» в ПКО, пробейте чек и верните основание назад.

Помните, что переход на новые форматы фискальных данных требует актуализации не только конфигурации 1С, но и прошивки самого кассового аппарата. Если прошивка ККТ старше 2018 года, она может физически не поддерживать теги, которые пытается отправить обновленная 1С:Управление торговлей.

← На главную