Как заполнить данные табличной части внешней печатной формы ОтчетКомитенту?
Добрый день коллеги. Кто может помочь разобрать данный вопрос. Уже всю голову сломал. В документе ОтчетКомитентуОПродажах есть печатная форма ОтчетКомитенту. Исходя из задач организации необходимо сделать печатную форму по представленному образцу. Все бы ничего но уже 3-й день мучаюсь не могу получить данные в обведенных колонках(те что на форме указаны в коде явно, для наглядности).В запросе вроде все данные есть, но выводится какая то белеберда.
Функция СведенияОВнешнейОбработке() Экспорт
ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке();
ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиПечатнаяФорма();
ПараметрыРегистрации.Назначение.Добавить("Документ.ОтчетКомитентуОПродажах");
ПараметрыРегистрации.Наименование = "Печать отчета комитенту";
ПараметрыРегистрации.Версия = "1.0";
ПараметрыРегистрации.БезопасныйРежим = ЛОЖЬ;
ПараметрыРегистрации.Информация = "Печатная форма отчет комитенту" + Символы.ПС + "Кирилл Плотников";
ДобавитьКоманду(ПараметрыРегистрации.Команды,
"Отчет комитента доработанный",
"ОтчетКомитента",
"ВызовСерверногоМетода",
ИСТИНА,
"ПечатьMXL");
Возврат ПараметрыРегистрации;
КонецФункции
Процедура ДобавитьКоманду(ТаблицаКоманд,Представление,Идентификатор,Использование,ПоказыватьОповещение = ЛОЖЬ,Модификатор)
НоваяКоманда = ТаблицаКоманд.Добавить();
НоваяКоманда.Представление = Представление;
НоваяКоманда.Идентификатор = Идентификатор;
НоваяКоманда.Использование =Использование;
НоваяКоманда.ПоказыватьОповещение =ПоказыватьОповещение;
НоваяКоманда.Модификатор = Модификатор;
КонецПроцедуры
Процедура Печать(МассивОбъектов,КоллекцияПечатныхФорм,ОбъектыПечати,ПараметрВывода) Экспорт
ПараметрыПечати = Новый Структура;
УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм,"ОтчетКомитента","Отчет комитента доработанный",ПечатьОтчета(МассивОбъектов,ОбъектыПечати,ПараметрыПечати));
КонецПроцедуры
Функция ПечатьОтчета(МассивОбъектов,ОбъектыПечати,ПараметрыПечати)
УстановитьПривилегированныйРежим(Истина);
ТабличныйДокумент = Новый ТабличныйДокумент;
ТабличныйДокумент.АвтоМасштаб = Истина;
ТабличныйДокумент.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт;
ПервыйОтчет = Истина;
Макет = ПолучитьМакет("ОтчетКомитента");
ДополнительнаяКолонкаПечатныхФормДокументов = Константы.ДополнительнаяКолонкаПечатныхФормДокументов.Получить();
Если НЕ ЗначениеЗаполнено(ДополнительнаяКолонкаПечатныхФормДокументов) Тогда
ДополнительнаяКолонкаПечатныхФормДокументов = Перечисления.ДополнительнаяКолонкаПечатныхФормДокументов.НеВыводить;
КонецЕсли;
ВыводитьКоды = ДополнительнаяКолонкаПечатныхФормДокументов <> Перечисления.ДополнительнаяКолонкаПечатныхФормДокументов.НеВыводить;;
Запрос = Новый Запрос();
Запрос.Текст =
"ВЫБРАТЬ
| ТЧПоставщики.Ссылка КАК Ссылка,
| ТЧПоставщики.НомерСтроки КАК НомерСтроки,
| ТЧПоставщики.КлючСтроки КАК КлючСтроки,
| ТЧПоставщики.Поставщик КАК Поставщик,
| ТЧПоставщики.Партия КАК Партия,
| ДокПоступления.Дата КАК ДатаПартии,
| ВЫБОР
| КОГДА НЕ СчетФактураПолученный.Ссылка ЕСТЬ NULL
| ТОГДА СчетФактураПолученный.Ссылка.ДатаВходящегоДокумента
| ИНАЧЕ ДАТАВРЕМЯ(1, 1, 1)
| КОНЕЦ КАК ДатаВходящегоСчетаФактуры,
| ВЫБОР
| КОГДА НЕ СчетФактураПолученный.Ссылка ЕСТЬ NULL
| ТОГДА СчетФактураПолученный.Ссылка.НомерВходящегоДокумента
| ИНАЧЕ """"
| КОНЕЦ КАК НомерВходящегоСчетаФактуры,
| ЕСТЬNULL(ДокПоступления.ДатаВходящегоДокумента, ДАТАВРЕМЯ(1, 1, 1)) КАК ДатаВходящегоДокумента,
| ЕСТЬNULL(ДокПоступления.НомерВходящегоДокумента, """") КАК НомерВходящегоДокумента,
| ТЧПоставщики.СчетФактура КАК СчетФактураВыданный,
| ВЫБОР
| КОГДА ТЧПоставщики.ПолученСФ
| ТОГДА ЕСТЬNULL(ТЧПоставщики.СчетФактура.Дата, ТЧПоставщики.ДатаСФ)
| ИНАЧЕ ДАТАВРЕМЯ(1, 1, 1)
| КОНЕЦ КАК ДатаВыданногоСчетаФактуры,
| ВЫБОР
| КОГДА ТЧПоставщики.ПолученСФ
| ТОГДА ЕСТЬNULL(ТЧПоставщики.СчетФактура.Номер, """")
| ИНАЧЕ """"
| КОНЕЦ КАК НомерВыданногоСчетаФактуры
|ПОМЕСТИТЬ ВТ_РеквизитыПартий
|ИЗ
| Документ.ОтчетКомитентуОПродажах.Поставщики КАК ТЧПоставщики
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПоступлениеТоваровУслуг КАК ДокПоступления
| ПО ТЧПоставщики.Партия = ДокПоступления.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.СчетФактураПолученный.ДокументыОснования КАК СчетФактураПолученный
| ПО (ДокПоступления.Ссылка = СчетФактураПолученный.ДокументОснование)
|ГДЕ
| ТЧПоставщики.Ссылка В(&МассивОбъектов)
| И ТЧПоставщики.Ссылка.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийОтчетКомитентуОПродажах.ОтчетОЗакупках)
|
|ИНДЕКСИРОВАТЬ ПО
| ТЧПоставщики.Ссылка,
| ТЧПоставщики.КлючСтроки
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| СчетФактураВыданныйДокументыОснования.Ссылка КАК Ссылка,
| ОтчетКомитентуОПродажахТовары.ДокументРасчетов КАК ДокументРасчетов,
| СчетФактураВыданныйДокументыОснования.Ссылка.Дата КАК Дата,
| СчетФактураВыданныйДокументыОснования.Ссылка.Номер КАК Номер
|ПОМЕСТИТЬ ТаблицаСчетовФактур
|ИЗ
| Документ.ОтчетКомитентуОПродажах.Товары КАК ОтчетКомитентуОПродажахТовары
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.СчетФактураВыданный.ДокументыОснования КАК СчетФактураВыданныйДокументыОснования
| ПО ОтчетКомитентуОПродажахТовары.ДокументРасчетов = СчетФактураВыданныйДокументыОснования.ДокументОснование
|ГДЕ
| ОтчетКомитентуОПродажахТовары.Ссылка В(&МассивОбъектов)
| И ОтчетКомитентуОПродажахТовары.Ссылка.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийОтчетКомитентуОПродажах.ОтчетОПродажах)
| И НЕ СчетФактураВыданныйДокументыОснования.Ссылка.ПометкаУдаления
|
|СГРУППИРОВАТЬ ПО
| СчетФактураВыданныйДокументыОснования.Ссылка,
| ОтчетКомитентуОПродажахТовары.ДокументРасчетов,
| СчетФактураВыданныйДокументыОснования.Ссылка.Дата,
| СчетФактураВыданныйДокументыОснования.Ссылка.Номер
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| СчетФактураВыданный.Ссылка,
| ОтчетКомитентуОПродажахТовары.ДокументРасчетов,
| СчетФактураВыданный.Дата,
| СчетФактураВыданный.Номер
|ИЗ
| Документ.ОтчетКомитентуОПродажах.Товары КАК ОтчетКомитентуОПродажахТовары
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.СчетФактураВыданный КАК СчетФактураВыданный
| ПО ОтчетКомитентуОПродажахТовары.ДокументРасчетов = СчетФактураВыданный.Ссылка
|ГДЕ
| ОтчетКомитентуОПродажахТовары.Ссылка В(&МассивОбъектов)
| И ОтчетКомитентуОПродажахТовары.Ссылка.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийОтчетКомитентуОПродажах.ОтчетОПродажах)
| И НЕ СчетФактураВыданный.Ссылка ЕСТЬ NULL
| И НЕ СчетФактураВыданный.ПометкаУдаления
|
|СГРУППИРОВАТЬ ПО
| ОтчетКомитентуОПродажахТовары.ДокументРасчетов,
| СчетФактураВыданный.Ссылка,
| СчетФактураВыданный.Дата,
| СчетФактураВыданный.Номер
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| ОтчетКомитентуОПродажах.Ссылка КАК Ссылка,
| ОтчетКомитентуОПродажах.Ссылка.ВидОперации КАК ВидОперации,
| ОтчетКомитентуОПродажах.Ссылка.Номер КАК Номер,
| ОтчетКомитентуОПродажах.Ссылка.Дата КАК Дата,
| ОтчетКомитентуОПродажах.Ссылка.ДоговорКонтрагента КАК ДоговорКонтрагента,
| ОтчетКомитентуОПродажах.Ссылка.Контрагент КАК Контрагент,
| ОтчетКомитентуОПродажах.Ссылка.Организация КАК Организация,
| ОтчетКомитентуОПродажах.Ссылка.СуммаДокумента КАК СуммаДокумента,
| ОтчетКомитентуОПродажах.Ссылка.ВалютаДокумента КАК ВалютаДокумента,
| ОтчетКомитентуОПродажах.Ссылка.СтавкаНДСВознаграждения КАК СтавкаНДСВознаграждения,
| ОтчетКомитентуОПродажах.Ссылка.СуммаВознаграждения КАК СуммаВознаграждения,
| ОтчетКомитентуОПродажах.Ссылка.ПодразделениеОрганизации КАК ПодразделениеОрганизации,
| ОтчетКомитентуОПродажах.НомерСтроки КАК НомерСтроки,
| 0 КАК НомерСтрокиПоставщики,
| ОтчетКомитентуОПродажах.Номенклатура КАК Товар,
| ВЫБОР
| КОГДА НЕ ОтчетКомитентуОПродажах.Содержание ПОДОБНО """"
| ТОГДА ОтчетКомитентуОПродажах.Содержание
| КОГДА СправочникНоменклатура.НаименованиеПолное ПОДОБНО """"
| ТОГДА СправочникНоменклатура.Наименование
| ИНАЧЕ СправочникНоменклатура.НаименованиеПолное
| КОНЕЦ КАК ТоварНаименование,
| ВЫБОР
| КОГДА &ДополнительнаяКолонкаПечатныхФормДокументов = ЗНАЧЕНИЕ(Перечисление.ДополнительнаяКолонкаПечатныхФормДокументов.Артикул)
| ТОГДА ОтчетКомитентуОПродажах.Номенклатура.Артикул
| КОГДА &ДополнительнаяКолонкаПечатныхФормДокументов = ЗНАЧЕНИЕ(Перечисление.ДополнительнаяКолонкаПечатныхФормДокументов.Код)
| ТОГДА ОтчетКомитентуОПродажах.Номенклатура.Код
| КОГДА &ДополнительнаяКолонкаПечатныхФормДокументов = ЗНАЧЕНИЕ(Перечисление.ДополнительнаяКолонкаПечатныхФормДокументов.НеВыводить)
| ТОГДА """"
| КОНЕЦ КАК КодАртикул,
| ОтчетКомитентуОПродажах.КоличествоМест КАК КоличествоМест,
| ОтчетКомитентуОПродажах.ЕдиницаИзмерения.Представление КАК ЕдиницаИзмерения,
| ОтчетКомитентуОПродажах.Номенклатура.ЕдиницаИзмерения КАК ЕдиницаХранения,
| ОтчетКомитентуОПродажах.Количество КАК Количество,
| ОтчетКомитентуОПродажах.Цена КАК Цена,
| ОтчетКомитентуОПродажах.Сумма КАК Сумма,
| ОтчетКомитентуОПродажах.СуммаНДС КАК СуммаНДС,
| ОтчетКомитентуОПродажах.Покупатель КАК ПокупательПоставщик,
| ОтчетКомитентуОПродажах.ДатаРеализации КАК ДатаПродажи,
| ОтчетКомитентуОПродажах.Ссылка.СуммаВключаетНДС КАК СуммаВключаетНДС,
| НЕОПРЕДЕЛЕНО КАК Партия,
| ДАТАВРЕМЯ(1, 1, 1) КАК ДатаПартии,
| ДАТАВРЕМЯ(1, 1, 1) КАК ДатаВходящегоСчетаФактуры,
| """" КАК НомерВходящегоСчетаФактуры,
| ДАТАВРЕМЯ(1, 1, 1) КАК ДатаВходящегоДокумента,
| """" КАК НомерВходящегоДокумента,
| ДАТАВРЕМЯ(1, 1, 1) КАК ДатаВыданногоСчетаФактуры,
| """" КАК НомерВыданногоСчетаФактуры,
| ОтчетКомитентуОПродажах.Покупатель КАК ПолеДляИтогов,
| СправочникНоменклатура.ПериодичностьУслуги КАК ПериодичностьУслуги,
| ОтчетКомитентуОПродажах.ДокументРасчетов КАК ДокументРасчетов,
| ТаблицаСчетовФактур.Ссылка КАК СчетФактураПокупателю,
| ВЫБОР
| КОГДА ОтчетКомитентуОПродажах.Количество > 0
| И НЕ ОтчетКомитентуОПродажах.ДокументРасчетов ССЫЛКА Документ.КорректировкаРеализации
| ТОГДА ""Реализация товаров и услуг""
| КОГДА ОтчетКомитентуОПродажах.Количество < 0
| И НЕ ОтчетКомитентуОПродажах.ДокументРасчетов ССЫЛКА Документ.КорректировкаРеализации
| ТОГДА ""Возврат товаров""
| ИНАЧЕ ""Прочее""
| КОНЕЦ КАК ВидСобытия,
| ТаблицаСчетовФактур.Номер КАК НомерСФКомиссионера,
| ТаблицаСчетовФактур.Дата КАК ДатаСФКомиссионера,
| ВЫБОР
| КОГДА ОтчетКомитентуОПродажах.Количество < 0
| ИЛИ ОтчетКомитентуОПродажах.ДокументРасчетов ССЫЛКА Документ.КорректировкаРеализации
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ КАК ЭтоВозврат,
| ОтчетКомитентуОПродажах.Ссылка.ДоговорКонтрагента.Номер КАК ДоговорКонтрагентаНомер,
| ОтчетКомитентуОПродажах.Ссылка.ДоговорКонтрагента.Дата КАК ДоговорКонтрагентаДата,
| ОтчетКомитентуОПродажахТовары.СуммаВознаграждения КАК СуммаВознаграждения1,
| ОтчетКомитентуОПродажахТовары.СуммаНДСВознаграждения КАК СуммаНДСВознаграждения
|ИЗ
| Документ.ОтчетКомитентуОПродажах.Товары КАК ОтчетКомитентуОПродажах
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК СправочникНоменклатура
| ПРАВОЕ СОЕДИНЕНИЕ Документ.ОтчетКомитентуОПродажах.Товары КАК ОтчетКомитентуОПродажахТовары
| ПО (ОтчетКомитентуОПродажахТовары.Номенклатура = СправочникНоменклатура.Ссылка)
| ПО ОтчетКомитентуОПродажах.Номенклатура = СправочникНоменклатура.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ ТаблицаСчетовФактур КАК ТаблицаСчетовФактур
| ПО ОтчетКомитентуОПродажах.ДокументРасчетов = ТаблицаСчетовФактур.ДокументРасчетов
|ГДЕ
| ОтчетКомитентуОПродажах.Ссылка В(&МассивОбъектов)
| И ОтчетКомитентуОПродажах.Ссылка.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийОтчетКомитентуОПродажах.ОтчетОПродажах)
|
|ОБЪЕДИНИТЬ
|
|ВЫБРАТЬ
| ОтчетКомитентуОПродажахТовары.Ссылка,
| ОтчетКомитентуОПродажахТовары.Ссылка.ВидОперации,
| ОтчетКомитентуОПродажахТовары.Ссылка.Номер,
| ОтчетКомитентуОПродажахТовары.Ссылка.Дата,
| ОтчетКомитентуОПродажахТовары.Ссылка.ДоговорКонтрагента,
| ОтчетКомитентуОПродажахТовары.Ссылка.Контрагент,
| ОтчетКомитентуОПродажахТовары.Ссылка.Организация,
| ОтчетКомитентуОПродажахТовары.Ссылка.СуммаДокумента,
| ОтчетКомитентуОПродажахТовары.Ссылка.ВалютаДокумента,
| ОтчетКомитентуОПродажахТовары.Ссылка.СтавкаНДСВознаграждения,
| ОтчетКомитентуОПродажахТовары.Ссылка.СуммаВознаграждения,
| ОтчетКомитентуОПродажахТовары.Ссылка.ПодразделениеОрганизации,
| ОтчетКомитентуОПродажахТовары.НомерСтроки,
| ВТ_РеквизитыПартий.НомерСтроки,
| ОтчетКомитентуОПродажахТовары.Номенклатура,
| ВЫБОР
| КОГДА НЕ ОтчетКомитентуОПродажахТовары.Содержание ПОДОБНО """"
| ТОГДА ОтчетКомитентуОПродажахТовары.Содержание
| КОГДА СправочникНоменклатура.НаименованиеПолное ПОДОБНО """"
| ТОГДА СправочникНоменклатура.Наименование
| ИНАЧЕ СправочникНоменклатура.НаименованиеПолное
| КОНЕЦ,
| ВЫБОР
| КОГДА &ДополнительнаяКолонкаПечатныхФормДокументов = ЗНАЧЕНИЕ(Перечисление.ДополнительнаяКолонкаПечатныхФормДокументов.Артикул)
| ТОГДА ОтчетКомитентуОПродажахТовары.Номенклатура.Артикул
| КОГДА &ДополнительнаяКолонкаПечатныхФормДокументов = ЗНАЧЕНИЕ(Перечисление.ДополнительнаяКолонкаПечатныхФормДокументов.Код)
| ТОГДА ОтчетКомитентуОПродажахТовары.Номенклатура.Код
| КОГДА &ДополнительнаяКолонкаПечатныхФормДокументов = ЗНАЧЕНИЕ(Перечисление.ДополнительнаяКолонкаПечатныхФормДокументов.НеВыводить)
| ТОГДА """"
| КОНЕЦ,
| ОтчетКомитентуОПродажахТовары.КоличествоМест,
| ОтчетКомитентуОПродажахТовары.ЕдиницаИзмерения.Представление,
| ОтчетКомитентуОПродажахТовары.Номенклатура.ЕдиницаИзмерения,
| ОтчетКомитентуОПродажахТовары.Количество,
| ОтчетКомитентуОПродажахТовары.Цена,
| ОтчетКомитентуОПродажахТовары.Сумма,
| ОтчетКомитентуОПродажахТовары.СуммаНДС,
| ЕСТЬNULL(ВТ_РеквизитыПартий.Поставщик, ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка)),
| ДАТАВРЕМЯ(1, 1, 1),
| ОтчетКомитентуОПродажахТовары.Ссылка.СуммаВключаетНДС,
| ВТ_РеквизитыПартий.Партия,
| ВТ_РеквизитыПартий.ДатаПартии,
| ВТ_РеквизитыПартий.ДатаВходящегоСчетаФактуры,
| ВТ_РеквизитыПартий.НомерВходящегоСчетаФактуры,
| ВТ_РеквизитыПартий.ДатаВходящегоДокумента,
| ВТ_РеквизитыПартий.НомерВходящегоДокумента,
| ВТ_РеквизитыПартий.ДатаВыданногоСчетаФактуры,
| ВТ_РеквизитыПартий.НомерВыданногоСчетаФактуры,
| ВТ_РеквизитыПартий.Партия,
| НЕОПРЕДЕЛЕНО,
| NULL,
| NULL,
| NULL,
| NULL,
| NULL,
| NULL,
| NULL,
| NULL,
| NULL,
| NULL
|ИЗ
| Документ.ОтчетКомитентуОПродажах.Товары КАК ОтчетКомитентуОПродажахТовары
| ЛЕВОЕ СОЕДИНЕНИЕ ВТ_РеквизитыПартий КАК ВТ_РеквизитыПартий
| ПО ОтчетКомитентуОПродажахТовары.КлючСтроки = ВТ_РеквизитыПартий.КлючСтроки
| И ОтчетКомитентуОПродажахТовары.Ссылка = ВТ_РеквизитыПартий.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК СправочникНоменклатура
| ПО ОтчетКомитентуОПродажахТовары.Номенклатура = СправочникНоменклатура.Ссылка
|ГДЕ
| ОтчетКомитентуОПродажахТовары.Ссылка В(&МассивОбъектов)
| И ОтчетКомитентуОПродажахТовары.Ссылка.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийОтчетКомитентуОПродажах.ОтчетОЗакупках)
|
|УПОРЯДОЧИТЬ ПО
| Дата,
| НомерСтрокиПоставщики,
| ПолеДляИтогов,
| ОтчетКомитентуОПродажах.НомерСтроки,
| ЭтоВозврат,
| СчетФактураПокупателю
|ИТОГИ
| МАКСИМУМ(Ссылка),
| МАКСИМУМ(ВидОперации),
| МАКСИМУМ(Номер),
| МАКСИМУМ(Дата),
| МАКСИМУМ(Контрагент),
| МАКСИМУМ(Организация),
| МАКСИМУМ(ВалютаДокумента),
| МАКСИМУМ(СуммаВознаграждения),
| МИНИМУМ(НомерСтрокиПоставщики),
| СУММА(КоличествоМест),
| СУММА(Количество),
| СУММА(Сумма),
| СУММА(СуммаНДС),
| МАКСИМУМ(ПокупательПоставщик),
| МАКСИМУМ(ДатаПартии),
| МАКСИМУМ(ДатаВходящегоСчетаФактуры),
| МАКСИМУМ(НомерВходящегоСчетаФактуры),
| МАКСИМУМ(ДатаВходящегоДокумента),
| МАКСИМУМ(НомерВходящегоДокумента),
| МАКСИМУМ(ДатаВыданногоСчетаФактуры),
| МАКСИМУМ(НомерВыданногоСчетаФактуры),
| МАКСИМУМ(НомерСФКомиссионера),
| МАКСИМУМ(ДатаСФКомиссионера),
| МАКСИМУМ(ЭтоВозврат)
|ПО
| Ссылка,
| ВидСобытия,
| ПолеДляИтогов,
| СчетФактураПокупателю";
Запрос.УстановитьПараметр("МассивОбъектов",МассивОбъектов);
Запрос.УстановитьПараметр("ДополнительнаяКолонкаПечатныхФормДокументов",ДополнительнаяКолонкаПечатныхФормДокументов);
Выборка = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "Ссылка");
Итого = 0;
НомерПП = 1;
ОтчетНапечатан = Ложь;
Пока Выборка.Следующий() Цикл
Если НЕ ПервыйОтчет Тогда
ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц();
КонецЕсли;
ПервыйОтчет = Ложь;
ОтчетНапечатан = Истина;
ПервыйОтчет = Ложь;
НомерСтрокиНачало = ТабличныйДокумент.ВысотаТаблицы + 1;
ОбластьМакета = Макет.ПолучитьОбласть("Заголовок");
ОбластьМакета.Параметры.ТекстЗаголовка = ОбщегоНазначенияБПВызовСервера.СформироватьЗаголовокДокумента(Выборка.Ссылка, НСтр("ru = 'Отчет комитенту'"));
ТабличныйДокумент.Вывести(ОбластьМакета);
ОбластьМакета = Макет.ПолучитьОбласть("Договор");
ОбластьМакета.Параметры.ДоговорНомер = Выборка.ДоговорКонтрагента.Номер;
ОбластьМакета.Параметры.ДатаДоговора = Формат(Выборка.ДоговорКонтрагента.Дата,"ДФ=dd.MM.yyyy");
ТабличныйДокумент.Вывести(ОбластьМакета);
ОбластьМакета = Макет.ПолучитьОбласть("ПериодДоговора");
Если Выборка.Дата >=НачалоМесяца(Выборка.Дата) И Выборка.Дата<=НачалоМесяца(Выборка.Дата)+13*86400 Тогда
ОбластьМакета.Параметры.НачалоМесяца =Формат(ДобавитьМесяц(НачалоМесяца(Выборка.Дата),-1),"ДФ=dd.MM.yyyy");
ОбластьМакета.Параметры.КонецМесяца = Формат(ДобавитьМесяц(КонецМесяца(Выборка.Дата),-1),"ДФ=dd.MM.yyyy");
ИНАЧЕ
ОбластьМакета.Параметры.НачалоМесяца = Формат(НачалоМесяца(Выборка.Дата),"ДФ=dd.MM.yyyy");
ОбластьМакета.Параметры.КонецМесяца = Формат(КонецМесяца(Выборка.Дата),"ДФ=dd.MM.yyyy");
КонецЕсли;
ТабличныйДокумент.Вывести(ОбластьМакета);
ОбластьМакета = Макет.ПолучитьОбласть("ШапкаТаблицы");
ТабличныйДокумент.Вывести(ОбластьМакета);
Итого = 0;
НомерПП = 1;
КоличествоТоваров = 0 ;
ОбластьМакета = Макет.ПолучитьОбласть("Строка");
ВыборкаПоВидуСобытия = Выборка.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "ВидСобытия");
Пока ВыборкаПоВидуСобытия.Следующий() Цикл
ВыборкаКонтрагентов = ВыборкаПоВидуСобытия.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
ИтогоПоКонтрагенту = 0;
Пока ВыборкаКонтрагентов.Следующий() Цикл
ВыборкаПоСчетФактуре = ВыборкаКонтрагентов.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "СчетФактураПокупателю");
Пока ВыборкаПоСчетФактуре.Следующий() Цикл
ВыборкаТоваров = ВыборкаПоСчетФактуре.Выбрать();
Пока ВыборкаТоваров.Следующий() Цикл
КоличествоТоваров = КоличествоТоваров + 1;
ОбластьМакета.Параметры.Заполнить(ВыборкаТоваров);
ОбластьМакета.Параметры.НомерСтроки = НомерПП;
Если НЕ ВыборкаТоваров.СуммаВключаетНДС Тогда
СуммаПоСтроке = ВыборкаТоваров.Сумма + ВыборкаТоваров.СуммаНДС;
Иначе
СуммаПоСтроке = ВыборкаТоваров.Сумма;
КонецЕсли;
ОбластьМакета.Параметры.Цена = ?(ВыборкаТоваров.Количество <> 0, СуммаПоСтроке/ВыборкаТоваров.Количество, 0);
ОбластьМакета.Параметры.СумаВознаграждения = 500;
ОбластьМакета.Параметры.НДССВознаграждения =100;
ОбластьМакета.Параметры.КПеречислению =400;
ТабличныйДокумент.Вывести(ОбластьМакета);
Итого = Итого + СуммаПоСтроке;
НомерПП = НомерПП + 1;
ИтогоПоКонтрагенту = ИтогоПоКонтрагенту + СуммаПоСтроке;
КонецЦикла;
КонецЦикла;
ОбластьМакета = Макет.ПолучитьОбласть("Итого");
ОбластьМакета.Параметры.Заполнить(ВыборкаТоваров);
ОбластьМакета.Параметры.Цена = ИтогоПоКонтрагенту;
ОбластьМакета.Параметры.ИтогСуммаВознаграждения = 1000;
ОбластьМакета.Параметры.ИтогНДССВознаграждения = 200;
ОбластьМакета.Параметры.ИтогКПеречислению = 800;
ТабличныйДокумент.Вывести(ОбластьМакета);
КонецЦикла;
КонецЦикла;
СведенияОКонтрагенте = БухгалтерскийУчетПереопределяемый.СведенияОЮрФизЛице(Выборка.Контрагент, Выборка.Дата);
ПредставлениеКонтрагента = ОбщегоНазначенияБПВызовСервера.ОписаниеОрганизации(СведенияОКонтрагенте, "НаименованиеДляПечатныхФорм,");
ОбластьМакета = Макет.ПолучитьОбласть("ОбластьДоговора");
ОбластьМакета.Параметры.ПредставлениеПоставщика = ПредставлениеКонтрагента;
ОбластьМакета.Параметры.ПредставлениеПолучателя = Выборка.Организация;
ТабличныйДокумент.Вывести(ОбластьМакета);
ОбластьМакета = Макет.ПолучитьОбласть("РасчетВознаграждения");
ОбластьМакета.Параметры.СуммаВознаграждения = 800;
ОбластьМакета.Параметры.СуммаПрописью = ЧислоПрописью(800,"Л=ru_RU;ДП=Истина", "рубль,рубля,рублей,м,копейка,копейки,копеек,ж,2");
ОбластьМакета.Параметры.СуммаНДС =200;
ОбластьМакета.Параметры.СуммаНДСПрописью =ЧислоПрописью(200,"Л=ru_RU;ДП=Истина", "рубль,рубля,рублей,м,копейка,копейки,копеек,ж,2");
ТабличныйДокумент.Вывести(ОбластьМакета);
ОбластьМакета = Макет.ПолучитьОбласть("Соглашения");
ТабличныйДокумент.Вывести(ОбластьМакета);
ОбластьМакета = Макет.ПолучитьОбласть("Подписи");
ОбластьМакета.Параметры.Заполнить(Выборка);
ТабличныйДокумент.Вывести(ОбластьМакета)
КонецЦикла;
Возврат ТабличныйДокумент;
КонецФункции
ПоказатьПрикрепленные файлы:


По теме из базы знаний
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот