Обмен — приоритетный ВидНоменклатуры из ра_ВидНоменклатурыCRM326 (1.3.0.46).
При получении номенклатуры из Рабочая CRM3 сопоставляет вид по наименованию из AdditionalInfo.РК_ВидНоменклатурыCRM326; без значения — прежний механизм. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -4,6 +4,18 @@
|
||||
|
||||
---
|
||||
|
||||
## 1.3.0.46 (2026-07-30)
|
||||
|
||||
### Обмен — приоритетный ВидНоменклатуры из ра_ВидНоменклатурыCRM326
|
||||
|
||||
Модуль: `МенеджерОбменаЧерезУниверсальныйФормат`.
|
||||
|
||||
При получении номенклатуры из **Рабочая CRM3**: если в пакете есть `AdditionalInfo.РК_ВидНоменклатурыCRM326`, `ВидНоменклатуры` сопоставляется по наименованию в целевой ИБ (перебивает защиту учётных реквизитов). Если значение не передано — действует прежний механизм обмена.
|
||||
|
||||
Пара с `crm3-dev.rhana` 1.0.1.342.
|
||||
|
||||
---
|
||||
|
||||
## 1.3.0.45 (2026-07-21)
|
||||
|
||||
### Обмен — ВидЦены строк из AdditionalInfo (Д1.3 / issue #10)
|
||||
|
||||
@@ -170,14 +170,13 @@
|
||||
Если ЗначениеЗаполнено(ПолученныеДанные.ВидНоменклатуры) Тогда
|
||||
Справочники.Номенклатура.ЗаполнитьРеквизитыПоВидуНоменклатуры(ПолученныеДанные);
|
||||
КонецЕсли;
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Если Не ПолученныеДанные.ДополнительныеСвойства.Свойство("РК_СнимокУчетаНоменклатуры") Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Иначе
|
||||
Если ПолученныеДанные.ДополнительныеСвойства.Свойство("РК_СнимокУчетаНоменклатуры") Тогда
|
||||
ЗаполнитьЗначенияСвойств(ДанныеИБ, ПолученныеДанные.ДополнительныеСвойства.РК_СнимокУчетаНоменклатуры);
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
РК_ПрименитьВидНоменклатурыCRM326ИзДополнительныхСвойств(ПолученныеДанные, ДанныеИБ);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -836,6 +835,7 @@
|
||||
Параметры.Свойство("ДанныеXDTO", ДанныеXDTO);
|
||||
Параметры.Свойство("ПолученныеДанные", ПолученныеДанные);
|
||||
РК_СохранитьВидыЦенСтрокИзAdditionalInfo(ДанныеXDTO, ПолученныеДанные, КомпонентыОбмена);
|
||||
РК_СохранитьВидНоменклатурыCRM326ИзAdditionalInfo(ДанныеXDTO, ПолученныеДанные);
|
||||
|
||||
ИначеЕсли СтрНачинаетсяС(ИмяПроцедуры, "ОтложеннаяОбработка_") Тогда
|
||||
|
||||
@@ -1044,4 +1044,71 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Ключ AdditionalInfo для вида номенклатуры CRM3-26 (доп. реквизит ра_ВидНоменклатурыCRM326 в исходной ИБ).
|
||||
//
|
||||
Функция РК_КлючAdditionalInfoВидНоменклатурыCRM326()
|
||||
Возврат "РК_ВидНоменклатурыCRM326";
|
||||
КонецФункции
|
||||
|
||||
// Сохраняет наименование вида номенклатуры из AdditionalInfo пакета в ДополнительныеСвойства номенклатуры.
|
||||
//
|
||||
Процедура РК_СохранитьВидНоменклатурыCRM326ИзAdditionalInfo(ДанныеXDTO, ПолученныеДанные)
|
||||
|
||||
Если ДанныеXDTO = Неопределено Или ПолученныеДанные = Неопределено Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Если Не ДанныеXDTO.Свойство("AdditionalInfo")
|
||||
Или ТипЗнч(ДанныеXDTO.AdditionalInfo) <> Тип("Структура") Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
НаименованиеВида = "";
|
||||
Если Не ДанныеXDTO.AdditionalInfo.Свойство(РК_КлючAdditionalInfoВидНоменклатурыCRM326(), НаименованиеВида)
|
||||
Или Не ЗначениеЗаполнено(НаименованиеВида) Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Попытка
|
||||
ПолученныеДанные.ДополнительныеСвойства.Вставить(РК_КлючAdditionalInfoВидНоменклатурыCRM326(), СокрЛП(Строка(НаименованиеВида)));
|
||||
Исключение
|
||||
// ПолученныеДанные может быть структурой без ДополнительныеСвойства.
|
||||
КонецПопытки;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Приоритетно сопоставляет ВидНоменклатуры целевой ИБ по наименованию из ра_ВидНоменклатурыCRM326.
|
||||
// Если значение не передано — остаётся текущий механизм обмена (в т.ч. защита учётных реквизитов).
|
||||
//
|
||||
Процедура РК_ПрименитьВидНоменклатурыCRM326ИзДополнительныхСвойств(ПолученныеДанные, ДанныеИБ)
|
||||
|
||||
Если ПолученныеДанные = Неопределено Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
НаименованиеВида = "";
|
||||
Попытка
|
||||
Если Не ПолученныеДанные.ДополнительныеСвойства.Свойство(РК_КлючAdditionalInfoВидНоменклатурыCRM326(), НаименованиеВида)
|
||||
Или Не ЗначениеЗаполнено(НаименованиеВида) Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
Исключение
|
||||
Возврат;
|
||||
КонецПопытки;
|
||||
|
||||
ВидНоменклатуры = Справочники.ВидыНоменклатуры.НайтиПоНаименованию(СокрЛП(Строка(НаименованиеВида)), Истина);
|
||||
Если Не ЗначениеЗаполнено(ВидНоменклатуры) Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ПолученныеДанные.ВидНоменклатуры = ВидНоменклатуры;
|
||||
|
||||
Если ДанныеИБ <> Неопределено Тогда
|
||||
ДанныеИБ.ВидНоменклатуры = ВидНоменклатуры;
|
||||
Иначе
|
||||
Справочники.Номенклатура.ЗаполнитьРеквизитыПоВидуНоменклатуры(ПолученныеДанные);
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
@@ -62,7 +62,7 @@
|
||||
<xr:Item xsi:type="xr:MDObjectRef">Role.РК_ОсновнаяРоль</xr:Item>
|
||||
</DefaultRoles>
|
||||
<Vendor/>
|
||||
<Version>1.3.0.45</Version>
|
||||
<Version>1.3.0.46</Version>
|
||||
<DefaultStyle/>
|
||||
<DefaultLanguage>Language.Русский</DefaultLanguage>
|
||||
<BriefInformation/>
|
||||
|
||||
Reference in New Issue
Block a user