Имя: Пароль:
1C
 
Почему не отображается печатная форма?
0 pro3ri
 
16.05.15
10:33
Добрый день!
в модуле объекта формы:

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

    
КонецФункции

доходит до строчки ТабличныйДокумент.Показать(); и нечего не выходит.
1 ДенисЧ
 
16.05.15
10:37
Форма управляемая, наверняка...
И всё дело происходит НаСервере...
2 pro3ri
 
16.05.15
10:41
(1) запустил в толстом - вывелся
3 ДенисЧ
 
16.05.15
10:46
ну а я что говорил?
)))

Надо переходить на логику клиент-сервера...
Формировать на сервере, результат отдавать клиенту, а он уже покажет
4 pro3ri
 
16.05.15
10:50
(3) все получилось! спасибо!
5 pro3ri
 
16.05.15
10:53
создал еще 1 переменную в клиенте:

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

&НаСервере
Процедура ПечатьНаСервере(ТабличныйДокумент)

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


\\\

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