Имя: Пароль:
1C
1С v8
Не выводится на экран макет печатной формы
0 Len1vec
 
23.05.16
09:19
Почему не выводится на экран макет заполненной печатной формы?
Результат запроса выполняется, заполняются все параметры макета, но финальный макет не выводится. Почему?

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

Функция ПечатьМакета(ОбъектСсылка) Экспорт

    ТабДок = Новый ТабличныйДокумент;
    Макет = Документы.КорректировкаОПЗС.ПолучитьМакет("МакетКорректировкаОПЗС");
    // Шапка
    Шапка = Макет.ПолучитьОбласть("Шапка");
    Шапка.Параметры.Организация = Объект.Организация;
    Шапка.Параметры.Номер = Объект.Номер;
    Шапка.Параметры.Дата = Объект.Дата;
    ТабДок.Вывести(Шапка);
    // Продукция
    Область = Макет.ПолучитьОбласть("ПродукцияШапка");
    ТабДок.Вывести(Область);
    ОбластьПродукция = Макет.ПолучитьОбласть("Продукция");
        
    Запрос = Новый Запрос;
    Запрос.Текст=...
    Результат = Запрос.Выполнить().Выбрать();
    
    Пока Результат.Следующий() Цикл
        ОбластьПродукция.Параметры.Номенклатура = Результат.Номенклатура;
        ОбластьПродукция.Параметры.ХарактеристикаНоменклатуры = Результат.ХарактеристикаНоменклатуры;
    КонецЦикла;
    
    // Подвал
    Подвал = Макет.ПолучитьОбласть("Подвал");
    Подвал.Параметры.Ответственный = Объект.Ответственный;
    ТабДок.Вывести(Подвал);

    ТабДок.ОтображатьСетку = Ложь;
    ТабДок.ТолькоПросмотр = Истина;
    ТабДок.ОтображатьЗаголовки = Ложь;    
    ТабДок.Показать();

КонецФункции
1 ДенисЧ
 
23.05.16
09:20
Потому что вторая процедура выполняется на сервере:
2 Nuobu
 
23.05.16
09:20
Ты его выводишь на сервере.

Нужно так:

&НаКлиенте
Процедура Печать(Команда)
    ТабДок = ПечатьМакета(Объект.Ссылка);
КонецПроцедуры

Функция ПечатьМакета(ОбъектСсылка) Экспорт

... // Заполнение

   ТабДок.ОтображатьЗаголовки = Ложь;    
    //ТабДок.Показать();

Возврат ТабДок;

КонецФункции
3 Nuobu
 
23.05.16
09:21
(2) +

&НаКлиенте
Процедура Печать(Команда)
    ТабДок = ПечатьМакета(Объект.Ссылка);
ТабДок.Показать();
КонецПроцедуры
4 Len1vec
 
23.05.16
09:26
(1) понял это после того, как создал темку. Благодарю! (2) Спасибо за разъяснения!
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн