Не выводится шапка формы

1. Geophysic 26.01.23 09:40 Сейчас в теме
Подскажите пожалуйста в чем ошибка, не выводятся параметры области шапки.
Вот сам код:

Функция СформироватьАктВыполненныхРабот() Экспорт

	ТабДок = Новый ТабличныйДокумент;
	
    ТабДок.КлючПараметровПечати = "ПАРАМЕТРЫПЕЧАТИ_АктВыполненныхРабот";
	
	ТабДок.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт;
	
	Запрос = Новый Запрос;
	
	Запрос.Текст =
	
	"ВЫБРАТЬ
	|	ТЧ.Ссылка КАК Ссылка,
	|	ТЧ.НомерСтроки КАК НомерСтроки,
	|	ТЧ.ВидРаботы КАК ВидРаботы,
	|	ТЧ.ВидРаботы.Наименование КАК ВидРаботыНаименование,
	|	ТЧ.СодержаниеРаботы КАК СодержаниеРаботы,
	|	ТЧ.ДатаНач КАК ДатаНач,
	|	ТЧ.ДатаКон КАК ДатаКон,
	|	ТЧ.КоличествоЧасов КАК КоличествоЧасов,
	|	ТЧ.КолвоРабочихДней КАК КолвоРабочихДней,
	|	ТЧ.ЦенаЧаса КАК ЦенаЧаса,
	|	ТЧ.Сумма КАК Сумма,
	|	ТЧ.Ссылка.Номер КАК Номер,
	|	ТЧ.Ссылка.Организация КАК Организация,
	|	ТЧ.Ссылка.Контрагент КАК Контрагент,
	|	ТЧ.Ссылка.ИтогоСумма КАК ИтогоСумма
	|ИЗ
	|	Документ.ивсАктВыполненныхРабот.Работы КАК ТЧ
	|ГДЕ
	|	ТЧ.Ссылка = &Ссылка";
	
	Запрос.УстановитьПараметр("Ссылка", Ссылка);
	
	РезультатЗапроса = Запрос.Выполнить();
	
	Выборка = РезультатЗапроса.Выбрать(); 
	
	    Макет = ЭтотОбъект.ПолучитьМакет("Макет");
		
        ОбластьШапка = Макет.ПолучитьОбласть("Шапка");
		
		МесяцГод = Формат(ЭтотОбъект.Дата, "ДФ='дд ММММ гггг'") + " г."; 
		
		ОбластьШапка.Параметры.МесяцГод = НРег(МесяцГод);
		
		ОбластьШапка.Параметры.Номер = Выборка.Номер;
		
		ОбластьШапка.Параметры.Организация = Выборка.Организация;
		
		ОбластьШапка.Параметры.Контрагент = Выборка.Контрагент;
				
		ТабДок.Вывести(ОбластьШапка);
		
		ОбластьПараметрыШапки = Макет.ПолучитьОбласть("ПараметрыШапки");
		
		Пока Выборка.Следующий() Цикл
			
			ОбластьПараметрыШапки.Параметры.Номер = Выборка.НомерСтроки; 
			ОбластьПараметрыШапки.Параметры.НаименованиеРабот = Выборка.ВидРаботыНаименование;
			ОбластьПараметрыШапки.Параметры.КоличествоЧасов = Выборка.КоличествоЧасов;
			ОбластьПараметрыШапки.Параметры.Цена = Выборка.ЦенаЧаса;
		    ОбластьПараметрыШапки.Параметры.Сумма = Выборка.Сумма;
			
			ТабДок.Вывести(ОбластьПараметрыШапки);

		КонецЦикла;	
	
	ОбластьИтоги = Макет.ПолучитьОбласть("Итоги");
	
	ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
	
	СуммаИтого = 0;
	Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
		
		ОбластьИтоги.Параметры.Итог = ВыборкаДетальныеЗаписи.Сумма;
		
		СуммаИтого = СуммаИтого + ВыборкаДетальныеЗаписи.Сумма;
	
	КонецЦикла;
	
	ОбластьИтоги.Параметры.Итог = СуммаИтого;
	
	ТабДок.Вывести(ОбластьИтоги);
	
	ОбластьДетали = Макет.ПолучитьОбласть("Детали");
	
	ОбластьДетали.Параметры.Номер = Выборка.НомерСтроки;
	
	ОбластьДетали.Параметры.СуммаИтого = ОбластьИтоги.Параметры.Итог;
	
	СуммаЧ = ОбластьИтоги.Параметры.Итог;
	
	СуммаЧ = ЧислоПрописью(СуммаЧ, "Л = ru_RU; ДП = Истина", "рубль, рубля, рублей, м, копейка, копейки, копеек, ж, 2");
	
	ОбластьДетали.Параметры.СуммаИтогоТекстом = СуммаЧ;
	
	ТабДок.Вывести(ОбластьДетали);
		
	Возврат ТабДок;
Показать
Прикрепленные файлы:
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. glek 120 26.01.23 09:48 Сейчас в теме
(1) А что, выборка.следующий() не предлагать?
3. Geophysic 26.01.23 10:14 Сейчас в теме
4. glek 120 26.01.23 10:25 Сейчас в теме
(3) У вас после выбрать сразу идет получение полей выборки. Они еще все пустые.
Geophysic; +1 Ответить
5. Geophysic 26.01.23 10:36 Сейчас в теме
(4)
после выбрать сразу идет получение полей выбо

Извините за глупые вопросы, я просто еще только начинаю программировать, а как тогда их заполнить?
6. Zevzm 26.01.23 10:41 Сейчас в теме
(5)Перед заполнением полей шапки используйте Выборка.Следующий(), как вам подсказали в (3). Затем Выборка.Сбросить перед циклом.
ВыборкаИзРезультатаЗапроса (QueryResultSelection)
Сбросить (Reset)
Синтаксис:
Сбросить()
Описание:
Позиционирует выборку в начало.
Доступность:
Сервер, толстый клиент, внешнее соединение, мобильное приложение (сервер), мобильный автономный сервер.
Примечание:
После вызова метода Следующий выборка спозиционируется на первую запись в ней.
Geophysic; +1 Ответить
7. Geophysic 26.01.23 10:43 Сейчас в теме
(6) Да спасибо больше, только что попробовал метод сбросить и все заработало)
8. Zevzm 26.01.23 10:43 Сейчас в теме
(7) Итоги считайте в первом цикле, зачем повторяться.
Geophysic; +1 Ответить
9. Zevzm 26.01.23 10:45 Сейчас в теме
(7)Для заполнения параметров области табличного документа используйте метод Заполнить.
ПараметрыМакетаТабличногоДокумента (SpreadsheetDocumentTemplateParameters)
Заполнить (Fill)
Синтаксис:
Заполнить(<Объект>)
Параметры:
<Объект> (обязательный)
Тип: Произвольный.
Объект, из свойств которого будут заполняться параметры макета табличного документа.
Описание:
Заполняет параметры значениями свойств переданного объекта. Заполняются только те параметры, имена которых совпадают с именами свойств объекта.
Доступность:
Мобильный клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение (клиент), мобильное приложение (сервер), мобильный автономный сервер.
Пример:
К=0;
Пока Выборка.Следующий() Цикл
К = К+1;
ОбластьМакета = Макет.ПолучитьОбласть("Строка");
ОбластьМакета.Параметры.Заполнить(Выборка);
ОбластьМакета.Параметры.НомерСтроки = К;
ТабДок.Вывести(ОбластьМакета);
КонецЦикла;
Оставьте свое сообщение

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