Отчет внутренних актов

1. Krey_ 12.02.19 14:04 Сейчас в теме
Помогите пожалуйста сделать правильно. На 2 Картинке как выводит, а на 1 как надо. На 3 Пример внутреннего акта. Если что-то не так то простите за тупость.

		ТекущийДокумент = Неопределено;
			ЗапросВнутренниеАкты = Новый Запрос;
			ЗапросВнутренниеАкты.Текст =		
                        "ВЫБРАТЬ
			|	_ВнутреннийАкт.Ссылка КАК Документ,
			|	_ВнутреннийАктСтатьи.ОписаниеНоменклатуры КАК Наименование,
			|	_ВнутреннийАктСтатьи.Количество КАК Количество,
			|	_ВнутреннийАктСтатьи.Сумма КАК Сумма
			|ИЗ
			|	Документ._ВнутреннийАкт.Статьи КАК _ВнутреннийАктСтатьи
			|		ЛЕВОЕ СОЕДИНЕНИЕ Документ._ВнутреннийАкт КАК _ВнутреннийАкт
			|			ЛЕВОЕ СОЕДИНЕНИЕ Справочник._ЭтапыПоДоговору КАК _ЭтапыПоДоговору
			|			ПО _ВнутреннийАкт.ЭтапДоговора = _ЭтапыПоДоговору.Ссылка
			|		ПО _ВнутреннийАктСтатьи.Ссылка = _ВнутреннийАкт.Ссылка
			|ГДЕ
			|	_ЭтапыПоДоговору.Владелец = &Этап";
			
			//ЗапросВнутрениеАкты.УстановитьПараметр("ДатаОтчета", ТекущаяДата());
			ЗапросВнутренниеАкты.УстановитьПараметр("Этап", Договор);
			ТаблицаАкты = ЗапросВнутренниеАкты.Выполнить().Выгрузить();
			Если ТаблицаАкты.Количество() > 0 Тогда
				ОбщаяШапка = Макет.ПолучитьОбласть("ОбластьШапкаОтчета|ОбластьКолонка1");
				ОбщаяШапка.Параметры.НазваниеОтчёта = "Сумма заказанных товаров";
				ДокументРезультат.Вывести(ОбщаяШапка);
				ДокументРезультат.НачатьГруппуСтрок();				
				
				ДокументРезультат.Вывести(Макет.ПолучитьОбласть("ОбластьШапкаГруппы1|ОбластьКолонка1"));
				ТаблицаАкты.Сортировать("Документ");
				ТаблицаАктыДокументы = ТаблицаАкты.Скопировать();
				ТаблицаАктыДокументы.Свернуть("Документ", "Сумма");
				
				ФлагГруппы1 = Ложь;
				
				//ОтборАкты = Новый Структура;
				
				ОбластьДокумент = Макет.ПолучитьОбласть("ОбластьГруппаДокумент|ОбластьКолонка1");
				
				Для Каждого Строка Из ТаблицаАкты Цикл
					Если Строка.Документ <> ТекущийДокумент Тогда
						Если ТекущийДокумент <> Неопределено Тогда 
							Попытка 
								Если ФлагГруппы1 Тогда
									ДокументРезультат.ЗакончитьГруппуСтрок();
									ФлагГруппы1 = Ложь;
								КонецЕсли;
							Исключение
							
							КонецПопытки;
						КонецЕсли;
						ТекущийДокумент = Строка.Документ;
						//ОтборАкты.Очистить();
						//ОтборАкты.Вставить("Документ", ТекущийДокумент);
						ОбластьДокумент = Макет.ПолучитьОбласть("ОбластьГруппаДокумент|ОбластьКолонка1");
						ОбластьДокумент.Параметры.Документ = ТекущийДокумент;
						//СтрокиДокумент = ТаблицаАктыДокументы.НайтиСтроки(ОтборАкты);
						СтрокиДокумент = ТаблицаАктыДокументы.Найти(ТекущийДокумент, "Документ");						
						ЗаполнитьЗначенияСвойств(ОбластьДокумент.Параметры, СтрокиДокумент[0]);
						ДокументРезультат.Вывести(ОбластьДокумент);
						ДокументРезультат.НачатьГруппуСтрок();
						ФлагГруппы1 = Истина;
					КонецЕсли;
					ОбластьСтрока = Макет.ПолучитьОбласть("ОбластьСтрока1|ОбластьКолонка1");
					ЗаполнитьЗначенияСвойств(ОбластьСтрока.Параметры, Строка);
					ДокументРезультат.Вывести(ОбластьСтрока);
				КонецЦикла;
				//Попытка 
				//	Если ФлагГруппы1 Тогда
				//		ДокументРезультат.ЗакончитьГруппуСтрок();
				//		ФлагГруппы1 = Ложь;
				//	КонецЕсли;
				//Исключение
				//	
				//КонецПопытки;
				ОбластьИтог = Макет.ПолучитьОбласть("ОбластьИтог1|ОбластьКолонка1");
				ОбластьИтог.Параметры.Сумма = ТаблицаАкты.Итог("Сумма");
				ДокументРезультат.Вывести(ОбластьИтог);	
				ДокументРезультат.ЗакончитьГруппуСтрок();
			КонецЕсли;
Показать
Прикрепленные файлы:
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Krey_ 12.02.19 14:58 Сейчас в теме
Все работает, простите за доставленные неудобства
Оставьте свое сообщение

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