Добрый день! В этой статье мы разберем довольно частую проблему, с которой столкнулись многие пользователи 1С:Управление торговлей (УТ) и Комплексной автоматизации (КА) после обновления на релизы, начиная примерно с 11.5.22.80. При попытке пробить чек на фискальном регистраторе, например, АТОЛ 30Ф, система выдает ошибку: "При печати чека произошла ошибка, чек не напечатан на фискальном устройстве (невозможно записать реквизит агента)". Давайте вместе выясним причины и найдем рабочие решения.
Проблема заключается в том, что после обновления конфигурации 1С начинает некорректно интерпретировать некоторые виды продаж, пытаясь передать в фискальный регистратор данные об агенте, даже если продажа таковой не является. Это особенно часто проявляется при использовании механизма передачи товаров между организациями ("Интеркампани") или при наличии на складе комиссионных товаров.
Прежде чем переходить к решениям, давайте проанализируем, почему система вдруг начала требовать реквизиты агента. Как выяснили пользователи на форуме и подтвердила поддержка 1С, корень проблемы кроется в изменении логики работы программы.
ДополнитьТекстЗапросаДаннымиКомитентаПоТоварам. Эта функция отвечает за добавление информации о комитенте в данные, отправляемые на ККТ, и именно ее "излишняя" активность приводит к ошибке при продаже не комиссионных товаров.Теперь, когда мы понимаем причины, давайте рассмотрим конкретные способы решения этой проблемы, от самых простых к более сложным.
Этот способ подойдет, если вы не хотите вмешиваться в код программы и готовы пересмотреть некоторые бизнес-процессы. Он основан на поиске и устранении первопричины, которая заставляет 1С считать продажу агентской.
Шаг 1. Проверьте статус товара.
Убедитесь, что товар, который вы пытаетесь продать, действительно является вашим собственным, а не комиссионным. Проверьте документы поступления и отчеты по остаткам. Если выяснится, что товар числится как принятый на комиссию, то ошибка ККТ правомерна. В этом случае необходимо либо корректно настроить передачу данных комитента, либо исправить учетные данные, если товар на самом деле собственный.
Шаг 2. Отключите настройки передачи товаров между организациями.
Это один из самых первых и действенных способов, который помог многим пользователям. Если вы используете схему "Интеркампани", но можете временно или насовсем от нее отказаться для розничных продаж, это может решить проблему.
Отключение этих настроек убирает механизм, который заставляет систему видеть в организации-продавце агента. Однако, этот способ не подходит, если межфирменные передачи являются неотъемлемой частью вашего бизнеса.
Шаг 3. Проверьте договоры с контрагентами.
Иногда в системе могут быть старые или ошибочно настроенные договоры с признаком комиссии. Проведите ревизию договоров, особенно тех, которые используются в документах продажи, чтобы исключить случайное указание агентской схемы.
Если предыдущие методы не подходят, так как вам необходимо сохранить и комиссионную торговлю, и механизм "Интеркампани", лучшим решением будет точечное вмешательство в код с помощью расширения конфигурации. Это позволит отключить проблемную логику, не затрагивая основную конфигурацию и сохраняя возможность обновления.
Суть метода — найти процедуру, которая добавляет данные о комитенте в чек, и закомментировать ее вызов.
Разберем по шагам, как это сделать:
ДополнитьТекстЗапросаДаннымиКомитентаПоТоварам. Вы обнаружите ее вызов в одном из общих модулей, отвечающих за работу с подключаемым оборудованием.ДополнитьТекстЗапросаДаннымиКомитентаПоТоварам. Нажмите на эту родительскую процедуру/функцию правой кнопкой мыши и выберите "Добавить в расширение".Примерно так будет выглядеть измененный код:
// ... какой-то код процедуры ...
// ДополнитьТекстЗапросаДаннымиКомитентаПоТоварам(Параметры); // <- Вот эту строку мы комментируем
// ... дальнейший код процедуры ...
Важно понимать: этот метод полностью отключает передачу данных о комитенте в чек. Если у вас есть реальные комиссионные продажи, которые должны фискализироваться с указанием поставщика, этот способ их "сломает". В таком случае потребуется более сложная доработка: не просто закомментировать строку, а добавить условие, при котором эта процедура будет вызываться только для действительно комиссионных товаров.
Проблемы, подобные этой, часто исправляются разработчиками в последующих обновлениях. Поэтому всегда стоит проверить:
Надеемся, один из предложенных способов поможет вам решить проблему с печатью чеков. Начинайте с самого простого — анализа данных, и если это не поможет, переходите к более технически сложному, но и более надежному решению с расширением.