Как настроить продажу на несколько ККТ и организаций на одном рабочем месте в 1С:Управление торговлей 11?

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

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

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

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

---

Почему в УТ 11 нет простого распределения чеков как в Рознице?

Для начала выясним причину такого поведения систем. 1С:Розница изначально проектировалась как «фронт-офис» — быстрая, легкая система для работы непосредственно в торговом зале. В ней заложены механизмы разделения товарных потоков, так как схемы с «ИП + ООО» на патенте и ОСНО в рознице встречаются повсеместно.

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

Рассмотрим четыре практических способа решения этой проблемы — от простых организационных мер до технических доработок и интеграций.

---

Вариант 1. Организационное разделение документов в торговом зале (No-Code)

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

Разберем этот процесс по шагам:

  1. Клиент ходит по торговому залу с менеджером. Менеджер набирает товары.
  2. Вместо создания одного общего документа, менеджер на своем рабочем месте сразу разделяет товары и создает отдельные документы (например, два документа Заказ клиента или Реализация товаров и услуг) — каждый под свою организацию.
  3. Клиент подходит на кассу с номерами этих документов (или штрихкодами).
  4. Кассир последовательно открывает каждый документ в РМК и пробивает по нему чек. Чек автоматически уходит на ту ККТ, которая привязана к организации в документе.

Преимущества: Конфигурация остается полностью типовой, легко обновляется. Нет рисков ошибок при расчете себестоимости.

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

---

Вариант 2. Использование схемы «УТ 11 (Бэк-офис) + 1С:Розница (Фронт-офис)»

Это классический архитектурный подход, рекомендуемый самой фирмой 1С. Мы разделяем контуры учета. УТ 11 выступает в роли управляющей системы, где ведется глобальный учет, закупки и ценообразование. В качестве кассовых терминалов на рабочих местах кассиров устанавливается 1С:Розница.

Как работает данная схема:

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

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

Недостатки: Требуется покупка дополнительных лицензий на 1С:Розницу, настройка и администрирование обмена данными, поддержание актуальности остатков в обеих базах. Техническое обслуживание нескольких баз в такой схеме выполняет автоматическое обновление и архивирование 1С без участия пользователя.

---

Вариант 3. Использование нового тонкого клиента «1С:РМК»

Современной альтернативой полноценной 1С:Рознице является программный продукт 1С:РМК (Рабочее место кассира). Это легкое специализированное приложение, разработанное 1С специально для работы в качестве единого кассового интерфейса, подключаемого к различным конфигурациям, в том числе и к УТ 11.

Проанализируем преимущества интеграции с 1С:РМК:

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

---

Вариант 4. Программная доработка встроенного РМК в УТ 11 (написание расширения)

Если бюджет ограничен, покупать дополнительные лицензии на Розницу клиент отказывается, а работать нужно строго «в одной базе УТ», остается путь программной доработки. Чтобы не снимать конфигурацию с поддержки и сохранить возможность легкого обновления, доработку следует выполнять строго через механизм расширений.

Нам потребуется перехватить процесс проведения чека в РМК и программно разделить один исходный набор товаров на несколько документов Чек ККМ.

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


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

Важные технические нюансы при доработке:

---

Технические проблемы подключения нескольких ККТ к одному ПК

Вне зависимости от выбранного варианта (будь то Розница, РМК или доработка УТ), вы обязательно столкнетесь с аппаратной проблемой бесконфликтной работы нескольких ККТ на одном компьютере.

При подключении двух и более касс (например, марки АТОЛ) по USB-портам часто происходит конфликт драйверов: операционная система Windows может динамически менять номера COM-портов после перезагрузки ПК, из-за чего 1С теряет связь с кассами или путает их местами (чек ООО уходит на кассу ИП).

Чтобы избежать этой проблемы, рекомендуется использовать следующие подходы:

  1. Подключение по Ethernet/Wi-Fi: Подключайте ККТ к локальной сети по IP-адресам, а не по USB. Сетевые адреса статичны, и драйвер в 1С никогда не потеряет конкретное устройство.
  2. Использование KkmServer: Это специализированное стороннее программное обеспечение (прослойка), которое устанавливается на кассовый ПК. Оно берет на себя всю работу с портами и драйверами ККТ, предоставляя для 1С единый стабильный HTTP-интерфейс. 1С отправляет запросы на печать чеков на локальный веб-сервер, а KkmServer сам корректно распределяет их по физическим устройствам и управляет очередью печати, исключая зависания портов.

---

Резюме: что выбрать внедренцу?

Подведем итоги нашего анализа. Выбор архитектурного решения зависит от готовности клиента платить и технических навыков программиста:

← На главную