Обработки предназначены для заполнения табличных частей документов Требование- накладная, Реализация услуг по переработке, Передача товаров для УПП 1.3 Протестировано на УПП 1.3 (1.3.147.1) Платформа 1С 8.3.17.1549
Обработка состоит в общем-то из одной процедуры модуля объекта
Процедура Инициализировать(Объект, ИмяТабличнойЧасти, ТабличноеПолеОбъекта) Экспорт
Если Объект.Проведен Тогда
Предупреждение("Заполнение возможно только в непроведенном документе");
Возврат;
КонецЕсли;
Если Объект.Товары.Количество() > 0 Тогда
Ответ = Вопрос("В документе уже присутствуют строки!
|При заполнении табличная часть будет очищена.
|Продолжить?", РежимДиалогаВопрос.ДаНет,, КодВозвратаДиалога.Нет);
Если Не Ответ = КодВозвратаДиалога.Да Тогда
Возврат;
КонецЕсли;
КонецЕсли;
Объект.Товары.Очистить();
ФормаОбработки = ЭтотОбъект.ПолучитьФорму();
ФормаОбработки.ОткрытьМодально();
Если СписокПоступлений.Количество() > 0 ТОгда
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ПоступлениеТоваровТовары.Номенклатура,
| ПоступлениеТоваровТовары.ЕдиницаИзмеренияМест,
| ПоступлениеТоваровТовары.КоличествоМест,
| ПоступлениеТоваровТовары.Ссылка.Сделка КАК Заказ,
| ПоступлениеТоваровТовары.ЕдиницаИзмерения,
| ПоступлениеТоваровТовары.Количество,
| ПоступлениеТоваровТовары.Цена,
| ПоступлениеТоваровТовары.Сумма,
| ПоступлениеТоваровТовары.Коэффициент,
| ПоступлениеТоваровТовары.ХарактеристикаНоменклатуры,
| ПоступлениеТоваровТовары.СерияНоменклатуры,
| ПоступлениеТоваровТовары.СчетУчетаБУ,
| ПоступлениеТоваровТовары.СчетУчетаНУ,
| ПоступлениеТоваровТовары.Ссылка.СкладОрдер КАК Склад
|ИЗ
| Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровТовары
|ГДЕ
| ПоступлениеТоваровТовары.Ссылка В(&СписокПоступлений)
|ИТОГИ ПО
| ОБЩИЕ";
Запрос.УстановитьПараметр("СписокПоступлений", СписокПоступлений);
РезультатЗапроса = Запрос.Выполнить();
ТабЗапроса = РезультатЗапроса.Выгрузить();
ТабЗапроса.Свернуть("Номенклатура,ЕдиницаИзмеренияМест,ЕдиницаИзмерения,Цена,ХарактеристикаНоменклатуры,СерияНоменклатуры,Коэффициент,СчетУчетаБУ,СчетУчетаНУ","Количество,КоличествоМест,Сумма");
ТабЗапроса.Колонки.Добавить("Качество");
МассивУдаления = Новый Массив;
Для Каждого Строка Из ТабЗапроса Цикл
Если НЕ ЗначениеЗаполнено(Строка.Номенклатура) Тогда
МассивУдаления.Добавить(Строка);
Иначе
Строка.Качество = Справочники.Качество.Новый;
КонецЕсли;
КонецЦикла;
Для каждого Стр Из МассивУдаления Цикл
ТабЗапроса.Удалить(Стр);
КонецЦикла;
Объект.Товары.Загрузить(ТабЗапроса);
Для Каждого СтрокаП ИЗ Объект.Товары Цикл
ОбработкаТабличныхЧастей.ПриИзмененииНоменклатурыТабЧасти(СтрокаП, Объект);
ОбработкаТабличныхЧастей.ЗаполнитьЕдиницуЦенуПродажиТабЧасти(СтрокаП, Объект, Константы.ВалютаРегламентированногоУчета.Получить());
ОбработкаТабличныхЧастей.РассчитатьСуммуТабЧасти(СтрокаП, Объект);
// Рассчитываем реквизиты табличной части.
Объект.ЗаполнитьСчетаУчетаВСтрокеТабЧастиРегл(СтрокаП, "Товары", Объект.ОтражатьВБухгалтерскомУчете, Объект.ОтражатьВНалоговомУчете);
КонецЦИкла;
КонецЕсли;
КонецПроцедуры
Главная фишка в том, что при открытии обработки вам будет предложено из списка документов выбрать нужные. И вы можете на основании нескольких авансовых отчетов сделать один документ Требование накладная.
Подключаются обработки с помощью стандартного механизма УПП. Под интерфейсом Полный. Сервис - Дополнительные внешние отчеты и обработки - Обработки заполнения табличных частей. После загрузки обработки в базу УПП появляются новые строчки в меню Заполнить табличных частей указанных документов, как указано на рисунках анонса