Имя: Пароль:
1C
 
Вывод печатной формы макета при нажатии на кнопку Выполнить
,
0 vladis222
 
31.07.19
10:02
Подскажите,пожалуйста,что я делаю неправильно,у меня есть обработка и нужно чтобы при заполнении ее полей,выводился печатный макет. Пока на данный момент у меня готова шапка,хотел посмотреть как она выведется...

&НаСервере
Процедура ВыполнитьНаСервере()
    ТабДок = Новый ТабличныйДокумент;
    Макет = Обработки.ПечатьРеализацииПоПоставщикам.ПолучитьМакет("Макет");
    Шапка = Макет.ПолучитьОбласть("Шапка");
    ШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы");
    ЦПС = Макет.ПолучитьОбласть("ЦПС");
    Таблица = Макет.ПолучитьОбласть("Таблица");
    Подвал = Макет.ПолучитьОбласть("Подвал");
    Итог = Макет.ПолучитьОбласть("ИтогТаблица");
    //Заполняем параметры шапки
    КонтактноеЛицо=Объект.Договор.КонтактноеЛицо;
    НазваниеДоговора=Объект.Договор.Наименование;
    Должность=КонтактноеЛицо.ДолжностьПоВизитке;
    ФИОиз = "";
    ЗП= ФизическиеЛицаЗарплатаКадры.Просклонять(КонтактноеЛицо.Наименование,2,ФИОиз,);
    ДолжностьКонтактногоЛица = "";
    МассивСтрок = ИзСтрокиВМассив(Должность," ");
    Для Каждого Строка ИЗ МассивСтрок Цикл
        ДолжностьКонтактногоЛица =ДолжностьКонтактногоЛица+" "+СклонениеФИО(Строка,,,,);
    КонецЦикла;
    ДатаДоговора = Формат(Объект.Договор.Дата,"ДЛФ=DD");
    Шапка.Параметры.Должность=ДолжностьКонтактногоЛица;
    Шапка.Параметры.Менеджер=ФИОиз;
    Шапка.Параметры.Договор=НазваниеДоговора;
    Шапка.Параметры.ДатаДоговора=ДатаДоговора;
    Шапка.Параметры.Дата       = Формат(Объект.ДатаКонец,"ДЛФ=DD");
    Шапка.Параметры.Место      = Объект.МестоСоставления;
    ТабДок.Вывести(Шапка);
        КонецПроцедуры

        Функция ПолучитьМакетНаСервере()
             ОтчетОбъект = РеквизитФормыВЗначение("Объект");
             НовыйМакет = ОтчетОбъект.ПолучитьМакет("Макет");
            Возврат НовыйМакет;
        КонецФункции

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


То есть,я пишу функцию на сервере,которая возвращает макет,затем ее вызываю в клиенте,оно не ругается на ошибки но при нажатии на кнопку Выполнить,ничего мне не выдает... что я не правильно написал в коде?
1 Василий Алибабаевич
 
31.07.19
10:04
(0) На клиенте нужна хотя бы одна команда "Показать". А так - оно бы и радо, но...
2 mikecool
 
31.07.19
10:05
все сделано, но ничего не вернулось и то, что сформировалось - осталось только в памяти,  а не показалось пользователю
ПолучитьМакетНаСервере - вообще зачем?
3 mikecool
 
31.07.19
10:08
первая функция должна заканчиваться типа
    ТабДок.Вывести(Шапка);

Возврат ТабДок;
        КонецПроцедуры

основная:
     &НаКлиенте
Процедура Заполнить(Команда)
    ТабДок = ВыполнитьНаСервере();
ТабДок.Показать();
    //ПолучитьМакетНаСервере();
КонецПроцедуры
4 vladis222
 
31.07.19
10:30
(3) Спасибо огромное! А подскажите,пожалуйста,как сделать так чтобы макет выводился не как табличная форма а как цельный документ перед печатью?
5 dka80
 
31.07.19
11:05
УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, Метаданные().ПолноеИмя(), "Твое имя", ТабДок )
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.