Как настроить пробитие чека одновременно на двух ККТ в 1С:Розница?

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

В розничной торговле нередко возникает ситуация, когда при обслуживании одного покупателя кассир сканирует все товары в один чек, но по факту печать должна произойти на двух разных кассовых аппаратах (ККТ). Это может быть обусловлено требованиями законодательства или внутренними бизнес-процессами компании. В этой статье мы подробно разберем, как реализовать разделение чека на две ККТ в программе 1С:Розница, рассмотрим штатные возможности системы, ограничения Базовой версии и альтернативные технические решения.

Зачем нужно разделение продаж на два кассовых аппарата?

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

  1. Совмещение различных систем налогообложения (СНО). Это самый частый сценарий. Например, индивидуальный предприниматель совмещает Упрощенную систему налогообложения (УСН) и Патентную систему (ПСН). Согласно Федеральному закону № 54-ФЗ, в одном фискальном документе может быть указана только одна СНО. Соответственно, если клиент одновременно покупает патентный товар и товар, облагаемый по УСН, программа обязана сформировать и пробить два разных фискальных чека. При этом для экономии времени кассира крайне важно, чтобы он работал в едином интерфейсе РМК, а деление происходило автоматически.
  2. Разделение на фискальный и нефискальный учет. Когда на торговой точке установлена одна полноценная онлайн-касса для продажи маркированных или подакцизных товаров, а второе устройство представляет собой обычный принтер чеков (для печати внутренних заказов, предзаказов на кухню или товарных чеков по услугам).
  3. Специфика учета товаров внутри одной организации. Например, когда необходимо разделить продажи определенных категорий товаров (допустим, алкоголь и продукты питания) на разные кассовые аппараты для удобства инкассации или ведения раздельной отчетности, даже если они продаются от лица одного юрлица по одной налоговой ставке.

Вариант 1. Штатный механизм разделения по СНО (из коробки)

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

Шаг 1. Настройка товарных групп

Для начала нам необходимо классифицировать наш ассортимент. Перейдем в раздел НСИ (или Администрирование) и найдем справочник Товарные группы (не путать с видами номенклатуры). Создадим две группы, например:

После создания групп зайдем в карточки соответствующих товаров (или настроим правила заполнения для видов номенклатуры по умолчанию) и укажем для каждой позиции ее товарную группу.

Шаг 2. Подключение оборудования

Подключим оба кассовых аппарата к рабочему компьютеру. В разделе Администрирование -> Подключаемое оборудование зарегистрируем обе кассы (ККТ №1 и ККТ №2), привязав их к соответствующим физическим портам и драйверам торгового оборудования.

Шаг 3. Настройка распределения продаж

Теперь свяжем наши товары, СНО и кассовые аппараты. Перейдем в настройки распределения продаж (в разных редакциях путь может немного отличаться, обычно это Продажи -> Распределение продаж или настройки параметров магазина):

  1. Создаем новое правило распределения.
  2. Указываем нашу организацию, магазин и склад.
  3. В табличной части сопоставляем: Товарная группа «Товары на УСН» -> Организация -> СНО (УСН) -> Касса ККМ №1.
  4. Для второй строки задаем сопоставление: Товарная группа «Товары на Патенте» -> Организация -> СНО (ПСН) -> Касса ККМ №2.

При такой настройке в РМК кассир будет сканировать весь товар в один общий список. При нажатии кнопки «Оплата» система автоматически проанализирует состав корзины, разделит чек на две части по товарным группам и отправит команды фискализации на ККТ №1 и ККТ №2 соответственно. Покупатель получит два чека, а кассир совершит всего одно действие оплаты.


Ограничение типового функционала при одной СНО

Рассмотрим ситуацию: у нас одна организация, одна система налогообложения (например, только УСН), но мы хотим разделить продажи (к примеру, «Лимонад» пустить на ККТ №1, а «Шоколад» — на ККТ №2).

К сожалению, штатный функционал программы этого сделать не позволит. Разработчики фирмы «1С» заложили в логику распределения жесткое условие: разделение чеков в рамках одного рабочего места возможно только в случае смены разреза учета (разные Организации или разные СНО). Если организация одна и СНО одна, программа выдаст ошибку или просто отправит весь чек на одну ККТ, назначенную по умолчанию для данного склада.


