ВПФ в ЗКГУ 3

1. Fator26 7 20.08.18 14:30 Сейчас в теме
Проблема с выводом табличного документа во внешней печатной форме: я запрашиваю все данные для сборки табличного документа, вывожу, после (добавил для проверки ошибки) сохраняю свой табличный документ в exel и сохраняется все в точности как надо, но вот дальше, после выполнения блока внешней обработки конфигуратор ругается на то, что якобы табличный документ не заполнен...
чяднт???
кусок кода формирования пф
Функция Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
	ТабДок = новый ТабличныйДокумент;
	ТабДок.Очистить();
	Запрос = Новый Запрос("ВЫБРАТЬ
	                      |	ПремияНачисления.Ссылка КАК Ссылка,
	                      |	ПремияНачисления.Сотрудник КАК Сотрудник,
	                      |	ПремияРаспределениеРезультатовНачислений.СтатьяРасходов КАК СтатьяРасходов,
	                      |	ПремияРаспределениеРезультатовНачислений.СтатьяФинансирования КАК СтатьяФинансирования,
	                      |	ПремияРаспределениеРезультатовНачислений.Результат КАК Результат,
	                      |	ПремияНачисления.Ссылка.Комментарий КАК Комментарий
	                      |ПОМЕСТИТЬ ДокументСотрудники
	                      |ИЗ
	                      |	Документ.Премия.Начисления КАК ПремияНачисления
	                      |		ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.Премия.РаспределениеРезультатовНачислений КАК ПремияРаспределениеРезультатовНачислений
	                      |		ПО ПремияНачисления.НомерСтроки = ПремияРаспределениеРезультатовНачислений.НомерСтроки
	                      |ГДЕ
	                      |	ПремияНачисления.Ссылка В(&МассивОбъектов)
	                      |	И ПремияРаспределениеРезультатовНачислений.Ссылка В(&МассивОбъектов)
	                      |;
	                      |
	                      |////////////////////////////////////////////////////////////­////////////////////
	                      |ВЫБРАТЬ
	                      |	КадроваяИсторияСотрудниковСрезПоследних.Должность КАК Должность,
	                      |	КадроваяИсторияСотрудниковСрезПоследних.Сотрудник КАК Сотрудник,
	                      |	КадроваяИсторияСотрудниковСрезПоследних.Подразделение КАК Подразделение,
	                      |	КадроваяИсторияСотрудниковСрезПоследних.КоличествоСтавок КАК КоличествоСтавок
	                      |ПОМЕСТИТЬ Должности
	                      |ИЗ
	                      |	РегистрСведений.КадроваяИсторияСотрудников.СрезПоследних КАК КадроваяИсторияСотрудниковСрезПоследних
	                      |;
	                      |
	                      |////////////////////////////////////////////////////////////­////////////////////
	                      |ВЫБРАТЬ
	                      |	ДокументСотрудники.Ссылка КАК Ссылка,
	                      |	Должности.Сотрудник КАК Сотрудник,
	                      |	Должности.Должность КАК Должность,
	                      |	Должности.Подразделение КАК Подразделение,
	                      |	ДокументСотрудники.СтатьяРасходов КАК СтатьяРасходов,
	                      |	ДокументСотрудники.СтатьяФинансирования КАК СтатьяФинансирования,
	                      |	ДокументСотрудники.Результат КАК Результат,
	                      |	Должности.КоличествоСтавок КАК КоличествоСтавок,
	                      |	ДокументСотрудники.Комментарий КАК Комментарий
	                      |ИЗ
	                      |	ДокументСотрудники КАК ДокументСотрудники
	                      |		ЛЕВОЕ СОЕДИНЕНИЕ Должности КАК Должности
	                      |		ПО ДокументСотрудники.Сотрудник = Должности.Сотрудник
	                      |
	                      |УПОРЯДОЧИТЬ ПО
	                      |	Должности.Подразделение.Наименование,
	                      |	ДокументСотрудники.СтатьяФинансирования.Наименование,
	                      |	ДокументСотрудники.Сотрудник.Наименование");
	Запрос.УстановитьПараметр("МассивОбъектов", МассивОбъектов);
	Результат = Запрос.Выполнить().Выгрузить();
	Результат.Колонки.Добавить("Итог");
	Счетчик = Результат.Количество() - 1;
	ПодразделениеИзТЗ = Справочники.ПодразделенияОрганизаций.ПустаяСсылка();
	Для Каждого СтрРез Из Результат Цикл
		СтрРез.Итог = 0;
	КонецЦикла;
	Пока Счетчик >= 0 Цикл
		Если Результат[Счетчик].Подразделение = ПодразделениеИзТЗ Тогда
			Результат[Счетчик].Итог = Результат[Счетчик + 1].Итог + Результат[Счетчик].Результат;
		Иначе
			ПодразделениеИзТЗ = Результат[Счетчик].Подразделение;
			Результат[Счетчик].Итог = Результат[Счетчик].Результат;
		КонецЕсли;
		Счетчик = Счетчик - 1;
	КонецЦикла;
	Макет = ПолучитьМакет("Макет");
	ОбластьСотрудник = Макет.ПолучитьОбласть("Сотрудник");
	ОбластьТитул			= Макет.ПолучитьОбласть("Титул");
	ОбластьШапки			= Макет.ПолучитьОбласть("Шапка");
	ОбластьПодразделение	= Макет.ПолучитьОбласть("Подразделение");
	ОбластьПодвал			= Макет.ПолучитьОбласть("Подвал");
	ОбластьУтвердил			= Макет.ПолучитьОбласть("Утвердил");
	ОбластьПодписи			= Макет.ПолучитьОбласть("Подписи");
	
	ПодразделениеИзТЗ = Справочники.ПодразделенияОрганизаций.ПустаяСсылка();
	Для Каждого СтрРезультат Из Результат Цикл
		Если СтрРезультат.Подразделение = ПодразделениеИзТЗ Тогда
			ОбластьСотрудник.Параметры.Сотрудник = ИОФамилия(СтрРезультат.Сотрудник, "Сотрудник");
			областьСотрудник.Параметры.Должность = СтрРезультат.Должность;
			ОбластьСотрудник.Параметры.Ставка 	 = СтрРезультат.КоличествоСтавок;
			ОбластьСотрудник.Параметры.Сумма 	 = СтрРезультат.Результат;
			ТабДок.Вывести(ОбластьСотрудник);
		Иначе
			Если Результат.Индекс(СтрРезультат) <> 0 Тогда
				ОбластьПодвал.Параметры.ИсточникОплаты = "Оплату произвести за счет средств: " + Строка(СтрРезультат.СтатьяФинансирования);
				ТабДок.Вывести(ОбластьПодвал);
				ТабДок.Вывести(ОбластьУтвердил);
				ТабДок.Вывести(ОбластьПодписи);
		
				ТабДок.ВывестиГоризонтальныйРазделительСтраниц();
			КонецЕсли;
			ОбластьТитул.Параметры.НомерПриказа = СтрРезультат.Комментарий;
			ТабДок.Вывести(ОбластьТитул);
			ТабДок.Вывести(ОбластьШапки);
	
			ПодразделениеИзТЗ = СтрРезультат.Подразделение;
			ОбластьПодразделение.Параметры.ПодразделениеОрганизации = СтрРезультат.Подразделение;
			ОбластьПодразделение.Параметры.Сумма 					= СтрРезультат.Итог; 
			ТабДок.Вывести(ОбластьПодразделение);
			ОбластьСотрудник.Параметры.Сотрудник = ИОФамилия(СтрРезультат.Сотрудник, "Сотрудник");
			областьСотрудник.Параметры.Должность = СтрРезультат.Должность;
			ОбластьСотрудник.Параметры.Ставка 	 = СтрРезультат.КоличествоСтавок;
			ОбластьСотрудник.Параметры.Сумма 	 = СтрРезультат.Результат;
			ТабДок.Вывести(ОбластьСотрудник);
		КонецЕсли;
	КонецЦикла;	
	ОбластьПодвал.Параметры.ИсточникОплаты = "Оплату произвести за счет средств: " + Строка(СтрРезультат.СтатьяФинансирования);
	ТабДок.Вывести(ОбластьПодвал);
	ТабДок.Вывести(ОбластьУтвердил);
        ТабДок.Вывести(ОбластьПодписи);

	ТабДок.Записать(*Путь к файлу*,ТипФайлаТабличногоДокумента.XLSX);
	Возврат ТабДок;
	
	
КонецФункции
Показать
По теме из базы знаний
Найденные решения
2. Fator26 7 20.08.18 16:32 Сейчас в теме
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Fator26 7 20.08.18 16:32 Сейчас в теме
Оставьте свое сообщение

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