Решил сделать печать документа с помощью СКД. Создал схему, прицепил ее к документу и стал пробовать выводить на экран. Экран пустой. При чем запрос то простейший и я очень долго не мог понять, почему у меня результат не выводится.
Лишь спустя некоторое время случайно увидел, что у меня есть горизонтальная полоса прокрутки и весь отчет (таблица документа) находится слева. Все дело в фиксации таблицы, которая автоматом добавляется при построении отчета на СКД. Просто приведу весь код вывода отчета.
&НаКлиенте Процедура ПечатьДокумента(Команда) Если Модифицированность=Истина Тогда ОписаниеОповещения = Новый ОписаниеОповещения("ПоказатьПредупреждениеЗавершение",ЭтаФорма); ПоказатьПредупреждение(ОписаниеОповещения,"Перед печатью необходимо записать документ"); Возврат; КонецЕсли; ТабДокумент = ПолучитьПечатнуюФормуДокумента(); Если ТабДокумент <> Неопределено Тогда ТабДокумент.ОтображатьСетку = Ложь; ТабДокумент.ОтображатьЗаголовки = Ложь; ТабДокумент.ОриентацияСтраницы=ОриентацияСтраницы.Ландшафт; // Убираем фиксацию ТабДокумент.ФиксацияСверху = 0; ТабДокумент.ФиксацияСлева = 0; ТабДокумент.Показать("Заказ"); КонецЕсли; КонецПроцедуры &НаСервере Функция ПолучитьПечатнуюФормуДокумента() ДокументОбъект = РеквизитФормыВЗначение("Объект"); СхемаКомпоновкиДанных = ДокументОбъект.ПолучитьМакет("ЗаказСКД"); Настройки = СхемаКомпоновкиДанных.НастройкиПоУмолчанию; Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("Заказ",ДокументОбъект.Ссылка); ВнешниеНаборыДанных = Новый Структура; КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных; МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки, ДанныеРасшифровки); ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки, ВнешниеНаборыДанных, ДанныеРасшифровки); ДокументРезультат = Новый ТабличныйДокумент; ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент; ПроцессорВывода.УстановитьДокумент(ДокументРезультат); ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных); Возврат ДокументРезультат; КонецФункции
Не привык я еще пока к этому новому интерфейсу Такси, поэтому и не сразу заметил.
Если я Вам помог, то меня можно поблагодарить.
Отправить комментарий