Вариант 2. Особенности Базовой версии 1С и обходные пути

Ситуация усложняется, если вы используете Базовую версию 1С:Розница. В ней действуют жесткие лицензионные ограничения:

Тем не менее, даже в Базовой версии можно решить задачу разделения чеков при одинаковой СНО. Рассмотрим доступные инструменты.

Использование расширений конфигурации (рекомендуемый способ)

Современная платформа 1С:Предприятие 8.3 позволяет подключать расширения конфигурации (.cfe) даже в Базовых версиях программ. Расширение не меняет структуру таблиц базы данных и не снимает программу с поддержки, но позволяет перехватить выполнение стандартных процедур.

На профильных порталах (например, Инфостарт) существуют готовые коммерческие расширения для работы с несколькими ККТ в РМК. Они добавляют возможность произвольной привязки сегментов номенклатуры к конкретным кассовым аппаратам без привязки к СНО.

Давайте посмотрим на упрощенную программную логику, которую реализуют такие расширения при перехвате процедуры фискализации чека:


// Пример логики разделения табличной части чека в расширении
Процедура ПередПробитиемЧекаНаККТ(ДокументЧек, Отказ) Экспорт
    
    ТаблицаТоваров = ДокументЧек.Товары.Выгрузить();
    
    // Создаем структуры для раздельных чеков
    ТоварыДляПервойКассы = ТаблицаТоваров.СкопироватьКолонки();
    ТоварыДляВторойКассы = ТаблицаТоваров.СкопироватьКолонки();
    
    Для Каждого СтрокаТовара Из ТаблицаТоваров Цикл
        // Проверяем принадлежность к определенной группе товаров
        Если СтрокаТовара.Номенклатура.Родитель = Справочники.Номенклатура.НайтиПоНаименованию("Напитки") Тогда
            ЗаполнитьЗначенияСвойств(ТоварыДляПервойКассы.Добавить(), СтрокаТовара);
        Иначе
            ЗаполнитьЗначенияСвойств(ТоварыДляВторойКассы.Добавить(), СтрокаТовара);
        КонецЕсли;
    КонецЦикла;
    
    // Блок отправки разделенных очередей на ККТ1 и ККТ2 через стандартные механизмы БПО
    Если ТоварыДляПервойКассы.Количество() > 0 Тогда
        ВыполнитьПечатьНаУстройстве(ТоварыДляПервойКассы, ПараметрыККТ1);
    КонецЕсли;
    
    Если ТоварыДляВторойКассы.Количество() > 0 Тогда
        ВыполнитьПечатьНаУстройстве(ТоварыДляВторойКассы, ПараметрыККТ2);
    КонецЕсли;
    
    // Отменяем стандартное проведение одного общего чека на одну кассу
    Отказ = Истина; 
    
КонецПроцедуры

Установка подобного расширения решит проблему «в один клик»: кассир по-прежнему будет видеть один общий интерфейс, а программа сама распределит потоки печати.

Использование стороннего ПО (Сервер ККМ)

Еще один продвинутый вариант — использование специализированного драйверного ПО (например, программных продуктов класса «Сервер ККМ»). В этом случае в 1С подключается одна виртуальная касса, которая транслирует все чеки на локальный сервер печати. На уровне самого сервера настраиваются правила фильтрации: по кодам товаров, артикулам или ставкам НДС входящие пакеты данных разделяются и физически отправляются на разные ККТ. Этот способ надежен, но требует дополнительных затрат на лицензии стороннего софта и квалифицированной настройки системного администратора.

Организационный обходной путь (бесплатный)

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

  1. Кассир сканирует товары первой группы (например, только «Лимонад»), принимает оплату и пробивает чек на ККТ №1.
  2. Затем открывает новый чек в РМК, сканирует вторую группу товаров («Шоколад») и пробивает чек на ККТ №2.

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


Резюме и рекомендации

Проанализировав все варианты, сделаем выводы:

← На главную