Внешняя обработка с печатью макета

1. micha26 08.03.18 12:56 Сейчас в теме
День добрый.
Ваяю внешнюю обработку - хоца отчеты всякие в неё напихать. Столкнулся с аномалией:
В модуле объекта пишу:
Функция ПечатьМакета() Экспорт
	    ТабДок = Новый ТабличныйДокумент;
	    Макет = ПолучитьМакет("Отчет");
		ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
		ОбластьСтрока = Макет.ПолучитьОбласть("СтрокаТаб");
		  ЗапросДвижения = Новый Запрос;
		  ЗапросДвижения.Текст = "
		    |ВЫБРАТЬ
			|ТоварыНаСкладах.Период КАК Период,
			|ТоварыНаСкладах.Регистратор КАК Документ,
			|ТоварыНаСкладах.ВидДвижения КАК ВидДвижения,
			|ТоварыНаСкладах.Номенклатура КАК Номенклатура,
			|ТоварыНаСкладах.Склад КАК Склад,
			|ВЫБОР КОГДА ТоварыНаСкладах.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход) ТОГДА
			|СУММА(ТоварыНаСкладах.ВНаличии*-1)
			|ИНАЧЕ
			|СУММА(ТоварыНаСкладах.ВНаличии)
		    |КОНЕЦ
		    |ИЗ
			|РегистрНакопления.ТоварыНаСкладах КАК ТоварыНаСкладах
		    |ГДЕ
			|ТоварыНаСкладах.Период >= &НачПериода
			|И ТоварыНаСкладах.Период < &КонПериода
			|И &Номенклатура = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка) ИЛИ ТоварыНаСкладах.Номенклатура = &Номенклатура
			|И &Склад = ЗНАЧЕНИЕ(Справочник.Склады.ПустаяСсылка) ИЛИ ТоварыНаСкладах.Склад = &Склад
		    |СГРУППИРОВАТЬ ПО
			|ТоварыНаСкладах.Номенклатура,
			|ТоварыНаСкладах.Период,
			|ТоварыНаСкладах.ВидДвижения,
			|ТоварыНаСкладах.Склад,
			|ТоварыНаСкладах.Регистратор";
	  ЗапросДвижения.УстановитьПараметр("НачПериода",ЭтотОбъект.НачПериода);
		  ЗапросДвижения.УстановитьПараметр("КонПериода",ЭтотОбъект.КонПериода);
		  ЗапросДвижения.УстановитьПараметр("Склад",ЭтотОбъект.Склад);
		  ЗапросДвижения.УстановитьПараметр("Номенклатура",ЭтотОбъект.Номенклатура);
		  Результат = ЗапросДвижения.Выполнить();
		  Выборка = Результат.Выбрать();
		  ТабДок.Вывести(ОбластьЗаголовок);
		  Пока Выборка.Следующий() Цикл  
			   ОбластьСтрока.Параметры.Наименование = Выборка.Номенклатура;
			   ТабДок.Вывести(ОбластьСтрока);
		  КонецЦикла;
		  Возврат ТабДок;
Показать



В модуле формы:
&НаСервере
Функция СформироватьОтчетНаСервере()
ОбработкаОбъект = РеквизитФормыВЗначение("Объект");
Макет = ОбработкаОбъект.ПечатьМакета();
Возврат Макет;
КонецФункции

&НаКлиенте
Процедура СформироватьОтчет(Команда)
Макет = СформироватьОтчетНаСервере();
КонецПроцедуры
Показать


К обработке прикручен макет, с заголовком, строкой данных и прочими блудницами... вообщем по команде СформироватьОтчет ни фига не происходит, хотя вроде как должен макет на форму вывести.
Если не в лом, гляньте свежим глазом, где накосячил.

ПЫ,СЫ, Запрос рабочий хоть и выводит всякую ересь, мне он только для теста нужен.
По теме из базы знаний
Найденные решения
3. micha26 08.03.18 13:33 Сейчас в теме
Вот я этот как его...Кому надо, держите.

&НаКлиенте
Процедура СформироватьОтчет(Команда)
Макет = СформироватьОтчетНаСервере();
Макет.Показать(Макет) // добавить блеадь...
КонецПроцедуры
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. micha26 08.03.18 12:58 Сейчас в теме
В модуле формы:


&НаСервере
Функция СформироватьОтчетНаСервере()
ОбработкаОбъект = РеквизитФормыВЗначение("Объект");
Макет = ОбработкаОбъект.ПечатьМакета();
Возврат Макет;
КонецФункции

&НаКлиенте
Процедура СформироватьОтчет(Команда)
Макет = СформироватьОтчетНаСервере();
КонецПроцедуры

Показать


А чего вставка кода через раз работает?
3. micha26 08.03.18 13:33 Сейчас в теме
Вот я этот как его...Кому надо, держите.

&НаКлиенте
Процедура СформироватьОтчет(Команда)
Макет = СформироватьОтчетНаСервере();
Макет.Показать(Макет) // добавить блеадь...
КонецПроцедуры
Оставьте свое сообщение

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