При автоматизации розничной торговли часто возникает задача реализации товаров от нескольких юридических лиц (например, ООО и ИП) на одном кассовом рабочем месте. Рассмотрим, как устроена работа с несколькими фирмами во кассовом ПО Frontol 5, а также с какими техническими ограничениями можно столкнуться при загрузке продаж в конфигурацию 1С:Розница.
В кассовом ПО Frontol 5 реализован полноценный механизм работы с несколькими организациями. Проанализируем ключевые сущности, которые необходимо настроить во Frontol:
При таком подходе кассир работает в едином окне пробития чека. При закрытии чека Frontol 5 автоматически делит позиционный состав по группам печати и печатает фискальные чеки на двух разных ККТ. В файле транзакций записи о продажах четко разделены по фирмам и группам печати.
Выясним причину, почему возникают трудности при загрузке данных продаж из Frontol 5 в стандартную конфигурацию 1С:Розница.
В типовой 1С взаимодействие с кассой Offline осуществляется через справочник ПодключаемоеОборудование. В настройках конкретного узла обмена KKM Offline в 1С жестко задаются только один склад и одна организация. При обработке файла транзакций типовой механизм 1С формирует только один документ ОтчетОРозничныхПродажах на организацию, указанную в узле подключения оборудования.
Таким образом, стандартная типовая загрузка не умеет автоматически разделять один файл продаж из Frontol на несколько документов по разным юридическим лицам.
Разберем по шагам проверенные технические способы решения задачи:
1. Использование расширения конфигурации 1С (рекомендуемый способ)
Чтобы не снимать конфигурацию с поддержки, создадим расширение, которое перехватывает обработку загрузки транзакций Frontol:
ОтчетОРозничныхПродажах для каждого юридического лица с привязкой к его организации и складу.Проанализируем пример кода алгоритма разделения загружаемых строк по организациям:
&НаСервере
Процедура СоздатьОтчетыПоОрганизациям(ТаблицаТранзакций, УзелКассы)
// Группируем проданные товары по организациям
ТаблицаПоОрганизациям = ТаблицаТранзакций.Скопировать();
ТаблицаПоОрганизациям.Свернуть("Организация");
Для Каждого СтрОрг Из ТаблицаПоОрганизациям Цикл
ДокументОРП = Документы.ОтчетОРозничныхПродажах.СоздатьДокумент();
ДокументОРП.Дата = ТекущаяДата();
ДокументОРП.Организация = СтрОрг.Организация;
ДокументОРП.Склад = СтрОрг.Организация.СкладПоУмолчанию;
ДокументОРП.ЗаполнитьЗаголовок();
// Отбираем товары конкретной фирмы из общего массива транзакций
Отбор = Новый Структура("Организация", СтрОрг.Организация);
СтрокиПродаж = ТаблицаТранзакций.НайтиСтроки(Отбор);
Для Каждого СтрПродажи Из СтрокиПродаж Цикл
НоваяСтрока = ДокументОРП.Товары.Добавить();
НоваяСтрока.Номенклатура = СтрПродажи.Номенклатура;
НоваяСтрока.Количество = СтрПродажи.Количество;
НоваяСтрока.Цена = СтрПродажи.Цена;
НоваяСтрока.Сумма = СтрПродажи.Сумма;
КонецЦикла;
ДокументОРП.Записать(РежимЗаписиДокумента.Проведение);
КонецЦикла;
КонецПроцедуры
2. Настройка двух независимых узлов обмена с разными каталогами
Если товары организаций строго разделены по категориям, создадим в 1С два отдельных узла подключения KKM Offline. В каждом узле указывается своя организация, узел ссылается на свой каталог обмена. Однако этот метод требует физического разделения файлов обмена и настройки правил во Frontol для параллельного чтения нескольких каталогов.
3. Использование специализированных бэк-офисных систем
В специализированных решениях (например, линейки продуктов «Далион») функционал работы с несколькими организациями и группами печати при обмене с Frontol заложен штатно. При импорте транзакций система автоматически распределяет продажи и списания по соответствующим организациям.
Рассмотрим дополнительные нюансы, которые необходимо учесть при внедрении мультиорганизационной торговли: