Если вы решили отслеживать даты оплаты, просроченную дебиторку, или переходите с конфигураций на 77 на УТ 10, пользуясь типовыми правилами переноса, то это обработка может быть вам полезна.
Обработка выполняет 2 функции:
- Устанавливает реквзит справочника Договоры контрагенты "Вести по документам расчетов с контрагентом" в значение Истина. Поскольку в конфигурации уже будут документы, есть нюанс с изменением этого реквизита - при записи включаются проверки на наличие документов по договорам. Обойти это можно с помощью установки свойства ОбменДанными.Загрузка = Истина.
- Заполняет табличную часть документов взаиморасчетов документами расчета. Обрабатывает документы: ПКО, РКО, платежные поручения, корректировка долга, РТиУ, ПТиУ, поступление доп. расходов, возврат товаров от покупателя, возврат товаров поставщику.
Обработка использует типовые механизмы заполнения, которые иногда работают некорректно. Поэтому, прийдется внести изменения в общий модуль УправлениеДенежнымиСредствами, в процедуру ЗаполнитьРасшифровкуПлатежей(СтруктураПараметров).
Вместо кода
Если СтруктураПараметровАвто.Свойство("ОтборПоДоговорам") Тогда
ОбработкаОбъект.ПостроительОтбораДоговоров.УстановитьНастройки(СтруктураПараметровАвто.ОтборПоДоговорам, Истина, Ложь, Ложь, Ложь, Ложь);
КонецЕсли;
нужно вставить
Если СтруктураПараметровАвто.Свойство("ОтборПоДоговорам") Тогда
Если СтруктураПараметров.Интерактивно Тогда
ОбработкаОбъект.ПостроительОтбораДоговоров.УстановитьНастройки(СтруктураПараметровАвто.ОтборПоДоговорам, Истина, Ложь, Ложь, Ложь, Ложь);
Иначе
ЭлементОтбора = ОбработкаОбъект.ПостроительОтбораДоговоров.Отбор.Добавить("ДоговорКонтрагента",, "ДоговорКонтрагента"); //мае
ЭлементОтбора.ВидСравнения = ВидСравнения.Равно;
ЭлементОтбора.Значение = СтруктураПараметровАвто.ОтборПоДоговорам;
ЭлементОтбора.Использование = Истина;
КонецЕсли;
КонецЕсли;
Затем, нужно изменить обработку ПодборПараметровРасшифровкиПлатежа.
В функцию ПолучитьДоговорПоУмолчанию() нужно вставить следующие строки в самом начале
Отбор = ПостроительОтбораДоговоров.Отбор;
Если Отбор.Количество() > 0 И Отбор[0].имя = "ДоговорКонтрагента" Тогда
ДоговорПоУмолчанию = Отбор[0].Значение;
Возврат ДоговорПоУмолчанию;
КонецЕсли;:
Реквизит Организация на форме не фильтрует организацию, а заполняет аналогичено поле в договорах, если оно вдруг пустое.