Как настроить печать ФИО кассира вместо "Системный администратор" на чеке АТОЛ 55Ф из "Трактиръ ФО" через Webserver?

Программист 1С v8.3 (Управляемые формы) Сфера услуг, туризм и социальный сектор
← На главную

При работе с фискальным регистратором АТОЛ 55Ф, подключенным к системе "Трактиръ ФО" через драйвер АТОЛ v10 и Webserver, пользователи часто сталкиваются с проблемой: вместо ожидаемого полного имени и должности кассира на чеке печатается строка "Системный администратор". Эта ситуация не соответствует требованиям законодательства о кассовых операциях и требует немедленного решения. В данном материале мы рассмотрим комплексный подход к устранению этой проблемы, начиная от детальной диагностики и заканчивая пошаговой настройкой и возможной доработкой конфигурации.

Общие принципы передачи данных кассира

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

ФИО и должность кассира являются обязательными реквизитами кассового чека согласно текущему законодательству, за исключением случаев расчетов, осуществляемых с использованием полностью автоматических устройств (посмотрите также, как реализована загрузка кассиров в других системах). Таким образом, обеспечение их правильной печати — это не просто вопрос удобства, а требование к соблюдению фискального законодательства.

Типовой механизм подразумевает, что "Трактиръ ФО" при формировании чека передает драйверу ККМ информацию о текущем авторизованном кассире, включая его ФИО, ИНН и должность. Драйвер затем должен записать эти данные в фискальный регистратор для печати. Если на каком-либо этапе эти данные теряются или не передаются, фискальный регистратор может использовать значение по умолчанию, которым часто является "Системный администратор".

Диагностика проблемы: Как проверить, доходят ли данные кассира?

Прежде чем приступать к настройкам, крайне важно локализовать проблему. Мы должны выяснить, на каком этапе данные о кассире теряются или изменяются. Рассмотрим несколько ключевых диагностических шагов.

  1. Проверка JSON-запроса на Webserver:

    АТОЛ Webserver служит буфером между вашей учетной системой и фискальным регистратором — для этого есть удаленная и сетевая печать чеков АТОЛ. Он получает запросы на печать чеков в формате JSON. Если данные о кассире не доходят до фискального регистратора, первое, что мы проверяем — это наличие этих данных в запросе, который "Трактиръ ФО" отправляет на Webserver. Мы можем получить доступ к этим запросам, проанализировав базу данных Webserver'а.

    База данных Webserver'а обычно располагается по пути: ProgramData\ATOL\AtolFptrWebServer\storage\web.s3db. Нам необходимо открыть этот файл (например, с помощью любого SQLite-редактора) и найти таблицу requests. В этой таблице содержатся все запросы, которые прилетали на Webserver. Мы ищем в столбце, содержащем тело запроса (JSON), наличие тега, который должен содержать данные кассира (например, "Operator": {"Name": "ФИО Кассира", "INN": "ИНН Кассира"} или аналогичный). Если такого тега нет, это указывает на то, что проблема находится на стороне "Трактиръ ФО" или в слое интеграции до отправки запроса на Webserver.

  2. Использование X-отчета:

    X-отчет, или отчет без гашения, является отличным инструментом для быстрой проверки. Мы можем снять X-отчет с фискального регистратора. Этот отчет также содержит информацию о последнем авторизованном кассире. Если в X-отчете печатается ФИО кассира, это означает, что данные успешно доходят до фискального регистратора, и проблема может быть в логике печати самого чека. Если же и в X-отчете указан "Системный администратор", значит, данные о кассире не достигают ККТ на уровне драйвера или Webserver.

  3. Повторная проверка настроек в "Трактиръ ФО":

    Мы убедимся, что все базовые настройки в программе выполнены корректно.

    1. Сотрудник-кассир заведен: Мы проверяем, что в справочнике сотрудников "Трактиръ ФО" для кассира, который работает с ККМ, корректно указаны полное ФИО, ИНН и должность (в этом поможет инструмент для сравнения объектов и их реквизитов). Эти поля должны быть заполнены.
    2. Пароль кассира: Удостоверимся, что кассиру присвоен личный пароль для авторизации в рабочем месте (иногда требуется массовая смена паролей пользователей).
    3. Настройка ККМ: В настройках подключаемого оборудования (ККМ) "Трактиръ ФО" должна быть установлена галка "Наименование, ИНН и должность кассира брать из программы". Несмотря на то, что автор столкнулся с тем, что эта галка "не видит" свою функцию, она является базовым требованием. После изменения настроек в "Трактиръ ФО" всегда рекомендуется перезапускать программу и, при необходимости, Webserver.
  4. Проверка настроек в драйвере ККМ АТОЛ (Утилита "Тест драйвера ККМ АТОЛ"):

    Даже если драйвер АТОЛ версии 10 и выше теоретически должен автоматически передавать ФИО кассира, ручная проверка и настройка через утилиту "Тест драйвера ККМ АТОЛ" часто бывает полезной.

    1. Мы запускаем утилиту "Тест драйвера ККМ АТОЛ".
    2. Открываем "Настройка свойств".
    3. Переходим в раздел "Параметры оборудования" или "Таблицы" (название может незначительно отличаться в зависимости от версии драйвера).
    4. В подразделе "Кассиры" или "Пароли кассиров и администраторов" мы должны убедиться, что введены ФИО кассира и его пароль. Эти данные должны быть идентичны данным, указанным в программе "Трактиръ ФО". Крайне важно, чтобы пароль, который кассир использует для входа в РМ "Трактиръ ФО", совпадал с паролем, указанным в драйвере ККМ.
    5. Для некоторых моделей ККТ АТОЛ (например, 90Ф), если касса работает как фискальный регистратор, данные кассира могут браться из раздела "СИС. АДМИНИСТРАТОР" в "Параметрах ККТ". В этом случае мы должны изменить "Имя системного администратора" на ФИО кассира и указать его ИНН.

