Настройка управления мастер-данными (MDM) в холдинговой структуре 1С
В распределенной структуре холдинга с десятками баз 1С возникают проблемы:
- Дублирование карточек номенклатуры и контрагентов в дочерних информационных базах.
- Разногласия в финансовой консолидации холдинга из-за несоответствия статей ДДС и затрат.
- Несанкционированное локальное изменение реквизитов мастер-справочников пользователями филиалов.
- Конфликты версий при одновременном редактировании нормативно-справочной информации (НСИ).
1. Архитектура централизованного управления НСИ (MDM)
Применяется модель Централизованного управления с мастер-базой (Hub-and-Spoke):
- Эталонная база (MDM-хаб / 1С:УХ / 1С:ERP): Только здесь разрешено создание и ведение мастер-данных (Номенклатура, Контрагенты, План счетов).
- Локальные базы филиалов (Spokes): Мастер-справочники заблокированы для ручного добавления/редактирования и синхронизируются из Хаба в режиме «только чтение».
- Заявки на добавление НСИ: Инициатор создает в локальной базе заявку, которая уходит на согласование корпоративным экспертам НСИ в мастер-базу.
2. Программный запрет локального изменения мастер-данных в базах филиалов
// Подписка на событие: ПередЗаписьюСправочникаНоменклатура
Процедура ЗапретитьЛокальноеРедактированиеНСИПередЗаписью(Источник, Отказ)
// Если запись выполняется не механизмом обмена данными
Если НЕ Источник.ОбменДанными.Загрузка Тогда
Если Константы.ЭтоПодчиненныйУзелНСИ.Получить() Тогда
Отказ = Истина;
ВызватьИсключение "Редактирование справочника 'Номенклатура' запрещено корпоративной политикой MDM. Создайте заявку на добавление НСИ.";
КонецЕсли;
КонецЕсли;
КонецПроцедуры3. Репликация эталонной карточки из MDM-хаба с фиксацией глобального UUID
&НаСервере
Процедура РеплицироватьМастерЗапись(ДанныеЭталонаJSON, МассивУзловПриемников)
Для Каждого Узел Из МассивУзловПриемников Цикл
Запись = РегистрыСведений.ОчередьMDMВыгрузки.СоздатьМенеджерЗаписи();
Запись.УзелНазначения = Узел;
Запись.Идентификатор = Новый УникальныйИдентификатор();
Запись.GlobalUUID = ДанныеЭталонаJSON.GlobalUUID;
Запись.ТипОбъекта = "Номенклатура";
Запись.ДанныеОбъекта = ДанныеЭталонаJSON.JSON;
Запись.ДатаРегистрации = ТекущаяДатаСеанса();
Запись.Записать();
КонецЦикла;
КонецПроцедуры Частые вопросы (FAQ)
Что такое Global UUID в архитектуре MDM?
Это неизменяемый сквозной идентификатор GUID эталонной сущности, который присваивается объекту в MDM-хабе и жестко транслируется во все дочерние базы при первичной репликации.
Как быть с уникальными локальными реквизитами филиала (например, локальный склад)?
Используйте расширения или дополнительные реквизиты/сведения, разделяя карточку на корпоративный слой (управляется MDM) и локальный слой (редактируется филиалом).
Как бороться с существующими миллионами дублей перед запуском MDM?
Используйте специализированные конфигурации (1С:MDM / 1С:Управление холдингом) с модулями дедупликации, поиска нечетких дублей (fuzzy matching) и гармонизации справочников.
Как передаются заявки на изменение НСИ из филиала в мастер-базу?
Заявка формируется как отдельный документ в локальной базе и отправляется через HTTP/REST сервис в мастер-базу на маршрут бизнес-процесса согласования.