Имя: Пароль:
1C
1С v8
вывести макет на печать (управляемые формы)
0 karpos
 
20.11.13
08:25
Функция  СформироватьПечатнуюФорму(МассивОбъектов, ОбъектыПечати)
    
    ТабДокумент = Новый ТабличныйДокумент();
    Макет = ПолучитьМакет("ЗаказНаряд");
    ОбластьМакета = Макет.ПолучитьОбласть("Макет");
    ТабДокумент.Вывести(ОбластьМакета);
    //ТабДок.Показать();
    УправлениеПечатью.ЗадатьОбластьПечатиДокумента(ТабДокумент, 1, ОбъектыПечати, СсылкаНаОбъект);

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

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

        ТабличныйДокумент = СформироватьПечатнуюФорму(МассивОбъектовНазначения, ОбъектыПечати);

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

    КонецЕсли;

КонецПроцедуры
1 karpos
 
20.11.13
08:26
что не работает (
2 Wobland
 
20.11.13
08:28
это хорошо или плохо?
3 Defender aka LINN
 
20.11.13
08:33
(1) Продолжайте наблюдения
4 karpos
 
20.11.13
08:37
кто нить мне скажет тут тут косяк)
5 karpos
 
20.11.13
08:37
вроде все нормик что ему надо
6 karpos
 
20.11.13
08:38
ЗаказНаряд это название макета
7 Wobland
 
20.11.13
08:38
я слышал, что функциям не обязательно возвращать что-то. правда, в 1С никогда не проверял
8 Любопытная
 
20.11.13
08:41
(7) необязательно, это так. (0) По-моему, УправлениеПечатью.ЗадатьОбластьПечатиДокумента не выводит документ. Не помню точно. Но можно сходить вовнутрь и посмотреть, правда?
9 Defender aka LINN
 
20.11.13
08:43
(4) Сейчас, хрустальный шар протрем только, а то он плоховато показывает, что в твоем понимании "не работает"
10 Галахад
 
гуру
20.11.13
08:44
(8) Необязательно, если от неё не ждут, что бы она чего-нибудь вернула. А тут ждут.
11 karpos
 
20.11.13
11:26
такая ошибка {ОбщийМодуль.ДополнительныеОтчетыИОбработки.Модуль(146)}: В обработчике печати не был сформирован табличный документ для: ЗаказНаряд
            ВызватьИсключение(ТекстСообщенияОбОшибке)
12 banco
 
20.11.13
11:35
(11) покажи функцию СведенияОВнешнейОбработке
13 banco
 
20.11.13
11:37
(0) так у тебя же СформироватьПечатнуюФорму не возвращает ТабличныйДокумент
14 karpos
 
20.11.13
13:05
banco ты оказался прав

вот что у меня получилось может можно попроще есть что то лишнее
15 karpos
 
20.11.13
13:15
Функция  СформироватьПечатнуюФорму(МассивОбъектов, ОбъектыПечати)
    
    ТабДокумент = Новый ТабличныйДокумент();
    Макет = ПолучитьМакет("ЗаказНаряд");
    ОбластьМакета = Макет.ПолучитьОбласть("Макет");
    ТабДокумент.Вывести(ОбластьМакета);
    //ТабДок.Показать();
    УправлениеПечатью.ЗадатьОбластьПечатиДокумента(ТабДокумент, 1, ОбъектыПечати, СсылкаНаОбъект);
    Возврат ТабДокумент;

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

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

        ТабличныйДокумент = СформироватьПечатнуюФорму(МассивОбъектовНазначения, ОбъектыПечати);

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

    КонецЕсли;

КонецПроцедуры
16 karpos
 
20.11.13
13:16
я чего то не могу выслать весь год, форум мне пишет сработал язык поданков
17 Галахад
 
гуру
20.11.13
13:18
В (7) же указали ошибку.
18 karpos
 
20.11.13
13:22
да нет он же не писал что она ничего не возвращает ну вот последний код я прислал он работает
19 Jaffar
 
20.11.13
13:58
(16) "я чего то не могу выслать весь год, форум мне пишет сработал язык поданков"
не год, а код, и не поданков, а падонков
так у тебя и с русским проблемы, не говоря уже про 1С...
20 shpioleg
 
20.11.13
14:18
(19) Может у него год-это сокращение от гомнокод.
2 + 2 = 3.9999999999999999999999999999999...