Имя: Пароль:
1C
1С v8
Печать макета из внешней обработки 8.3, УФ
0 Sova789
 
15.01.15
10:46
Добрый день! Нужно вывести на печать результат некоторого запроса.

Сразу приведу свой код в модуле формы обработки:

&НаКлиенте
Процедура ВыполнитьКоманду(Команда)
    ВыполнитьКомандуНаСервере();
КонецПроцедуры



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

    Макет = ПолучитьМакет("Макет");
    Запрос = Новый Запрос;
    Запрос.Текст =
    
    
    "ВЫБРАТЬ
        |    ХозрасчетныйОборотыДтКт.Регистратор КАК Документ,
        |    ХозрасчетныйОборотыДтКт.СчетДт,
        |    ХозрасчетныйОборотыДтКт.СчетКт,
        |    ХозрасчетныйОборотыДтКт.СуммаОборот КАК НДС_Документа,
        |    СУММА(НДСЗаписиКнигиПродаж.НДС) КАК НДС_Книги_Продаж
        |ИЗ
        |    РегистрБухгалтерии.Хозрасчетный.ОборотыДтКт(&Дата1, &Дата2, Регистратор, , , СчетКт = &СчетКт, , ) КАК ХозрасчетныйОборотыДтКт
        |        ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.НДСЗаписиКнигиПродаж КАК НДСЗаписиКнигиПродаж
        |        ПО ХозрасчетныйОборотыДтКт.Регистратор = НДСЗаписиКнигиПродаж.Регистратор
        |ГДЕ
        |    ХозрасчетныйОборотыДтКт.Регистратор.Проведен = &Проведен
        |    И НДСЗаписиКнигиПродаж.Период МЕЖДУ &Дата1 И &Дата2
        |
        |СГРУППИРОВАТЬ ПО
        |    ХозрасчетныйОборотыДтКт.Регистратор,
        |    ХозрасчетныйОборотыДтКт.СчетДт,
        |    ХозрасчетныйОборотыДтКт.СчетКт,
        |    ХозрасчетныйОборотыДтКт.СуммаОборот";

    Запрос.УстановитьПараметр("Дата1", НачалоДня(Дата1));
    Запрос.УстановитьПараметр("Дата2", КонецДня(Дата2));
    Запрос.УстановитьПараметр("Проведен", Истина);
    Запрос.УстановитьПараметр("СчетКт", СчетКт);

    Результат = Запрос.Выполнить();

    ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
    ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");
    ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы");
    ОбластьПодвалТаблицы = Макет.ПолучитьОбласть("ПодвалТаблицы");
    ОбластьДетальныхЗаписей = Макет.ПолучитьОбласть("Детали");
    
    ТабДок.Очистить();
    ТабДок.Вывести(ОбластьЗаголовок);
    ТабДок.Вывести(ОбластьШапкаТаблицы);
    ТабДок.НачатьАвтогруппировкуСтрок();

    
    ВыборкаДетальныеЗаписи = Результат.Выбрать();
    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
        
        ОбластьДетальныхЗаписей.Параметры.Заполнить(ВыборкаДетальныеЗаписи);
        
        СсылкаНаДокумент = ВыборкаДетальныеЗаписи.Документ;
        ОбластьДетальныхЗаписей.Параметры.ДокРасш = СсылкаНаДокумент;
        
            Если  ВыборкаДетальныеЗаписи.НДС_Документа <> ВыборкаДетальныеЗаписи.НДС_Книги_Продаж Тогда
                ТабДок.Вывести(ОбластьДетальныхЗаписей);
            КонецЕсли;
    КонецЦикла;
    
    ТабДок.ЗакончитьАвтогруппировкуСтрок();
    ТабДок.Вывести(ОбластьПодвалТаблицы);
    ТабДок.Вывести(ОбластьПодвал);
    ТабДок.ТолькоПросмотр = Истина;
    
    ТабДок.Показать();

    //}}КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА
    
КонецПроцедуры


В результате получаю ошибку:
{Форма.Форма.Форма(14,10)}: Процедура или функция с указанным именем не определена (ПолучитьМакет)
    Макет = <<?>>ПолучитьМакет("Макет"); (Проверка: Сервер)
Форма.Форма.Форма Возможно ошибочный параметр: "Макет"
1 Sova789
 
15.01.15
10:48
Пробовала варианты
Макет = Объект.ПолучитьМакет("Макет");

Как же обратиться к макету?
2 yanejsh
 
15.01.15
10:49
Синтаксис:

ПолучитьМакет(<Макет>)
Параметры:

<Макет> (обязательный)

Тип: Строка; ОбъектМетаданных: Макет.
Имя макета, как оно задано в конфигураторе, или объект описания метаданного требуемого макета.
Возвращаемое значение:

Тип: ТабличныйДокумент; ТекстовыйДокумент; другой объект, который может быть макетом.

Описание:

Получает макет отчета.

Доступность:

Сервер, толстый клиент, внешнее соединение.
3 deniseek
 
15.01.15
10:49
(0)  Макет = РеквизитФормыВЗначение("Обработка").ПолучитьМакет("Макет");
4 Sova789
 
15.01.15
10:57
(3) Спасибо))))