Как зарегистрировать чек на одной онлайн-кассе, а напечатать его на другом устройстве

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

В условиях современной розничной торговли часто возникает задача оптимизации расходов на кассовое оборудование. Если в магазине несколько отделов, покупка и обслуживание четырех или пяти онлайн-касс может быть экономически неоправданным. Рассмотрим, как реализовать схему, при которой фискализация происходит на одном центральном устройстве, а покупатель получает бумажный документ (слип или копию чека) в конкретном отделе на недорогом чековом принтере.

Юридические и правовые основания схемы

Прежде чем переходить к технической реализации в 1С:Управление торговлей 10.3, проанализируем правомерность такого подхода согласно 54-ФЗ. По закону, кассовый чек может быть выдан в бумажном виде или направлен в электронном виде на абонентский номер или электронную почту покупателя. Если мы регистрируем чек на ККТ с признаком «электронный» (без физической печати на фискальном устройстве), мы выполняем требование закона по регистрации продажи. Бумажная копия, распечатанная на обычном принтере чеков в отделе, в данном случае является информационным документом, подтверждающим факт покупки.

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

Архитектура решения: Общая схема взаимодействия

Разберем по шагам, как должна выглядеть цепочка событий в системе:

  1. Продавец в отделе формирует документ ЧекККМ в 1С.
  2. При нажатии кнопки «Пробить чек» система обращается к центральной онлайн-кассе (через сеть LAN или специальный сервер).
  3. В драйвере кассы устанавливается флаг «Отключить печать чека».
  4. Касса регистрирует операцию в ФН, отправляет данные в ОФД и возвращает в 1С фискальные признаки (номер чека, ФП, ФД).
  5. 1С сохраняет эти данные и автоматически инициирует печать нефискального макета на принтер, установленный в текущем отделе.

Техническая реализация в 1С:УТ 10.3

Поскольку типовая конфигурация УТ 10.3 (на обычных формах) не предполагает такого разделения «из коробки», нам потребуется внести изменения в программный код.

Шаг 1. Настройка связи с ККТ по сети

Для того чтобы четыре рабочих места могли достучаться до одной кассы, проанализируем возможности драйверов. Современные драйверы (например, АТОЛ 10) поддерживают работу через Web-сервер. Это наиболее стабильный вариант. Мы настраиваем один компьютер, к которому физически подключена ККТ, как сервер, а остальные рабочие места подключаются к нему по IP-адресу.

Шаг 2. Отключение физической печати на ККТ

В процедуре пробития чека (обычно это модуль обработки торгового оборудования) необходимо передать параметр, запрещающий печать бумажной ленты на фискальнике. В интерфейсе драйвера это выглядит как установка свойства PrintReceipt = Ложь. Выясним, как это выглядит в коде:


// Пример логики в обработке обслуживания ККТ
ОбъектДрайвера.УстановитьПараметр("ЭлектронныйЧек", Истина);
ОбъектДрайвера.УстановитьПараметр("ПечатьНаЧековойЛенте", Ложь);
Результат = ОбъектДрайвера.СформироватьЧек();

Шаг 3. Сохранение данных фискализации

Проанализируем ситуацию: если мы не напечатали чек сразу на ККТ, нам критически важно сохранить данные ответа от кассы, чтобы в любой момент распечатать дубликат. Для этого рекомендуется создать новый Регистр сведений «ФискальныеОперации» со следующими измерениями и ресурсами:

Шаг 4. Формирование макета для нефискального принтера

Теперь рассмотрим, как вывести данные на чекопечатающую машину (например, Xprinter). Нам нужно создать макет, который будет визуально повторять кассовый чек. Основная сложность — генерация QR-кода. В УТ 10.3 это можно сделать с помощью внешней компоненты 1С:Печать штрихкодов.

В модуле документа ЧекККМ добавим функцию печати на нефискальное устройство:


Процедура НапечататьКопиюНаЛокальномПринтере(ДанныеЧека)
    ТабДок = Новый ТабличныйДокумент;
    Макет = ПолучитьМакет("МакетНефискальногоЧека");
    
    // Заполняем параметры макета
    ОбластьШапка = Макет.ПолучитьОбласть("Шапка");
    ОбластьШапка.Параметры.Организация = "ООО Ромашка";
    ОбластьШапка.Параметры.Секция = "Отдел №4";
    ТабДок.Вывести(ОбластьШапка);
    
    // Цикл по товарам
    Для Каждого СтрокаТЧ Из Объект.Товары Цикл
        ОбластьСтрока = Макет.ПолучитьОбласть("Строка");
        ОбластьСтрока.Параметры.Номенклатура = СтрокаТЧ.Номенклатура;
        ОбластьСтрока.Параметры.Сумма = СтрокаТЧ.Сумма;
        ТабДок.Вывести(ОбластьСтрока);
    КонецЦикла;
    
    // Нижняя часть с фискальными данными и QR-кодом
    ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");
    ОбластьПодвал.Параметры.ФП = ДанныеЧека.ФП;
    ОбластьПодвал.Параметры.НомерЧека = ДанныеЧека.НомерЧека;
    
    // Устанавливаем принтер, специфичный для текущего рабочего места
    ТабДок.ИмяПринтера = "Xprinter_Department_4";
    ТабДок.Напечатать(РежимИспользованияДиалогаПечати.НеИспользовать);
КонецПроцедуры

Разделение по секциям и учет кассиров

Чтобы не возникало путаницы при инкассации, проанализируем использование секций ККТ. Каждая касса поддерживает до 16 секций. Мы можем закрепить за каждым отделом свою секцию. При пробитии чека из 1С передается номер секции, и тогда в вечернем Z-отчете вы увидите общую сумму, разбитую по четырем отделам. Это позволит контролировать выручку по каждому принтеру чеков отдельно.

Что касается ИНН кассира, то в 1С 10.3 необходимо обеспечить передачу ФИО текущего пользователя в драйвер ККТ. Это снимет вопросы налоговой о том, кто именно совершил продажу, несмотря на использование общего устройства.

Выбор оборудования

Для надежной работы такой схемы рекомендуем использовать принтеры чеков с интерфейсом Ethernet (LAN). Подключение по USB через проброс портов в RDP часто работает нестабильно. Модели типа Xprinter XP-N160II или POScenter RP-100 отлично справляются с печатью QR-кодов и имеют встроенный автоотрезчик, что важно для скорости обслуживания в рознице.

Таким образом, объединив централизованную фискализацию с локальной печатью копий чеков, мы получаем эффективную систему, соответствующую 54-ФЗ и экономящую бюджет на обслуживание парка ККТ.

← На главную