diff --git a/src/CommonModules/МенеджерОбменаЧерезУниверсальныйФормат/Ext/Module.bsl b/src/CommonModules/МенеджерОбменаЧерезУниверсальныйФормат/Ext/Module.bsl index 7e70863..e5a1495 100644 --- a/src/CommonModules/МенеджерОбменаЧерезУниверсальныйФормат/Ext/Module.bsl +++ b/src/CommonModules/МенеджерОбменаЧерезУниверсальныйФормат/Ext/Module.bsl @@ -35,4 +35,61 @@ КонецЕсли; КонецПроцедуры #КонецОбласти +#КонецОбласти + +#Область Синхронизация_crm3_dev_crm3_26 + +// 01.07.2026 — синхронизация crm3-dev → crm3-26 (ПКО Справочник_Номенклатура_Получение). +// Суть: не менять способ учёта номенклатуры в целевой ИБ при обновлении существующих +// элементов. Перед типовой обработкой сохраняем снимок учётных реквизитов целевой базы, +// после — восстанавливаем их в объект записи (ВидНоменклатуры, ОсобенностьУчета и др.). + +&Перед("ПКО_Справочник_Номенклатура_Получение_ПередЗаписьюПолученныхДанных") +Процедура РК_ПКО_Справочник_Номенклатура_Получение_ПередЗаписью_СохранитьУчет(ПолученныеДанные, ДанныеИБ, КонвертацияСвойств, КомпонентыОбмена) + + Если ДанныеИБ = Неопределено Тогда + Возврат; + КонецЕсли; + + СнимокУчета = Новый Структура( + "ВидНоменклатуры, ОсобенностьУчета, ТипНоменклатуры, ИспользованиеХарактеристик, ВладелецСерий, ВладелецХарактеристик"); + ЗаполнитьЗначенияСвойств(СнимокУчета, ДанныеИБ); + ПолученныеДанные.ДополнительныеСвойства.Вставить("РК_СнимокУчетаНоменклатуры", СнимокУчета); + +КонецПроцедуры + +&После("ПКО_Справочник_Номенклатура_Получение_ПередЗаписьюПолученныхДанных") +Процедура РК_ПКО_Справочник_Номенклатура_Получение_ПередЗаписью_ВосстановитьУчет(ПолученныеДанные, ДанныеИБ, КонвертацияСвойств, КомпонентыОбмена) + + Если ДанныеИБ = Неопределено Тогда + Возврат; + КонецЕсли; + + Если Не ПолученныеДанные.ДополнительныеСвойства.Свойство("РК_СнимокУчетаНоменклатуры") Тогда + Возврат; + КонецЕсли; + + ЗаполнитьЗначенияСвойств(ДанныеИБ, ПолученныеДанные.ДополнительныеСвойства.РК_СнимокУчетаНоменклатуры); + +КонецПроцедуры + +&ИзменениеИКонтроль("ПКО_Справочник_Склады_Получение_ПередЗаписьюПолученныхДанных") +Процедура РК_ПКО_Справочник_Склады_Получение_ПередЗаписьюПолученныхДанных(ПолученныеДанные, ДанныеИБ, КонвертацияСвойств, КомпонентыОбмена) + + #Вставка + // 01.07.2026 — синхронизация crm3-dev → crm3-26 (ПКО Справочник_Склады_Получение). + // Суть: не обновлять склады, уже существующие в целевой ИБ (ДанныеИБ заполнен, + // сопоставление по GUID сохраняется). Типовой обмен перезаписывал бы наименование, + // тип склада, контактную информацию данными из источника. + // Новые склады (ДанныеИБ = Неопределено) по-прежнему создаются при первой выгрузке. + Если ДанныеИБ <> Неопределено Тогда + ПолученныеДанные = Неопределено; + Возврат; + КонецЕсли; + #КонецВставки + + ЗагрузитьДополнительныеСведения(?(ДанныеИБ = Неопределено, ПолученныеДанные.ПолучитьСсылкуНового(), ДанныеИБ.Ссылка), + ПолученныеДанные.ДополнительныеСвойства, КомпонентыОбмена); +КонецПроцедуры + #КонецОбласти \ No newline at end of file diff --git a/src/Configuration.xml b/src/Configuration.xml index 8abfd04..76f09ae 100644 --- a/src/Configuration.xml +++ b/src/Configuration.xml @@ -62,7 +62,7 @@ Role.РК_ОсновнаяРоль - 1.3.0.35 + 1.3.0.36 Language.Русский