Решение проблемы: Пошаговая настройка и доработка

Как показывает практика, часто решение проблемы с печатью ФИО кассира требует комплексного подхода, включающего как настройку на уровне учетной системы и драйвера, так и, в некоторых случаях, доработку кода конфигурации.

  1. Настройка в "Трактиръ ФО"

    Мы начинаем с убедительной проверки настроек в вашей системе "Трактиръ ФО".

    1. Корректное заведение сотрудника-кассира: Удостоверимся, что для каждого кассира, который будет работать с ККМ, в справочнике сотрудников системы "Трактиръ ФО" заполнены все необходимые поля: полное ФИО, ИНН и должность. Например, если у вас есть кассир Иван Петров, убедитесь, что его данные введены без сокращений.
    2. Пароль для авторизации: Проверим, что каждому кассиру присвоен уникальный пароль, который он использует для входа в рабочее место (РМ) в "Трактиръ ФО". Этот пароль будет критически важен для связки с настройками драйвера ККМ.
    3. Настройка подключаемого оборудования: Мы переходим в раздел настроек подключаемого оборудования, где настроена ваша ККМ АТОЛ 55Ф. Убедимся, что там установлена галка "Наименование, ИНН и должность кассира брать из программы". Эта опция сигнализирует системе о необходимости передавать данные авторизованного пользователя в драйвер ККМ. Несмотря на то, что для автора темы эта галка работала не так, как ожидалось, она является базой.

    После внесения любых изменений в "Трактиръ ФО" всегда рекомендуется перезапускать программу и, если это применимо, АТОЛ Webserver, чтобы изменения вступили в силу.

  2. Настройка через утилиту "Тест драйвера ККМ АТОЛ"

    Следующий критически важный шаг — это синхронизация данных кассиров напрямую в драйвере ККМ АТОЛ. Этот шаг часто позволяет "достучаться" до фискального регистратора, если стандартные механизмы интеграции не срабатывают.

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

    Сохраняем все изменения в драйвере и перезапускаем Webserver и фискальный регистратор.

  3. Доработка процедур передачи параметров кассира в "Трактиръ ФО"

    Как отметил автор темы, иногда стандартная галка в настройках "Трактиръ ФО" может "упорно не видеть" свою функцию. В таких случаях, когда ни диагностика, ни стандартные настройки не дают результата, может потребоваться прямая доработка кода конфигурации "Трактиръ ФО" для явной передачи параметров кассира при печати чека.

    Этот шаг является наиболее сложным и требует навыков программирования на платформе 1С:Предприятие 8. Мы должны найти процедуры, отвечающие за формирование данных для печати чека и их передачу во внешний компонент или драйвер ККМ. Наша задача — убедиться, что в передаваемую структуру или объект, который отправляется на печать, включены актуальные данные текущего кассира.

    Рассмотрим общий подход к такой доработке:

    1. Определение точки вмешательства: Мы выясняем, какая процедура в "Трактиръ ФО" отвечает за вызов драйвера ККМ для печати чека. Это может быть метод в общем модуле, связанном с работой торгового оборудования, или в модуле менеджера объекта ПодключаемоеОборудование. Часто эти вызовы проходят через типовые механизмы БСП (Библиотека стандартных подсистем), например, через объект МенеджерОборудованияВызовСервера или напрямую к объекту драйвера.
    2. Получение данных текущего кассира: В найденной процедуре мы получаем информацию о текущем авторизованном пользователе. Эти данные можно получить из справочника сотрудников, используя ссылку на текущего пользователя системы, например:
      
      // Пример получения данных текущего кассира в 1С
      Перем ФИОКассира, ИННКассира, ДолжностьКассира;
      
      Пользователь = Пользователи.ТекущийПользователь();
      Если ЗначениеЗаполнено(Пользователь.Сотрудник) Тогда
          Сотрудник = Пользователь.Сотрудник.ПолучитьОбъект();
          ФИОКассира = Сотрудник.НаименованиеПолное; // Или другое поле ФИО
          ИННКассира = Сотрудник.ИНН; // Поле ИНН
          ДолжностьКассира = Сотрудник.Должность.Наименование; // Поле Должность
      Иначе
          // Обработка случая, когда сотрудник не привязан
          ФИОКассира = "Неизвестный кассир";
          ИННКассира = "";
          ДолжностьКассира = "";
      КонецЕсли;
      
    3. Передача данных в параметры драйвера: После того как мы получили данные кассира, мы должны добавить их в структуру параметров, которая передается драйверу ККМ. Например, если драйвер АТОЛ v10 ожидает объект Operator с полями Name, INN, VatInns и Position, мы формируем его:
      
      // Пример формирования структуры данных кассира для драйвера
      СтруктураПараметровКассира = Новый Структура();
      СтруктураПараметровКассира.Вставить("Name", ФИОКассира);
      СтруктураПараметровКассира.Вставить("INN", ИННКассира);
      // СтруктураПараметровКассира.Вставить("VatInns", "1234567890"); // Если требуется
      СтруктураПараметровКассира.Вставить("Position", ДолжностьКассира);
      
      // Далее эта структура должна быть передана в соответствующий параметр
      // вызова метода драйвера для печати чека.
      // Например: МенеджерОборудованияВызовСервера.ВыполнитьКомандуДрайвера(ИмяДрайвера, "НапечататьЧек", ... , СтруктураПараметровКассира);
      // Или если используется объект JSON для Webserver:
      // JSONДанныеДляWebserver.Вставить("Operator", СтруктураПараметровКассира);
      

      Конкретные методы и структуры могут отличаться в зависимости от версии "Трактиръ ФО" и реализации интеграции с драйвером АТОЛ.

    4. Тестирование: После доработки кода обязательно проводим тщательное тестирование, пробивая тестовые чеки и проверяя X-отчеты.

    Важно: При доработке типовой конфигурации всегда следуйте правилам расширений или используйте механизмы, позволяющие сохранить возможность обновлений.

