1.3.1.124: ED договоры — партнёр по РК_КодСтаройБазы (#68).

После типовой отложенной обработки договора; fallback Transfer API как у контрагентов.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
mihailkudravcev
2026-10-07 14:20:54 +03:00
parent bd438a067b
commit 8af7d4b927
4 changed files with 44 additions and 3 deletions
+7
View File
@@ -4,6 +4,13 @@
---
## 1.3.1.124 (2026-10-07)
### ED договоры: партнёр по РК_КодСтаройБазы ([#68](https://git.p7net.ru/rhana/crm3-migration/issues/68))
- Код партнёра из `AdditionalInfo` при получении договора (общий хук `ПриКонвертацииДанныхXDTO`).
- Перед записью и после `ОтложеннаяОбработка_ДоговорыКонтрагентов`: установка `Партнер` по `РК_КодСтаройБазы` (+ Transfer API fallback, как #67).
## 1.3.1.123 (2026-10-07)
### Fix: журнал при fallback партнёра ED ([#67](https://git.p7net.ru/rhana/crm3-migration/issues/67) comment-1632)
+1 -1
View File
@@ -1 +1 @@
1.3.1.123
1.3.1.124
@@ -656,7 +656,7 @@
КонецФункции
// &После ПКО_Справочник_ДоговорыКонтрагентов_Получение_ПередЗаписьюПолученныхДанных.
// Дозаполняет партнёра на договоре из контрагента до записи в ИБ.
// Партнёр договора: сначала по РК_КодСтаройБазы (как #67/#68), иначе из контрагента.
//
&После("ПКО_Справочник_ДоговорыКонтрагентов_Получение_ПередЗаписьюПолученныхДанных")
Процедура РК_ПКО_ДоговорыКонтрагентов_ДозаполнитьПартнера(ПолученныеДанные, ДанныеИБ, КонвертацияСвойств, КомпонентыОбмена)
@@ -669,6 +669,8 @@
Возврат;
КонецЕсли;
РК_УстановитьПартнераДоговораПоКодуСтаройБазы(ПолученныеДанные, КомпонентыОбмена);
Если Не ЗначениеЗаполнено(ПолученныеДанные.Партнер) И ЗначениеЗаполнено(ПолученныеДанные.Контрагент) Тогда
ПолученныеДанные.Партнер = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ПолученныеДанные.Контрагент, "Партнер");
КонецЕсли;
@@ -679,6 +681,31 @@
КонецПроцедуры
// Устанавливает Партнер договора по коду исходной ИБ (AdditionalInfo / кеш / Transfer API).
// Вызов: ПередЗаписью договора и после ОтложеннаяОбработка_ДоговорыКонтрагентов (#68).
//
Процедура РК_УстановитьПартнераДоговораПоКодуСтаройБазы(ОбъектДоговора, КомпонентыОбмена)
КодПартнера = РК_КодПартнераИсточникаДляКонтрагента(ОбъектДоговора, КомпонентыОбмена);
Если ПустаяСтрока(КодПартнера) Тогда
Возврат;
КонецЕсли;
ПартнерСсылка = РК_НайтиПартнераПоКодуСтаройБазы(КодПартнера);
Если Не ЗначениеЗаполнено(ПартнерСсылка) Тогда
ПартнерСсылка = РК_ОбеспечитьПартнераЧерезTransferAPI(КодПартнера, КомпонентыОбмена, ОбъектДоговора);
КонецЕсли;
Если Не ЗначениеЗаполнено(ПартнерСсылка) Тогда
Возврат;
КонецЕсли;
Если ОбъектДоговора.Партнер <> ПартнерСсылка Тогда
ОбъектДоговора.Партнер = ПартнерСсылка;
КонецЕсли;
КонецПроцедуры
// &После ОтложеннаяОбработка_СоздатьОбновитьОбъектыРасчетов.
// Досоздаёт объекты расчётов по договорам из пакета обмена, если типовой механизм их пропустил.
//
@@ -836,6 +863,7 @@
Параметры.Свойство("ПолученныеДанные", ПолученныеДанные);
РК_СохранитьВидыЦенСтрокИзAdditionalInfo(ДанныеXDTO, ПолученныеДанные, КомпонентыОбмена);
РК_СохранитьВидНоменклатурыCRM326ИзAdditionalInfo(ДанныеXDTO, ПолученныеДанные);
РК_СохранитьКодПартнераИзAdditionalInfo(ДанныеXDTO, ПолученныеДанные, КомпонентыОбмена);
ИначеЕсли СтрНачинаетсяС(ИмяПроцедуры, "ОтложеннаяОбработка_") Тогда
@@ -845,6 +873,12 @@
КонецЕсли;
РК_ПрименитьВидыЦенСтрокИзДополнительныхСвойств(Объект, КомпонентыОбмена);
// После типового ЗаполнениеПартнераВШапкеДокумента — партнёр договора по РК_КодСтаройБазы (#68).
Если ИмяПроцедуры = "ОтложеннаяОбработка_ДоговорыКонтрагентов"
И РК_ЭтоОбменС_Crm3Dev(КомпонентыОбмена) Тогда
РК_УстановитьПартнераДоговораПоКодуСтаройБазы(Объект, КомпонентыОбмена);
КонецЕсли;
КонецЕсли;
КонецПроцедуры
+1 -1
View File
@@ -62,7 +62,7 @@
<xr:Item xsi:type="xr:MDObjectRef">Role.РК_ОсновнаяРоль</xr:Item>
</DefaultRoles>
<Vendor/>
<Version>1.3.1.123</Version>
<Version>1.3.1.124</Version>
<DefaultStyle/>
<DefaultLanguage>Language.Русский</DefaultLanguage>
<BriefInformation/>