Как подключить несколько касс ККМ от разных организаций к одному компьютеру в 1С?

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

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

Основные принципы подключения

Первое, что необходимо уяснить: система 1С позволяет регистрировать множество экземпляров подключаемого оборудования на одном компьютере. Главная сложность заключается не в физическом подключении, а в корректном переключении логики взаимодействия с портами и драйверами устройств.

  1. Разделение по портам: Каждая касса должна быть привязана к своему уникальному порту (COM или виртуальному USB-порту). Если у вас 5 касс, вам потребуется 5 свободных портов.
  2. Настройка драйверов: Если все кассы одной модели, вы можете использовать один драйвер. Если модели разные — для каждой устанавливается свой драйвер.
  3. Привязка к организации: В карточке ККТ с передачей данных обязательно указывается Организация. Это ключевой момент, который позволит системе понимать, какой именно чек печатать при формировании реализации товаров.

Вариант 1: Типовой подход (Рекомендуемый)

Рассмотрим, как это реализовать стандартными средствами. В разделе НСИ и администрирование перейдите в РМК и оборудование. Нам необходимо создать 5 независимых записей в справочнике Подключаемое оборудование.

Для каждой записи:

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

Вариант 2: Доработка при ограничениях (Программный подход)

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

Основная идея заключается в том, чтобы подключать и отключать драйвер устройства непосредственно перед выполнением операции печати чека. Это позволяет «развязать» конфликтующие устройства.

Пример логики работы:


// Пример логики выбора устройства
Процедура ВыполнитьПечатьЧека(Организация, ДанныеЧека)
    // Определяем параметры подключения для конкретной организации
    Порт = ПолучитьПортПоОрганизации(Организация);
    
    // Подключаем драйвер
    ОбъектДрайвера.УстановитьПараметр("Порт", Порт);
    ОбъектДрайвера.Подключить();
    
    // Выполняем печать
    ОбъектДрайвера.СформироватьЧек(ДанныеЧека);
    
    // Обязательно отключаем для освобождения порта
    ОбъектДрайвера.Отключить();
КонецПроцедуры

Однако, как советуют опытные специалисты, вместо постоянного переподключения драйвера лучше использовать установку активного ЛУ (логического устройства) в сессии 1С. Это более стабильный и правильный путь с точки зрения архитектуры 1С.

Особенности работы с маркировкой

Поскольку речь идет о маркированной продукции (обувь, текстиль), крайне важно учитывать следующие аспекты:

Заключение и советы

Анализируя ситуацию, можно сделать вывод: если стандартный интерфейс РМК не дает выбрать нужную кассу из-за жестких проверок в коде, самым эффективным решением будет создание расширения конфигурации. В расширении можно переопределить методы получения списка доступных касс, убрав проверку на количество «одна организация — одна касса». Это позволит использовать весь функционал 1С без риска поломки обновлений системы.

Начните с настройки типового функционала. Если в процессе тестов возникнут конфликты при обращении к портам, переходите к реализации логики выбора активного устройства программным методом, описанным выше.

← На главную