Взаимодействие Webserver и драйвера ККМ

АТОЛ Webserver играет роль связующего звена — есть обработка для подключения касс АТОЛ через веб-сервер. Он принимает JSON-запросы от 1С по сети и преобразует их в вызовы методов драйвера ККМ на локальной машине. Если данные кассира доходят до Webserver, но не печатаются, это может быть связано с тем, как Webserver передает данные драйверу, или с настройками самого драйвера. Стоит отметить, что поддержка Webserver как компонента присутствует в драйверах АТОЛ до версии 10.9.5.0. В более новых версиях АТОЛ может использовать другой компонент, такой как web-requests, что может потребовать адаптации подходов к диагностике и настройке. Однако базовый принцип передачи данных через JSON-структуру остается прежним.

Мы должны убедиться, что версия драйвера ККМ АТОЛ, а также версия компонента Webserver (или его аналога) актуальны и совместимы с версией "Трактиръ ФО". Устаревшие версии могут содержать ошибки или не поддерживать необходимые параметры.

Дополнительные рекомендации

В процессе решения подобных задач, всегда полезно учитывать следующие моменты:

  1. Перезапуск компонентов: После любых изменений в настройках или кода мы обязательно перезапускаем все связанные компоненты: "Трактиръ ФО", АТОЛ Webserver и, если возможно, сам фискальный регистратор. Это гарантирует, что все изменения вступили в силу.
  2. Актуальность драйверов: Мы регулярно проверяем наличие обновлений для драйвера ККМ АТОЛ на официальном сайте производителя. Обновления часто содержат исправления ошибок и улучшения совместимости.
  3. Контроль журналов событий: Мы просматриваем журналы событий Windows, а также логи АТОЛ Webserver (если они доступны) и драйвера ККМ. В них могут содержаться ценные сведения об ошибках при передаче данных.
  4. Консультация с поддержкой: Если после всех описанных шагов проблема остается, мы не стесняемся обратиться в службу технической поддержки "Трактиръ ФО" или АТОЛ. Они могут предоставить специфичные рекомендации для вашей версии ПО и оборудования.

Заключение

Проблема с печатью "Системный администратор" вместо ФИО кассира на чеке АТОЛ 55Ф при работе с "Трактиръ ФО" через Webserver является распространенной, но решаемой задачей. Мы выяснили, что для успешного решения требуется комплексный подход, включающий тщательную диагностику JSON-запросов, правильную настройку в самой программе "Трактиръ ФО", детальную конфигурацию через утилиту "Тест драйвера ККМ АТОЛ", а в некоторых случаях — доработку процедур передачи параметров в коде конфигурации. Последовательное выполнение этих шагов позволит обеспечить корректную печать всех необходимых реквизитов чека, соответствуя законодательным требованиям и улучшая удобство работы кассиров.

← На главную