В розничной торговле часто возникает ситуация, когда в одном торговом зале работают два разных индивидуальных предпринимателя (ИП). Классический пример — зоомагазин совмещенный с ветеринарной аптекой. Согласно законодательству РФ, для продажи лекарственных препаратов для животных требуется специальная лицензия, оформить которую ИП может только при наличии профильного ветеринарного образования. В результате обычные товары (корма, игрушки) продаются от имени одного ИП, а ветеринарные препараты — от имени другого, у которого есть лицензия.
Для экономии пространства и бюджета владельцы бизнеса стремятся организовать работу на одном компьютере с двумя подключенными фискальными регистраторами (онлайн-кассами). В этой статье мы подробно разберем, как решить эту задачу в программе 1С:Управление торговлей 11 (УТ 11.4 / 11.5), проанализируем архитектурные ограничения системы и рассмотрим три практических сценария реализации.
Выясним причину, по которой кассиру неудобно работать с двумя организациями в стандартном интерфейсе РМК (Рабочее место кассира) в УТ 11. В отличие от специализированного решения «1С:Розница» или «1С:УНФ», где РМК представляет собой промежуточную корзину товаров, способную при оплате автоматически генерировать несколько документов под разные организации, в УТ 11 архитектура построена иначе.
В «1С:Управление торговлей» форма РМК жестко привязана к документу ДокументСсылка.ЧекККМ. На уровне базы данных один документ не может быть оформлен одновременно от двух юридических лиц. Из-за этого в типовой конфигурации невозможно отсканировать в один чек и корма, и лекарства, а затем нажать одну кнопку и получить два фискальных чека из разных касс. Программа требует от кассира явного выбора организации перед началом оформления продажи.
Если вы хотите работать исключительно в рамках стандартной конфигурации без привлечения программистов и покупки сторонних лицензий, мы можем настроить схему с ручным переключением касс. Рассмотрим по шагам, как это реализовать.
Шаг 1. Создание организаций и касс ККМ
В первую очередь необходимо завести в справочнике обе организации (наших двух ИП) и настроить для них торговые склады. Если склад физически один, в программе можно создать один склад, но для каждой организации настроить свои кассы ККМ. Перейдем в меню НСИ и администрирование -> НСИ -> Кассы ККМ и создадим две записи:
Шаг 2. Включение контроля остатков товаров организаций
В условиях большого потока покупателей кассир неизбежно будет ошибаться и забывать переключать активную организацию в РМК. Если продавец попытается пробить ветеринарный препарат по кассе обычного ИП, это приведет к грубейшему нарушению лицензионных требований и кассовой дисциплины (пересортице по организациям).
Чтобы исключить человеческий фактор, мы обязаны включить жесткий контроль остатков организаций. Проследуем по пути: НСИ и администрирование -> Настройка НСИ и разделов -> Финансовый результат и контроллинг -> Учет товаров и установим флаг у опции Контролировать остатки товаров организаций. Это системное ограничение заблокирует проведение чека, если кассир попытается продать товар, не числящийся на остатках выбранного в данный момент ИП.
Шаг 3. Работа кассира в РМК
Проанализируем ежедневный рабочий процесс кассира при такой схеме:
Плюсы: Абсолютно бесплатно, не требует доработки системы, сохраняется типовая поддержка программы.
Минусы: Крайне низкая скорость работы, высокая нагрузка на кассира, риск возникновения очередей.
Для того чтобы обойти архитектурные ограничения УТ 11 без изменения конфигурации, фирма 1С предлагает использовать специализированное приложение-фронт — «1С:Рабочее место кассира» (1С:РМК).
Давайте разберем этот вариант подробнее. «1С:РМК» — это легкая программа, которая устанавливается непосредственно на компьютер кассира. Она не содержит в себе тяжелых механизмов учета, а синхронизируется с вашей основной базой УТ 11 по стандартным протоколам. Из УТ 11 в РМК выгружаются товары, цены, дисконтные карты и остатки, а обратно возвращаются оформленные чеки.
Главное преимущество этого подхода заключается в том, что в «1С:РМК» изначально заложен штатный функционал «Распределение продаж по организациям». Посмотрим, как это настроить:
Для кассира это выглядит как единый бесшовный процесс, требующий лишь двойного прикладывания банковской карты клиентом к терминалу.
Плюсы: Максимально быстрое обслуживание клиентов, штатный и поддерживаемый вендором механизм автоматического разделения чеков, отсутствие необходимости в доработке основной базы УТ 11.
Минусы: Требуется настроить синхронизацию данных между УТ 11 и 1С:РМК, что добавляет еще одно звено в ИТ-инфраструктуру предприятия.
Если вы категорически против использования сторонних баз и программных продуктов (таких как «1С:РМК» или «1С:Розница»), но хотите получить удобное автоматическое распределение чеков прямо внутри «1С:Управление торговлей», вашим решением станет использование **расширения конфигурации**.
Расширение — это специальный программный модуль, который устанавливается в базу данных без снятия конфигурации с поддержки. Оно перехватывает стандартные функции РМК в УТ 11. Напишем примерный алгоритм, по которому программист может реализовать автоматическое разделение чеков:
// Пример упрощенного алгоритма разделения товаров в документе ЧекККМ
Процедура ПередЗаписьюДокумента(Источник, Отказ, РежимЗаписи, РежимПроведения) Экспорт
// Проверим, что документ проводится из формы РМК
Если Источник.ДополнительныеСвойства.Свойство("ПроводитьИзРМК") Тогда
ТаблицаТоваров = Источник.Товары.Выгрузить();
// Отбираем товары первого ИП (например, обычные товары)
ПараметрыОтбораИП1 = Новый Структура("Организация", Справочники.Организации.НайтиПоРеквизиту("ИНН", "123456789011"));
ТоварыИП1 = ТаблицаТоваров.Скопировать(ПараметрыОтбораИП1);
// Отбираем товары второго ИП (ветеринарные препараты)
ПараметрыОтбораИП2 = Новый Структура("Организация", Справочники.Организации.НайтиПоРеквизиту("ИНН", "987654321022"));
ТоварыИП2 = ТаблицаТоваров.Скопировать(ПараметрыОтбораИП2);
Если ТоварыИП1.Количество() > 0 И ТоварыИП2.Количество() > 0 Тогда
// Программа программно создает новый Чек ККМ для второй организации,
// переносит туда строки из таблицы "ТоварыИП2", проводит его и отправляет на печать.
// Из текущего чека строки "ТоварыИП2" удаляются.
СоздатьИПробитьДополнительныйЧек(ТоварыИП2, Источник.ОрганизацияИП2);
КонецЕсли;
КонецЕсли;
КонецПроцедуры
При использовании расширения кассир продолжает работать в стандартном, давно привычном интерфейсе УТ 11, не замечая внутренней кухни разделения документов. База остается чистой, без дублирования функционала.
Плюсы: Работа в единой базе без синхронизаций, автоматическое разделение товаров, высокая эргономика рабочего места.
Минусы: Зависимость от обновлений 1С. При обновлении релиза УТ 11 разработчики могут изменить код стандартного РМК, из-за чего расширение придется адаптировать под новый релиз силами программиста.
Некоторые системные администраторы предлагают решить проблему с помощью стандартного механизма Интеркампани (передача товаров между организациями). Давайте разберем, почему в случае с лицензируемой ветеринарной деятельностью этот подход неприменим.
Схема Интеркампани позволяет продать товар организации А, даже если он физически числится на остатках организации Б, с последующим автоматическим оформлением передачи (продажи) между ними в конце месяца. Однако согласно Федеральному закону № 54-ФЗ и закону «О ветеринарии»:
Следовательно, физическое разделение чеков на уровне фискальных накопителей двух касс в момент совершения покупки является обязательным и безальтернативным условием.
Проанализировав все возможные варианты, мы можем сделать следующие выводы для построения оптимальной ИТ-архитектуры вашего бизнеса: