Обмен crm3-dev→crm3-26: фильтр узла для доработок получения (1.3.0.38).

Защита учёта номенклатуры, складов и серий применяется только к узлу «Рабочая CRM3».

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2 changed files with 62 additions and 1 deletions
@@ -46,6 +46,45 @@
// Существующие элементы: не перезаписывать складской/финансовый учёт из источника.
// Новые элементы: применить настройки учёта вида номенклатуры целевой ИБ.
// См. docs/transfer/Анализ_синхронизации_crm3-dev_crm3-26.md, §3.2.
// Доработки применяются только к узлу «Рабочая CRM3» (исходная ИБ), не к Бухгалтерии.
// GUID узла плана обмена «Рабочая CRM3» в целевой ИБ (crm3).
//
// Возвращаемое значение:
// Строка - GUID узла корреспондента в нижнем регистре.
//
Функция РК_УзелCrm3Dev_GUID()
Возврат "97cd20ee-bb06-11f0-8dac-0cc47a7d055f";
КонецФункции
// Истина, если текущая сессия обмена — с исходной CRM (crm3_placentapharm), а не с Бухгалтерией.
//
// Параметры:
// КомпонентыОбмена - Структура - контекст текущей сессии обмена.
//
// Возвращаемое значение:
// Булево - Истина для обмена crm3-dev ↔ crm3-26.
//
Функция РК_ЭтоОбменС_Crm3Dev(КомпонентыОбмена)
Если КомпонентыОбмена = Неопределено Тогда
Возврат Ложь;
КонецЕсли;
Узел = Неопределено;
Если КомпонентыОбмена.Свойство("УзелКорреспондента") Тогда
Узел = КомпонентыОбмена.УзелКорреспондента;
ИначеЕсли КомпонентыОбмена.Свойство("УзелОбмена") Тогда
Узел = КомпонентыОбмена.УзелОбмена;
КонецЕсли;
Если Не ЗначениеЗаполнено(Узел) Тогда
Возврат Ложь;
КонецЕсли;
Возврат НРег(XMLСтрока(Узел.УникальныйИдентификатор())) = РК_УзелCrm3Dev_GUID();
КонецФункции
// Возвращает список реквизитов номенклатуры, подлежащих защите от перезаписи при обмене.
//
@@ -94,6 +133,10 @@
&Перед("ПКО_Справочник_Номенклатура_Получение_ПередЗаписьюПолученныхДанных")
Процедура РК_ПКО_Справочник_Номенклатура_Получение_ПередЗаписью_СохранитьУчет(ПолученныеДанные, ДанныеИБ, КонвертацияСвойств, КомпонентыОбмена)
Если Не РК_ЭтоОбменС_Crm3Dev(КомпонентыОбмена) Тогда
Возврат;
КонецЕсли;
Если ДанныеИБ = Неопределено Тогда
Возврат;
КонецЕсли;
@@ -118,6 +161,10 @@
&После("ПКО_Справочник_Номенклатура_Получение_ПередЗаписьюПолученныхДанных")
Процедура РК_ПКО_Справочник_Номенклатура_Получение_ПередЗаписью_УчетПослеБазы(ПолученныеДанные, ДанныеИБ, КонвертацияСвойств, КомпонентыОбмена)
Если Не РК_ЭтоОбменС_Crm3Dev(КомпонентыОбмена) Тогда
Возврат;
КонецЕсли;
Если ДанныеИБ = Неопределено Тогда
// Новая номенклатура: настройки складского и финансового учёта — из вида целевой ИБ.
Если ЗначениеЗаполнено(ПолученныеДанные.ВидНоменклатуры) Тогда
@@ -148,6 +195,9 @@
Процедура РК_ПКО_Справочник_ВидыНоменклатуры_ПередЗаписьюПолученныхДанных(ПолученныеДанные, ДанныеИБ, КонвертацияСвойств, КомпонентыОбмена)
#Вставка
Если Не РК_ЭтоОбменС_Crm3Dev(КомпонентыОбмена) Тогда
Возврат;
КонецЕсли;
Если ДанныеИБ <> Неопределено Тогда
ПолученныеДанные = Неопределено;
Возврат;
@@ -199,6 +249,9 @@
Процедура РК_ПКО_Справочник_Склады_Получение_ПередЗаписьюПолученныхДанных(ПолученныеДанные, ДанныеИБ, КонвертацияСвойств, КомпонентыОбмена)
#Вставка
Если Не РК_ЭтоОбменС_Crm3Dev(КомпонентыОбмена) Тогда
Возврат;
КонецЕсли;
Если ДанныеИБ <> Неопределено Тогда
ПолученныеДанные = Неопределено;
Возврат;
@@ -219,6 +272,10 @@
&После("ОтложеннаяОбработка_ЗаполнитьНоменклатуру")
Процедура РК_ОтложеннаяОбработка_ВосстановитьУчетНоменклатуры(КомпонентыОбмена)
Если Не РК_ЭтоОбменС_Crm3Dev(КомпонентыОбмена) Тогда
Возврат;
КонецЕсли;
Если Не КомпонентыОбмена.ПараметрыКонвертации.Свойство("РК_СнимкиУчетаНоменклатуры") Тогда
Возврат;
КонецЕсли;
@@ -302,6 +359,10 @@
//
Процедура РК_ПКО_Справочник_СерииНоменклатуры_ПередЗаписьюПолученныхДанных(ПолученныеДанные, ДанныеИБ, КонвертацияСвойств, КомпонентыОбмена)
Если Не РК_ЭтоОбменС_Crm3Dev(КомпонентыОбмена) Тогда
Возврат;
КонецЕсли;
Если ПолученныеДанные = Неопределено Тогда
Возврат;
КонецЕсли;
+1 -1
View File
@@ -62,7 +62,7 @@
<xr:Item xsi:type="xr:MDObjectRef">Role.РК_ОсновнаяРоль</xr:Item>
</DefaultRoles>
<Vendor/>
<Version>1.3.0.36</Version>
<Version>1.3.0.38</Version>
<DefaultStyle/>
<DefaultLanguage>Language.Русский</DefaultLanguage>
<BriefInformation/>