Как исправить ошибку заполнения параметров пробития чека для маркированных товаров в 1С:Розница.Аптека?

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

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

Анализ корневой причины проблемы

Проанализируем ситуацию: почему при обновлении конфигурации с версии 2.3.5.35 на 2.3.6.27 механизм пробития чека дает сбой именно на лекарственных препаратах? Основная причина кроется в изменении структуры данных и механизмов взаимодействия с Библиотекой интеграции с МДЛП (БИМ). В новых релизах требования к полноте данных об организации и местах деятельности ужесточились.

Выясним причину ошибки: в большинстве случаев при обновлении «слетает» связь между справочником Организации и настройками Субъекта МДЛП. Поскольку для пробития чека с кодом маркировки лекарственных средств драйверу ККТ необходимо передать специфические параметры (идентификатор субъекта, GLN и др.), отсутствие этих связей в базе 1С приводит к невозможности корректно сформировать XML-пакет для кассового аппарата.

Решение проблемы: восстановление настроек Субъекта МДЛП

Рассмотрим самый эффективный и проверенный способ решения, который помог пользователям на практике. Нам необходимо проверить корректность заполнения данных в справочнике организаций.

  1. Перейдем в раздел НСИ и откроем справочник Организации.
  2. Выберем организацию, от имени которой осуществляется торговля через аптечный пункт.
  3. Проверим наличие заполненного поля Субъект МДЛП. Часто после обновления это поле оказывается пустым или содержит ссылку на некорректно инициализированный объект.
  4. Если поле заполнено, попробуем перевыбрать субъекта или создать его заново, заполнив все необходимые реквизиты из личного кабинета «Честного Знака».
  5. Важный момент: Убедимся, что внутренний идентификатор GUID субъекта в 1С полностью совпадает с ID в системе мониторинга движения лекарственных препаратов.

После пересоздания субъекта МДЛП и записи карточки организации система восстановит внутренние связи, и параметры пробития чека будут формироваться без ошибок.

Дополнительная настройка GLN и мест деятельности

Разберем подробнее, какие еще параметры критичны для успешного пробития маркированного товара. Для аптечных организаций обязательным является наличие Глобального номера места деятельности (GLN).

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

Проверка драйверов и платформы ККТ

Посмотрим на техническую сторону взаимодействия с кассовым оборудованием (например, АТОЛ 11Ф). Хотя обновление драйверов не всегда решает проблему «слетевших» настроек 1С, это важный этап для работы с современными форматами маркировки.

Для стабильной работы рекомендуется использовать драйверы АТОЛ версии 10.9.x и выше. При этом следует обратить внимание на версию платформы самого кассового аппарата. В рассматриваемом случае использовалась платформа 3.0. Для полноценной поддержки ФФД 1.2 и корректной обработки кода маркировки (проверка КМ непосредственно на кассе) крайне желательно перевести оборудование на Платформу 5.0. Это исключит большинство ошибок, связанных с таймаутами и некорректной передачей тега 2106.

Корректность заполнения карточки номенклатуры

Выясним, правильно ли классифицирован товар в информационной базе. В версии 2.3.6.27 1С:Розница проверяет соответствие типа маркировки сканируемому коду.

В карточке номенклатуры для всех маркируемых лекарств должен быть установлен Вид номенклатуры с типом маркировки Лекарственные препараты. Если по какой-то причине там указан «Товар без маркировки», но при продаже сканируется DataMatrix код, система может войти в конфликт при формировании параметров чека. Рассмотрим пример программной проверки типа маркировки в коде (для разработчиков):


// Пример проверки типа маркировки перед формированием чека
Если НоменклатураСсылка.ТипМаркировки = ПредопределенноеЗначение("Перечисление.ТипыМаркировки.ЛекарственныеПрепараты") Тогда
    ПараметрыЧека.Вставить("МаркированныйТовар", Истина);
    // Здесь должна быть логика заполнения данных МДЛП
Иначе
    ПараметрыЧека.Вставить("МаркированныйТовар", Ложь);
КонецЕсли;

Очистка кэша и обновление метаданных

Иногда после обновления конфигурации 1С продолжает обращаться к старым структурам данных, сохраненным в локальном кэше пользователя. Это может приводить к «фантомным» ошибкам заполнения параметров, даже если в справочниках всё настроено верно. Рекомендуется выполнить следующие действия:

  1. Закрыть 1С:Предприятие.
  2. Удалить базу из списка и добавить её заново (это очистит временные файлы).
  3. Либо вручную очистить папку %LOCALAPPDATA%\1C\1Cv8.

Также полезно запустить базу в режиме Конфигуратора и выполнить Тестирование и исправление с установленной галочкой «Проверка логической целостности», чтобы убедиться, что связи между Организацией и Субъектом МДЛП корректны на уровне базы данных.

Резюме: Если вы столкнулись с ошибкой параметров пробития чека на маркированном товаре после обновления на 2.3.6.27, в первую очередь пересоздайте или заново привяжите Субъект МДЛП в карточке Организации. В 90% случаев это полностью решает проблему, возникшую из-за некорректной миграции данных при обновлении конфигурации.

← На главную