В условиях, когда полный переход на новые версии программного обеспечения и драйверов ККТ (контрольно-кассовой техники) затягивается, перед специалистами часто встает задача поддержки актуальных требований законодательства на устаревшем софте. Одна из таких задач — реализация агентской схемы (комиссионная торговля в УТ 10.3) и передача соответствующих фискальных тегов (ИНН поставщика, признак агента) при использовании драйвера АТОЛ версии 8.16.6 и конфигурации "1С:Управление Торговлей 10.3".
Многие специалисты считают, что восьмая версия драйвера ("ДТО 8") окончательно устарела и не способна работать с требованиями ФФД 1.05 в части агентских тегов. Однако, как мы выясним в ходе нашего анализа, техническая возможность существует. Давайте подробно разберем, как реализовать этот функционал, не прибегая к экстренному обновлению всей кассовой инфраструктуры. Стоит отметить, что при возникновении ошибок в процессе отладки часто требуется массовое создание и фискализация чеков коррекции для УТ 10, чтобы исправить накопленные нарушения.
Основная проблема заключается в том, что в явном виде свойства для передачи "ИНН поставщика" или "Признака агента" в интерфейсе восьмого драйвера могут отсутствовать или быть неочевидными, в отличие от десятой версии (ДТО 10), где структура объекта JSON полностью описывает чек.
Нам необходимо передавать следующие данные в ОФД:
Важно сразу прояснить путаницу с тегами, которая часто возникает при настройке:
В драйверах АТОЛ 8-й серии существует универсальный механизм работы с произвольными тегами (атрибутами), который позволяет передавать данные, не выведенные в отдельные свойства COM-объекта. Для этого используются методы AttrNumber (Номер атрибута), AttrValue (Значение атрибута) и команда WriteAttribute (Записать атрибут).
Разберем логику работы драйвера. Команды формирования чека работают последовательно. Чтобы "привязать" ИНН поставщика или признак агента к конкретной позиции (товару), мы должны передавать эти атрибуты в буфер драйвера строго до команды регистрации позиции.
Алгоритм действий для каждой строки чека должен быть следующим:
Registration).Рассмотрим, как это выглядит на практике при доработке обработки обслуживания торгового оборудования в 1С. Обычно в старых обработках для АТОЛ 8 используется объект драйвера, который мы условно назовем ОбъектДрайвера.
Вам необходимо найти процедуру, отвечающую за печать строки чека. Примерная структура кода для передачи ИНН поставщика и признака агента:
// Устанавливаем признак агента по предмету расчета (Тег 1222)
ОбъектДрайвера.AttrNumber = 1222;
ОбъектДрайвера.AttrValue = 6; // Пример для комиссионера
ОбъектДрайвера.WriteAttribute();
// Передаем ИНН поставщика (Тег 1226)
Если ЗначениеЗаполнено(ИннПоставщика) Тогда
ОбъектДрайвера.AttrNumber = 1226;
ОбъектДрайвера.AttrValue = ИннПоставщика;
ОбъектДрайвера.WriteAttribute();
КонецЕсли;
// Передаем телефон и наименование поставщика (Теги 1171, 1225)
// ... установка параметров ...
// И только теперь регистрируем позицию
ОбъектДрайвера.Registration();
Если ваша деятельность требует работы с новыми ставками налога, такими как 5% или 7%, обратите внимание, что стандартные обработки могут их не поддерживать, и вам может пригодиться специализированная обработка обслуживания для УТ 10.3 АТОЛ 10.10.8.х (Ставка НДС 5%, 7%, 22%).
При реализации этого решения стоит учитывать несколько технических моментов, связанных с версиями прошивок ККТ:
Если вышеописанный способ не срабатывает из-за ограничений прошивки, стоит рассмотреть адаптацию вашей системы под ДТО 10. Драйвер 10-й версии использует более прозрачную логику, основанную на передаче JSON-объектов или установке свойств через setParam.
Пример логики для ДТО 10:
ОбъектДрайвера.setParam(1222, 6);
ОбъектДрайвера.setParam(1226, ИннПоставщика);
ОбъектДрайвера.registration();
Поддержка драйвером АТОЛ 8.16.6 тегов 1226 и 1222 возможна. Ключ к решению — использование универсальных методов работы с атрибутами WriteAttribute и строгое соблюдение последовательности команд: сначала записываем атрибуты агента, затем регистрируем товар. Это позволяет продлить жизнь учетной системе на базе УТ 10.3 без немедленного переписывания кода под новые драйверы.