При обновлении конфигураций 1С, особенно специализированных решений вроде 1С:Розница.Аптека, пользователи часто сталкиваются с проблемами при оформлении продаж маркированной продукции. Одной из наиболее распространенных ошибок в версии 2.3.6.27 является сообщение: «Не удалось создать чеки: Ошибка при заполнении параметров пробития чека». Примечательно, что обычный (немаркированный) товар при этом пробивается без каких-либо затруднений. В данной статье мы подробно разберем причины возникновения этой ситуации и пошагово восстановим работоспособность системы.
Проанализируем ситуацию: почему при обновлении конфигурации с версии 2.3.5.35 на 2.3.6.27 механизм пробития чека дает сбой именно на лекарственных препаратах? Основная причина кроется в изменении структуры данных и механизмов взаимодействия с Библиотекой интеграции с МДЛП (БИМ). В новых релизах требования к полноте данных об организации и местах деятельности ужесточились.
Выясним причину ошибки: в большинстве случаев при обновлении «слетает» связь между справочником Организации и настройками Субъекта МДЛП. Поскольку для пробития чека с кодом маркировки лекарственных средств драйверу ККТ необходимо передать специфические параметры (идентификатор субъекта, GLN и др.), отсутствие этих связей в базе 1С приводит к невозможности корректно сформировать XML-пакет для кассового аппарата.
Рассмотрим самый эффективный и проверенный способ решения, который помог пользователям на практике. Нам необходимо проверить корректность заполнения данных в справочнике организаций.
GUID субъекта в 1С полностью совпадает с ID в системе мониторинга движения лекарственных препаратов.После пересоздания субъекта МДЛП и записи карточки организации система восстановит внутренние связи, и параметры пробития чека будут формироваться без ошибок.
Разберем подробнее, какие еще параметры критичны для успешного пробития маркированного товара. Для аптечных организаций обязательным является наличие Глобального номера места деятельности (GLN).
Проанализируем связку склада и организации. Если в базе ведется учет по нескольким местам деятельности (филиалам), необходимо убедиться, что в настройках интеграции с МДЛП каждому складу сопоставлен соответствующий субъект и адрес. Если касса привязана к складу, для которого не указан идентификатор места деятельности в системе МДЛП, драйвер ККТ выдаст ошибку параметров, так как теги маркировки не смогут пройти валидацию.
Посмотрим на техническую сторону взаимодействия с кассовым оборудованием (например, АТОЛ 11Ф). Хотя обновление драйверов не всегда решает проблему «слетевших» настроек 1С, это важный этап для работы с современными форматами маркировки.
Для стабильной работы рекомендуется использовать драйверы АТОЛ версии 10.9.x и выше. При этом следует обратить внимание на версию платформы самого кассового аппарата. В рассматриваемом случае использовалась платформа 3.0. Для полноценной поддержки ФФД 1.2 и корректной обработки кода маркировки (проверка КМ непосредственно на кассе) крайне желательно перевести оборудование на Платформу 5.0. Это исключит большинство ошибок, связанных с таймаутами и некорректной передачей тега 2106.
Выясним, правильно ли классифицирован товар в информационной базе. В версии 2.3.6.27 1С:Розница проверяет соответствие типа маркировки сканируемому коду.
В карточке номенклатуры для всех маркируемых лекарств должен быть установлен Вид номенклатуры с типом маркировки Лекарственные препараты. Если по какой-то причине там указан «Товар без маркировки», но при продаже сканируется DataMatrix код, система может войти в конфликт при формировании параметров чека. Рассмотрим пример программной проверки типа маркировки в коде (для разработчиков):
// Пример проверки типа маркировки перед формированием чека
Если НоменклатураСсылка.ТипМаркировки = ПредопределенноеЗначение("Перечисление.ТипыМаркировки.ЛекарственныеПрепараты") Тогда
ПараметрыЧека.Вставить("МаркированныйТовар", Истина);
// Здесь должна быть логика заполнения данных МДЛП
Иначе
ПараметрыЧека.Вставить("МаркированныйТовар", Ложь);
КонецЕсли;
Иногда после обновления конфигурации 1С продолжает обращаться к старым структурам данных, сохраненным в локальном кэше пользователя. Это может приводить к «фантомным» ошибкам заполнения параметров, даже если в справочниках всё настроено верно. Рекомендуется выполнить следующие действия:
%LOCALAPPDATA%\1C\1Cv8.Также полезно запустить базу в режиме Конфигуратора и выполнить Тестирование и исправление с установленной галочкой «Проверка логической целостности», чтобы убедиться, что связи между Организацией и Субъектом МДЛП корректны на уровне базы данных.
Резюме: Если вы столкнулись с ошибкой параметров пробития чека на маркированном товаре после обновления на 2.3.6.27, в первую очередь пересоздайте или заново привяжите Субъект МДЛП в карточке Организации. В 90% случаев это полностью решает проблему, возникшую из-за некорректной миграции данных при обновлении конфигурации.