diff --git a/CHANGELOG.md b/CHANGELOG.md
index 4c85599..79dbdab 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -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)
diff --git a/VERSION b/VERSION
index 93d6b19..20541a7 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-1.3.0.45
+1.3.0.46
diff --git a/src/CommonModules/МенеджерОбменаЧерезУниверсальныйФормат/Ext/Module.bsl b/src/CommonModules/МенеджерОбменаЧерезУниверсальныйФормат/Ext/Module.bsl
index 115994b..b000f00 100644
--- a/src/CommonModules/МенеджерОбменаЧерезУниверсальныйФормат/Ext/Module.bsl
+++ b/src/CommonModules/МенеджерОбменаЧерезУниверсальныйФормат/Ext/Module.bsl
@@ -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(), НаименованиеВида)
+ Или Не ЗначениеЗаполнено(НаименованиеВида) Тогда
+ Возврат;
+ КонецЕсли;
+ Исключение
+ Возврат;
+ КонецПопытки;
+
+ ВидНоменклатуры = Справочники.ВидыНоменклатуры.НайтиПоНаименованию(СокрЛП(Строка(НаименованиеВида)), Истина);
+ Если Не ЗначениеЗаполнено(ВидНоменклатуры) Тогда
+ Возврат;
+ КонецЕсли;
+
+ ПолученныеДанные.ВидНоменклатуры = ВидНоменклатуры;
+
+ Если ДанныеИБ <> Неопределено Тогда
+ ДанныеИБ.ВидНоменклатуры = ВидНоменклатуры;
+ Иначе
+ Справочники.Номенклатура.ЗаполнитьРеквизитыПоВидуНоменклатуры(ПолученныеДанные);
+ КонецЕсли;
+
+КонецПроцедуры
+
#КонецОбласти
diff --git a/src/Configuration.xml b/src/Configuration.xml
index c61576e..4cb1ca7 100644
--- a/src/Configuration.xml
+++ b/src/Configuration.xml
@@ -62,7 +62,7 @@
Role.РК_ОсновнаяРоль
- 1.3.0.45
+ 1.3.0.46
Language.Русский