При автоматизации розничной торговли часто возникает ситуация, когда на одной торговой точке (и даже на одном рабочем месте кассира) ведется деятельность от имени нескольких юридических лиц или индивидуальных предпринимателей (ИП). Например, продажа продуктов питания идет от ООО, а алкоголь или сопутствующие товары — от ИП. Соответственно, на рабочем месте устанавливается несколько фискальных регистраторов (ККТ).
В такой архитектуре ключевым вопросом становится удобство работы кассира. Идеальный сценарий — когда кассир работает в едином окне Рабочего места кассира (РМК), сканирует товары, а система сама решает, на какую организацию отнести позицию и на каком фискальном регистраторе напечатать чек. В этой статье мы подробно разберем, как решить проблему смены ККТ и организации "на лету" в программе 1С:Розница, проанализируем ограничения платформы и рассмотрим как штатные механизмы, так и профессиональные варианты доработки системы.
Для начала выясним причину технического ограничения, с которым сталкиваются пользователи. В типовой архитектуре «1С:Предприятие» (и конкретно в «1С:Розница» редакции 2) жестко действует следующее правило:
Один запущенный сеанс пользователя = Одно Рабочее место (из справочника РабочиеМеста) = Одна активная касса ККМ (из справочника КассыККМ).
Когда кассир открывает РМК, система считывает сетевое имя компьютера (ID клиента) и по нему находит привязанное оборудование в справочнике ПодключаемоеОборудование. Напрямую переключить кассу ККМ, склад или организацию в открытой форме РМК без перезапуска сеанса или без использования жестких правил распределения программа не позволяет. Ручной выбор организации для каждой строчки чека "из коробки" в интерфейсе РМК отсутствует.
Давайте рассмотрим детально все возможные способы решения этой задачи — от простых штатных настроек до сложных программных обходов.
Это единственный полноценный способ организовать одновременную торговлю от двух и более организаций на одном рабочем месте без изменения программного кода конфигурации. Метод базируется на жесткой привязке номенклатурных позиций к определенным фискальным регистраторам через товарные группы.
Разберем процесс настройки по шагам:
ТоварнаяГруппа укажем созданные группы. Для массового заполнения рекомендуем использовать обработку "Групповое изменение реквизитов".ТоварнаяГруппа на какую Организацию и на какой конкретно склад (и кассу ККМ) должна отправляться при пробитии чека.Как это работает на практике: Кассир открывает РМК под своим стандартным рабочим местом. Он сканирует товары в один общий список (в один чек на экране). В момент нажатия кнопки "Оплата" система анализирует товарную группу каждой строки. Программа автоматически разделяет покупку на несколько фискальных документов и поочередно отправляет команды печати на соответствующие ККТ (например, сначала печатается чек на ККТ №1 от имени ООО, затем чек на ККТ №2 от имени ИП).
Ограничения метода: Этот способ идеален, если ассортимент строго разделен между ИП. Но он совершенно не подходит, если один и тот же товар может быть продан как от ООО, так и от ИП (например, в зависимости от формы оплаты или по выбору кассира). В рамках этого механизма у одного товара всегда может быть только один владелец.
Если кассиру все же требуется полностью переключить контекст работы (выбрать другой склад, организацию и кассу), в современных релизах «1С:Розница 2» предусмотрена команда смены торговой точки без полного перезапуска программы.
Рассмотрим этот алгоритм:
Система автоматически инициализирует новые параметры сеанса, переподключит торговое оборудование, привязанное к новому складу, и обновит остатки товаров. Однако этот способ требует от кассира повторной авторизации и занимает определенное время, что замедляет обслуживание клиентов при потоковых продажах.
Для того чтобы кассир мог выбирать режим работы при старте системы без запуска нескольких тяжелых экземпляров программы 1С (что сильно нагружает оперативную память компьютера), разработчики используют метод "виртуальных рабочих мест".
Суть метода заключается в создании нескольких карточек в справочнике РабочиеМеста для одного физического компьютера. По умолчанию система привязывает рабочее место к имени компьютера в сети (NetBIOS-имени). Нам необходимо обойти это ограничение.
Давайте посмотрим, как программно реализовать выбор рабочего места при запуске:
РабочиеМеста с одинаковым именем компьютера, но разными наименованиями (например, "Касса 1 (ИП)" и "Касса 1 (ООО)").Рассмотрим пример кода на встроенном языке 1С, который выполняет подмену рабочего места в параметрах сеанса:
Процедура УстановитьВиртуальноеРабочееМесто(ВыбранноеРабочееМестоRef) Экспорт
// Устанавливаем выбранное рабочее место в параметры сеанса
ПараметрыСеанса.РабочееМестоКлиента = ВыбранноеРабочееМестоRef;
// Сбрасываем кэш подключенного оборудования, чтобы система переинициализировала устройства
МенеджерОборудованияКлиент.ОчиститьКэшПодключенногоОборудования();
// Заново подключаем устройства для нового контекста рабочего места
РезультатПодключения = МенеджерОборудованияКлиент.ПодключитьОборудованиеПоРабочемуМесту(ПараметрыСеанса.РабочееМестоКлиента);
Если Не РезультатПодключения Тогда
ВызватьИсключение "Ошибка инициализации торгового оборудования для выбранного рабочего места!";
КонецЕсли;
КонецПроцедуры
Используя этот метод, кассир при запуске 1С выбирает, под каким профилем он будет работать. Программа загружает только те настройки и ту ККТ, которые привязаны к выбранному профилю, при этом на компьютере запущен только один экономичный сеанс 1С.
Если бизнес-процесс требует, чтобы кассир прямо в процессе подбора товара в чек мог решить, на какую кассу отправить документ, стандартными средствами это сделать невозможно. В этом случае применяются расширения конфигурации (файлы формата *.cfe), которые устанавливаются через меню Администрирование — Печатные формы, отчеты и обработки — Расширения.
Такие расширения обычно модифицируют форму РМК следующим образом:
Организация в документе "Чек ККМ" и перенаправляет поток печати на соответствующее устройство ККТ, минуя жесткие настройки товарного распределения.Этот вариант является наиболее гибким, так как не требует дублирования номенклатуры и позволяет кассиру принимать решение индивидуально для каждого покупателя прямо "на лету".
Если вы планируете модернизацию вашей учетной системы, настоятельно рекомендуем обратить внимание на новые решения от фирмы 1С. В конфигурациях линейки 3.0 (например, 1С:Розница 3.0 и 1С:УНФ 3.0), а также в специализированном автономном приложении 1С:РМК, данные задачи решены на принципиально новом уровне.
В этих программах реализован полноценный встроенный механизм Интеркампани (межфирменные продажи). Программа позволяет продавать на кассе товар, который фактически принадлежит другой организации холдинга. Система сама контролирует остатки, позволяет пробивать чеки на нужной кассе, а в конце дня или месяца автоматически формирует документы передачи товаров между вашими организациями (ООО и ИП). Это полностью избавляет от необходимости ручного переключения складов и касс кассиром.