Обработка написана для конфигурации 1С Управление торговлей 10.3
Подключается стандартно через справочник Дополнительные отчеты и обработки.
Если при подключении обработки заполнить колонку "Заменяемая печатная форма" и выбрать стандартную печатную форму "Универсальный передаточный документ (УПД)"

то при печати из Реализации в списке печатных форм не появится новая печатная форма.

Обработка будет запускаться при печати стандартной печатной формы УПД.
Если дата документа больше или равна 01.10.2024 г., то будет печататься новая версия УПД в редакции №1096.
Если дата документа до 01.10.24 г., то будет печататься старая версии УПД, в той редакции, которая была актуальна на тот момент.
29.10.24 Добавлена возможность печати из документа Счет фактура выданная
14.01.26 Добавлено поле (5б)
Если доработать конфигурацию УТ 10.3, то поле 5б будет заполняться.
Для этого нужно:
1. в документе: "СчетФактураВыданный" табличная часть: "ДатаНомерДокументовОплаты"
добавить реквизиты 4 новых реквизита:
- НомерСчетаФактурыНаАванс тип Строка, 50
- ДатаСчетаФактурыНаАванс тип Дата
- НомерИсправленияСчетаФактурыНаАванс тип Строка, 10
- ДатаИсправленияСчетаФактурыНаАванс тип Дата

2. в модуле формы документа "СчетФактураВыданный" - "ФормаДокумента" в конце процедуры "ПриОткрытии()" добавить текст:
//++
НоваяКолонка = ЭлементыФормы.ДатаНомерДокументовОплаты.Колонки.Добавить("НомерСчетаФактурыНаАванс");
НоваяКолонка.Данные = "НомерСчетаФактурыНаАванс";
НоваяКолонка.ТекстШапки = "Номер счета-фактуры";
НоваяКолонка.ПодсказкаВШапке = "Номер счета-фактуры на аванс";
НоваяКолонка.УстановитьЭлементУправления(Тип("ПолеВвода"));
НоваяКолонка.Ширина = 25;
НоваяКолонка = ЭлементыФормы.ДатаНомерДокументовОплаты.Колонки.Добавить("ДатаСчетаФактурыНаАванс");
НоваяКолонка.Данные = "ДатаСчетаФактурыНаАванс";
НоваяКолонка.ТекстШапки = "Дата счета-фактуры";
НоваяКолонка.ПодсказкаВШапке = "Дата счета-фактуры на аванс";
НоваяКолонка.УстановитьЭлементУправления(Тип("ПолеВвода"));
НоваяКолонка.ЭлементУправления.КнопкаВыбора = Истина;
НоваяКолонка.Ширина = 25;
НоваяКолонка = ЭлементыФормы.ДатаНомерДокументовОплаты.Колонки.Добавить("НомерИсправленияСчетаФактурыНаАванс");
НоваяКолонка.Данные = "НомерИсправленияСчетаФактурыНаАванс";
НоваяКолонка.ТекстШапки = "Номер исправления";
НоваяКолонка.ПодсказкаВШапке = "Номер исправления счета-фактуры на аванс";
НоваяКолонка.УстановитьЭлементУправления(Тип("ПолеВвода"));
НоваяКолонка.Ширина = 25;
НоваяКолонка = ЭлементыФормы.ДатаНомерДокументовОплаты.Колонки.Добавить("ДатаИсправленияСчетаФактурыНаАванс");
НоваяКолонка.Данные = "ДатаИсправленияСчетаФактурыНаАванс";
НоваяКолонка.ТекстШапки = "Дата исправления";
НоваяКолонка.ПодсказкаВШапке = "Дата исправления счета-фактуры на аванс";
НоваяКолонка.УстановитьЭлементУправления(Тип("ПолеВвода"));
НоваяКолонка.ЭлементУправления.КнопкаВыбора = Истина;
НоваяКолонка.Ширина = 25;
//--

В диалоге самой формы ни чего менять не нужно!
3. в Модуле документа СчетФактураВыданный в конце процедуры "СобратьДанныеДляПечати()" добавить текст:
//++
Если ДанныеДляПечати.Свойство("ТаблицаДатОплат") Тогда
ДанныеДляПечати.Удалить("ТаблицаДатОплат");
КонецЕсли;
ТаблицаДатОплат = ДатаНомерДокументовОплаты.Выгрузить();
ТаблицаДатОплат.Свернуть("ДатаПлатежноРасчетногоДокумента, НомерПлатежноРасчетногоДокумента, НомерСчетаФактурыНаАванс,
|ДатаСчетаФактурыНаАванс, НомерИсправленияСчетаФактурыНаАванс, ДатаИсправленияСчетаФактурыНаАванс");
СтрокиКУдалению = Новый массив();
Для каждого СтрокаОплат Из ТаблицаДатОплат Цикл
Если Не ЗначениеЗаполнено(СтрокаОплат.ДатаПлатежноРасчетногоДокумента)
И ПустаяСтрока(СтрокаОплат.НомерПлатежноРасчетногоДокумента)
И Не ЗначениеЗаполнено(СтрокаОплат.ДатаСчетаФактурыНаАванс)
И ПустаяСтрока(СтрокаОплат.НомерСчетаФактурыНаАванс) Тогда
СтрокиКУдалению.Добавить(СтрокаОплат);
КонецЕсли;
КонецЦикла;
Для каждого СтрокаКУдалению Из СтрокиКУдалению Цикл
ТаблицаДатОплат.Удалить(СтрокаКУдалению);
КонецЦикла;
ДанныеДляПечати.Вставить("ТаблицаДатОплат", ТаблицаДатОплат);
//--

Проверено на следующих конфигурациях и релизах:
- Управление торговлей, редакция 10.3, релизы 10.3.88.3, 10.3.70.2
Вступайте в нашу телеграмм-группу Инфостарт
