При построении распределенной розничной сети часто возникает классическая дилемма: как эффективно управлять маркетинговыми акциями из центрального офиса (где установлена 1С:Управление торговлей 11.4), если в магазинах используется 1С:Розница 2.2. Основная сложность заключается в том, что механизмы расчета скидок в этих конфигурациях существенно различаются, и типовой обмен через EnterpriseData не всегда корректно переносит созданные условия. В данной статье мы разберем способы организации такой системы, решим технические ошибки синхронизации и рассмотрим альтернативные варианты управления лояльностью.
Прежде чем приступать к техническим настройкам, давайте проанализируем оптимальную схему движения данных. Существует две основные модели:
Рассмотрим подробнее преимущества трехуровневой схемы. При использовании только УТ вы неизбежно столкнетесь с тем, что накопительные скидки, бонусы и подарочные сертификаты требуют единого пространства данных. Если клиент купил товар в Магазине №1, информация о его накоплениях должна мгновенно (или очень быстро) стать доступной в Магазине №2. В Рознице для этого предусмотрен штатный Дисконтный сервер, который крайне сложно и трудозатратно реализовывать на стороне УТ для внешних баз Розницы.
Часто при попытке настроить синхронизацию между версиями УТ 11.4 и Розница 2.2.7 возникает критическая ошибка: Тип не определен (ДокументСсылка.ПоступлениеТоваровУслуг). Это происходит из-за несоответствия версий правил конвертации данных, которые встроены в конфигурацию.
Выясним причину: по умолчанию в 1С:Розница могут быть загружены правила для обмена с УТ 11.3, в то время как структура метаданных в 11.4 уже претерпела изменения. Чтобы исправить это, проделаем следующие шаги:
AppData\Roaming\1C\1cv8\tmplts\...).Обмен данными\Обмен с конфигурацией Управление торговлей, ред. 11\Управление торговлей, ред. 11.4.Важный нюанс: при загрузке система может потребовать архив, содержащий три файла (ExchangeRules.xml, RegistrationRules.xml и CorrespondanceRules.xml). Убедитесь, что вы загружаете именно полный комплект, иначе ошибка неопределенного типа может сохраниться.
Если ваша задача — быстро запустить скидки на «залежавшийся» товар без покупки дополнительных лицензий на Центральную Розницу, мы рекомендуем использовать механизм Сегментов номенклатуры. Это наиболее «безболезненный» способ, так как сегменты корректно передаются через стандартный обмен.
Проанализируем алгоритм действий:
СегментыНоменклатуры включен в состав выгружаемых данных.Маркетинговая акция. В условии предоставления скидки указываем «Вхождение номенклатуры в сегмент» и выбираем пришедший из УТ сегмент.Преимущество этого метода в том, что вам не нужно каждый раз менять настройки в Рознице. Как только в УТ состав сегмента изменится (например, товар был продан или списан), при следующем обмене Розница узнает об этом, и скидка перестанет действовать на эти позиции автоматически.
В современных реалиях бизнес часто использует внешние сервисы лояльности, такие как UDS Game. В этом случае баллы клиентов хранятся в облаке разработчика сервиса. При такой схеме задача синхронизации скидок между УТ и Розницей упрощается, но появляются новые правила игры.
Рассмотрим, как правильно обрабатывать данные:
Оплата бонусами: Крайне важно, чтобы оплата баллами UDS в Рознице фиксировалась не как «Скидка в строке», а как «Вид оплаты» (аналогично оплате платежной картой или подарочным сертификатом). Это позволит избежать расхождений в Отчете о розничных продажах при загрузке его в УТ. В УТ такая оплата должна падать на специальный предопределенный счет или контрагента-эквайера (сервис UDS), чтобы бухгалтерия могла корректно закрыть взаиморасчеты.
Если же вы используете расширения для прямой интеграции Розницы с UDS, убедитесь, что при обмене с УТ не происходит «затирания» маркетинговых данных. Мы рекомендуем в настройках синхронизации со стороны УТ ставить приоритет данных приемника для документов Отчет о розничных продажах, если вы дорабатывали логику заполнения скидок в Рознице.
Мало кто знает, что в последних версиях УТ 11.4 и 11.5 появилась возможность включить функционал дисконтного сервера. Рассмотрим, как это работает: база УТ публикуется на веб-сервере, а базы Розницы в магазинах обращаются к ней через HTTP-запросы при сканировании карты клиента.
Это позволяет:
Однако помните о рисках: при отсутствии интернета в магазине кассир не сможет применить накопительную скидку, так как база Розницы не хранит информацию о бонусах локально. Поэтому для критически важных торговых точек мы все же рекомендуем гибридную схему с РИБ или регулярным обменом сегментами.
Если типовые правила вам категорически не подходят, и вы решили использовать Конвертацию данных 2.1, обратите внимание на следующий пример реализации выгрузки скидки из УТ в Розницу:
// Пример логики в ПВД (Правила выгрузки данных)
Если Объект.Статус = Перечисления.СтатусыДействияСкидокНаценок.Действует Тогда
// Создаем структуру для передачи параметров маркетинговой акции
ПараметрыАкций = Новый Структура("Магазин, Скидка, Сегмент");
ПараметрыАкций.Магазин = Объект.Склад; // Или соответствующий магазин
ВыгрузитьПоПравилу(Объект, , ПараметрыАкций, , "МаркетинговаяАкция");
КонецЕсли;
При написании собственных правил всегда учитывайте, что в УТ скидки могут быть вложенными (дерево скидок), а в Рознице они чаще всего представлены плоским списком в документе Маркетинговая акция. Проанализируйте иерархию ваших скидок перед началом разработки, чтобы избежать зацикливания при расчете цены в чеке ККМ.
В заключение отметим, что связка УТ 11 и Розница 2 — это мощный инструмент, требующий тонкой настройки правил обмена. Использование актуальных файлов правил из шаблонов конфигурации и опора на сегменты номенклатуры позволят вам построить надежную систему управления розничными продажами без лишних затрат на программирование.