При работе с фискальным регистратором АТОЛ 55Ф, подключенным к системе "Трактиръ ФО" через драйвер АТОЛ v10 и Webserver, пользователи часто сталкиваются с проблемой: вместо ожидаемого полного имени и должности кассира на чеке печатается строка "Системный администратор". Эта ситуация не соответствует требованиям законодательства о кассовых операциях и требует немедленного решения. В данном материале мы рассмотрим комплексный подход к устранению этой проблемы, начиная от детальной диагностики и заканчивая пошаговой настройкой и возможной доработкой конфигурации.
Для начала, давайте разберем, как обычно происходит передача информации о кассире от учетной системы к фискальному регистратору. В нашем случае, данные о кассире формируются в программе "Трактиръ ФО", затем передаются на АТОЛ Webserver (который выступает в роли посредника для сетевой печати) (поможет драйвер АТОЛ через Webserver с ФФД 1.2), а оттуда уже отправляются в драйвер ККМ АТОЛ, который, в свою очередь, взаимодействует непосредственно с фискальным регистратором АТОЛ 55Ф. Каждый из этих звеньев цепи должен корректно обрабатывать и передавать данные кассира.
ФИО и должность кассира являются обязательными реквизитами кассового чека согласно текущему законодательству, за исключением случаев расчетов, осуществляемых с использованием полностью автоматических устройств (посмотрите также, как реализована загрузка кассиров в других системах). Таким образом, обеспечение их правильной печати — это не просто вопрос удобства, а требование к соблюдению фискального законодательства.
Типовой механизм подразумевает, что "Трактиръ ФО" при формировании чека передает драйверу ККМ информацию о текущем авторизованном кассире, включая его ФИО, ИНН и должность. Драйвер затем должен записать эти данные в фискальный регистратор для печати. Если на каком-либо этапе эти данные теряются или не передаются, фискальный регистратор может использовать значение по умолчанию, которым часто является "Системный администратор".
Прежде чем приступать к настройкам, крайне важно локализовать проблему. Мы должны выяснить, на каком этапе данные о кассире теряются или изменяются. Рассмотрим несколько ключевых диагностических шагов.
Проверка JSON-запроса на Webserver:
АТОЛ Webserver служит буфером между вашей учетной системой и фискальным регистратором — для этого есть удаленная и сетевая печать чеков АТОЛ. Он получает запросы на печать чеков в формате JSON. Если данные о кассире не доходят до фискального регистратора, первое, что мы проверяем — это наличие этих данных в запросе, который "Трактиръ ФО" отправляет на Webserver. Мы можем получить доступ к этим запросам, проанализировав базу данных Webserver'а.
База данных Webserver'а обычно располагается по пути: ProgramData\ATOL\AtolFptrWebServer\storage\web.s3db. Нам необходимо открыть этот файл (например, с помощью любого SQLite-редактора) и найти таблицу requests. В этой таблице содержатся все запросы, которые прилетали на Webserver. Мы ищем в столбце, содержащем тело запроса (JSON), наличие тега, который должен содержать данные кассира (например, "Operator": {"Name": "ФИО Кассира", "INN": "ИНН Кассира"} или аналогичный). Если такого тега нет, это указывает на то, что проблема находится на стороне "Трактиръ ФО" или в слое интеграции до отправки запроса на Webserver.
Использование X-отчета:
X-отчет, или отчет без гашения, является отличным инструментом для быстрой проверки. Мы можем снять X-отчет с фискального регистратора. Этот отчет также содержит информацию о последнем авторизованном кассире. Если в X-отчете печатается ФИО кассира, это означает, что данные успешно доходят до фискального регистратора, и проблема может быть в логике печати самого чека. Если же и в X-отчете указан "Системный администратор", значит, данные о кассире не достигают ККТ на уровне драйвера или Webserver.
Повторная проверка настроек в "Трактиръ ФО":
Мы убедимся, что все базовые настройки в программе выполнены корректно.
Проверка настроек в драйвере ККМ АТОЛ (Утилита "Тест драйвера ККМ АТОЛ"):
Даже если драйвер АТОЛ версии 10 и выше теоретически должен автоматически передавать ФИО кассира, ручная проверка и настройка через утилиту "Тест драйвера ККМ АТОЛ" часто бывает полезной.
Как показывает практика, часто решение проблемы с печатью ФИО кассира требует комплексного подхода, включающего как настройку на уровне учетной системы и драйвера, так и, в некоторых случаях, доработку кода конфигурации.
Мы начинаем с убедительной проверки настроек в вашей системе "Трактиръ ФО".
После внесения любых изменений в "Трактиръ ФО" всегда рекомендуется перезапускать программу и, если это применимо, АТОЛ Webserver, чтобы изменения вступили в силу.
Следующий критически важный шаг — это синхронизация данных кассиров напрямую в драйвере ККМ АТОЛ. Этот шаг часто позволяет "достучаться" до фискального регистратора, если стандартные механизмы интеграции не срабатывают.
Сохраняем все изменения в драйвере и перезапускаем Webserver и фискальный регистратор.
Как отметил автор темы, иногда стандартная галка в настройках "Трактиръ ФО" может "упорно не видеть" свою функцию. В таких случаях, когда ни диагностика, ни стандартные настройки не дают результата, может потребоваться прямая доработка кода конфигурации "Трактиръ ФО" для явной передачи параметров кассира при печати чека.
Этот шаг является наиболее сложным и требует навыков программирования на платформе 1С:Предприятие 8. Мы должны найти процедуры, отвечающие за формирование данных для печати чека и их передачу во внешний компонент или драйвер ККМ. Наша задача — убедиться, что в передаваемую структуру или объект, который отправляется на печать, включены актуальные данные текущего кассира.
Рассмотрим общий подход к такой доработке:
ПодключаемоеОборудование. Часто эти вызовы проходят через типовые механизмы БСП (Библиотека стандартных подсистем), например, через объект МенеджерОборудованияВызовСервера или напрямую к объекту драйвера.
// Пример получения данных текущего кассира в 1С
Перем ФИОКассира, ИННКассира, ДолжностьКассира;
Пользователь = Пользователи.ТекущийПользователь();
Если ЗначениеЗаполнено(Пользователь.Сотрудник) Тогда
Сотрудник = Пользователь.Сотрудник.ПолучитьОбъект();
ФИОКассира = Сотрудник.НаименованиеПолное; // Или другое поле ФИО
ИННКассира = Сотрудник.ИНН; // Поле ИНН
ДолжностьКассира = Сотрудник.Должность.Наименование; // Поле Должность
Иначе
// Обработка случая, когда сотрудник не привязан
ФИОКассира = "Неизвестный кассир";
ИННКассира = "";
ДолжностьКассира = "";
КонецЕсли;
Operator с полями Name, INN, VatInns и Position, мы формируем его:
// Пример формирования структуры данных кассира для драйвера
СтруктураПараметровКассира = Новый Структура();
СтруктураПараметровКассира.Вставить("Name", ФИОКассира);
СтруктураПараметровКассира.Вставить("INN", ИННКассира);
// СтруктураПараметровКассира.Вставить("VatInns", "1234567890"); // Если требуется
СтруктураПараметровКассира.Вставить("Position", ДолжностьКассира);
// Далее эта структура должна быть передана в соответствующий параметр
// вызова метода драйвера для печати чека.
// Например: МенеджерОборудованияВызовСервера.ВыполнитьКомандуДрайвера(ИмяДрайвера, "НапечататьЧек", ... , СтруктураПараметровКассира);
// Или если используется объект JSON для Webserver:
// JSONДанныеДляWebserver.Вставить("Operator", СтруктураПараметровКассира);
Конкретные методы и структуры могут отличаться в зависимости от версии "Трактиръ ФО" и реализации интеграции с драйвером АТОЛ.
Важно: При доработке типовой конфигурации всегда следуйте правилам расширений или используйте механизмы, позволяющие сохранить возможность обновлений.
АТОЛ Webserver играет роль связующего звена — есть обработка для подключения касс АТОЛ через веб-сервер. Он принимает JSON-запросы от 1С по сети и преобразует их в вызовы методов драйвера ККМ на локальной машине. Если данные кассира доходят до Webserver, но не печатаются, это может быть связано с тем, как Webserver передает данные драйверу, или с настройками самого драйвера. Стоит отметить, что поддержка Webserver как компонента присутствует в драйверах АТОЛ до версии 10.9.5.0. В более новых версиях АТОЛ может использовать другой компонент, такой как web-requests, что может потребовать адаптации подходов к диагностике и настройке. Однако базовый принцип передачи данных через JSON-структуру остается прежним.
Мы должны убедиться, что версия драйвера ККМ АТОЛ, а также версия компонента Webserver (или его аналога) актуальны и совместимы с версией "Трактиръ ФО". Устаревшие версии могут содержать ошибки или не поддерживать необходимые параметры.
В процессе решения подобных задач, всегда полезно учитывать следующие моменты:
Проблема с печатью "Системный администратор" вместо ФИО кассира на чеке АТОЛ 55Ф при работе с "Трактиръ ФО" через Webserver является распространенной, но решаемой задачей. Мы выяснили, что для успешного решения требуется комплексный подход, включающий тщательную диагностику JSON-запросов, правильную настройку в самой программе "Трактиръ ФО", детальную конфигурацию через утилиту "Тест драйвера ККМ АТОЛ", а в некоторых случаях — доработку процедур передачи параметров в коде конфигурации. Последовательное выполнение этих шагов позволит обеспечить корректную печать всех необходимых реквизитов чека, соответствуя законодательным требованиям и улучшая удобство работы кассиров.