Обмен — этапы графика оплаты ЗаказКлиента (Д1.2) 1.3.0.42
This commit is contained in:
@@ -4,6 +4,23 @@
|
||||
|
||||
---
|
||||
|
||||
## 1.3.0.42 (2026-07-15)
|
||||
|
||||
### Обмен — этапы графика оплаты ЗаказКлиента (Д1.2)
|
||||
|
||||
База: **1.3.0.41** (ws-rhana + объекты расчётов 1.3.0.40).
|
||||
|
||||
Модуль: `МенеджерОбменаЧерезУниверсальныйФормат`.
|
||||
|
||||
- `&После("ОтложеннаяОбработка_ЗаказыПоставщикуКлиента")` — `РК_ОтложеннаяОбработка_ЗаказыПоставщикуКлиента_ЭтапыОплаты`.
|
||||
- При «бедных» этапах из XDTO (пустые `ДатаПлатежа` / `ВариантОтсчета`) ТЧ очищается и перезаполняется типовым `ЭтапыОплатыСервер.ПроверитьЗаполнитьЭтапыГрафикаОплаты` по соглашению / графику оплаты / договору.
|
||||
- При пустых реквизитах шапки из соглашения подставляются `ГрафикОплаты`, `ФормаОплаты`.
|
||||
- Только для узла **«Рабочая CRM3»** (`РК_ЭтоОбменС_Crm3Dev`).
|
||||
|
||||
Данные уже загруженных заказов: `docs/transfer/Код_дозаполнения_этапов_оплаты_заказов_crm3-26.bsl` (монорепозиторий).
|
||||
|
||||
---
|
||||
|
||||
## 1.3.0.41 (2026-07-09)
|
||||
|
||||
### HTTP Transfer API перенесён в ws-rhana
|
||||
|
||||
@@ -665,4 +665,86 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Д1.2: этапы графика оплаты из соглашения/договора при загрузке ЗаказКлиента.
|
||||
// XDTO 1.8 не передаёт ВариантОтсчета; ДатаПлатежа часто пустая.
|
||||
// Типовой ОтложеннаяОбработка_ЗаказыПоставщикуКлиента вызывает
|
||||
// ЭтапыОплатыСервер.ПроверитьЗаполнитьЭтапыГрафикаОплаты только при пустой ТЧ —
|
||||
// при «бедных» строках из пакета пересчёт не выполняется.
|
||||
//
|
||||
&После("ОтложеннаяОбработка_ЗаказыПоставщикуКлиента")
|
||||
Процедура РК_ОтложеннаяОбработка_ЗаказыПоставщикуКлиента_ЭтапыОплаты(Объект, КомпонентыОбмена)
|
||||
|
||||
Если Не РК_ЭтоОбменС_Crm3Dev(КомпонентыОбмена) Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
РК_ДозаполнитьЭтапыГрафикаОплатыПоСоглашению(Объект);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Перезаполняет ТЧ ЭтапыГрафикаОплаты, если есть строки без ДатаПлатежа / ВариантОтсчета.
|
||||
// Иначе вызывает типовое заполнение из соглашения / графика оплаты / договора.
|
||||
//
|
||||
Процедура РК_ДозаполнитьЭтапыГрафикаОплатыПоСоглашению(Объект) Экспорт
|
||||
|
||||
Если Объект = Неопределено Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
МетаОбъекта = Объект.Метаданные();
|
||||
Если МетаОбъекта.ТабличныеЧасти.Найти("ЭтапыГрафикаОплаты") = Неопределено Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Если МетаОбъекта.Реквизиты.Найти("Соглашение") = Неопределено Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
НужноПерезаполнить = Ложь;
|
||||
Если Объект.ЭтапыГрафикаОплаты.Количество() = 0 Тогда
|
||||
НужноПерезаполнить = ЗначениеЗаполнено(Объект.Соглашение)
|
||||
Или (МетаОбъекта.Реквизиты.Найти("ГрафикОплаты") <> Неопределено
|
||||
И ЗначениеЗаполнено(Объект.ГрафикОплаты))
|
||||
Или (МетаОбъекта.Реквизиты.Найти("Договор") <> Неопределено
|
||||
И ЗначениеЗаполнено(Объект.Договор));
|
||||
Иначе
|
||||
Для Каждого СтрокаЭтапа Из Объект.ЭтапыГрафикаОплаты Цикл
|
||||
Если Не ЗначениеЗаполнено(СтрокаЭтапа.ДатаПлатежа)
|
||||
Или Не ЗначениеЗаполнено(СтрокаЭтапа.ВариантОтсчета) Тогда
|
||||
НужноПерезаполнить = Истина;
|
||||
Прервать;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
КонецЕсли;
|
||||
|
||||
Если Не НужноПерезаполнить Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
// Условия из соглашения (как при перевыборе на форме): график и форма оплаты.
|
||||
Если ЗначениеЗаполнено(Объект.Соглашение)
|
||||
И ТипЗнч(Объект.Соглашение) = Тип("СправочникСсылка.СоглашенияСКлиентами") Тогда
|
||||
|
||||
РеквизитыСоглашения = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Объект.Соглашение,
|
||||
"ГрафикОплаты,ФормаОплаты");
|
||||
|
||||
Если МетаОбъекта.Реквизиты.Найти("ГрафикОплаты") <> Неопределено
|
||||
И Не ЗначениеЗаполнено(Объект.ГрафикОплаты)
|
||||
И ЗначениеЗаполнено(РеквизитыСоглашения.ГрафикОплаты) Тогда
|
||||
Объект.ГрафикОплаты = РеквизитыСоглашения.ГрафикОплаты;
|
||||
КонецЕсли;
|
||||
|
||||
Если МетаОбъекта.Реквизиты.Найти("ФормаОплаты") <> Неопределено
|
||||
И Не ЗначениеЗаполнено(Объект.ФормаОплаты)
|
||||
И ЗначениеЗаполнено(РеквизитыСоглашения.ФормаОплаты) Тогда
|
||||
Объект.ФормаОплаты = РеквизитыСоглашения.ФормаОплаты;
|
||||
КонецЕсли;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Объект.ЭтапыГрафикаОплаты.Очистить();
|
||||
ЭтапыОплатыСервер.ПроверитьЗаполнитьЭтапыГрафикаОплаты(Объект);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
@@ -62,7 +62,7 @@
|
||||
<xr:Item xsi:type="xr:MDObjectRef">Role.РК_ОсновнаяРоль</xr:Item>
|
||||
</DefaultRoles>
|
||||
<Vendor/>
|
||||
<Version>1.3.0.41</Version>
|
||||
<Version>1.3.0.42</Version>
|
||||
<DefaultStyle/>
|
||||
<DefaultLanguage>Language.Русский</DefaultLanguage>
|
||||
<BriefInformation/>
|
||||
|
||||
Reference in New Issue
Block a user