[РЕШЕНО] Как вывести табличный документ в форму "Печать документов"

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем alboldinov, 3 апр 2015.

  1. TopicStarter Overlay
    alboldinov
    Offline

    alboldinov Опытный в 1С

    Регистрация:
    8 сен 2014
    Сообщения:
    183
    Симпатии:
    0
    Баллы:
    26
    Как дополнительный макет вывести в общую форму Печать документов
    УправлениеПечатьюКлиент.ВыполнитьКомандуПечати-не хватает параметров
    УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию-откуда брать КоллекциюПечатныхФорм
    где можно посмотреть работающий пример
  2. Thelearning
    Offline

    Thelearning Профессионал в 1С Команда форума

    Регистрация:
    9 сен 2010
    Сообщения:
    701
    Симпатии:
    72
    Баллы:
    54
  3. TopicStarter Overlay
    alboldinov
    Offline

    alboldinov Опытный в 1С

    Регистрация:
    8 сен 2014
    Сообщения:
    183
    Симпатии:
    0
    Баллы:
    26
    Там все про печать, а если просто вывести табличный документ
  4. TopicStarter Overlay
    alboldinov
    Offline

    alboldinov Опытный в 1С

    Регистрация:
    8 сен 2014
    Сообщения:
    183
    Симпатии:
    0
    Баллы:
    26
    вот так не работает, как получить ссылку на Табличный документ?
    Код:
    Функция ОжидаемыеПоступлнеияСервер(Номенклатура)
    Макет=Справочники.Номенклатура.ПолучитьМакет("ОжидаемыеПоступления");
    Запрос = Новый Запрос;
        Запрос.Текст =
            "ВЫБРАТЬ
            |    ЗаказПоставщику.Ссылка,
            |    ЗаказПоставщику.ЖелаемаяДатаПоступления,
            |    ЗаказПоставщикуТовары.КоличествоУпаковок,
            |    ЗаказПоставщикуТовары.Количество
            |ИЗ
            |    Документ.ЗаказПоставщику.Товары КАК ЗаказПоставщикуТовары
            |        ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаказПоставщику КАК ЗаказПоставщику
            |        ПО ЗаказПоставщикуТовары.Ссылка = ЗаказПоставщику.Ссылка
            |ГДЕ
            |    ЗаказПоставщикуТовары.Номенклатура = &Номенклатура";
       
        Запрос.УстановитьПараметр("Номенклатура", Номенклатура);
       
        РезультатЗапроса = Запрос.Выполнить();
       
        ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
        ОбластьЗаголовок.Параметры.Номенклатура=Номенклатура;
        ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");
        ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы");
        ОбластьПодвалТаблицы = Макет.ПолучитьОбласть("ПодвалТаблицы");
        ОбластьДетальныхЗаписей = Макет.ПолучитьОбласть("Детали");
        ТабДок=Новый ТабличныйДокумент;
        ТабДок.Очистить();
        ТабДок.Вывести(ОбластьЗаголовок);
        ТабДок.Вывести(ОбластьШапкаТаблицы);
        ТабДок.НачатьАвтогруппировкуСтрок();
       
        ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
       
        Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
            ОбластьДетальныхЗаписей.Параметры.Заполнить(ВыборкаДетальныеЗаписи);
            ТабДок.Вывести(ОбластьДетальныхЗаписей, ВыборкаДетальныеЗаписи.Уровень());
        КонецЦикла;
       
        ТабДок.ЗакончитьАвтогруппировкуСтрок();
        ТабДок.Вывести(ОбластьПодвалТаблицы);
        ТабДок.Вывести(ОбластьПодвал);
        ТабДок.ТолькоПросмотр=Истина;
        ТабДок.АвтоМасштаб=Истина;
        Возврат ТабДок;
    КонецФункции   
       
    
    &НаКлиенте
    Процедура ОжидаемоеПоступление(Команда)
        Если ЭтаФорма.Элементы.СписокРасширенныйПоискНоменклатура.ТекущиеДанные<>Неопределено  Тогда
        Строка=ЭтаФорма.Элементы.СписокРасширенныйПоискНоменклатура.ТекущиеДанные;
    Номенклатура=Получить(Строка.Наименование);
    КонецЕсли;
    ТабДок=ОжидаемыеПоступлнеияСервер(Номенклатура);
    ВыполняемаяКоманда = Параметры;
    ПараметрыОткрытия = Новый Структура("ИмяМенеджераПечати,ИменаМакетов,ПараметрКоманды");
        ПараметрыОткрытия.ИмяМенеджераПечати = "Справочник.Номенклатура";
        ПараметрыОткрытия.ИменаМакетов         = "ОжидаемоеПоступление";
        ПараметрыОткрытия.ПараметрКоманды     = ТабДок;
        ОткрытьФорму("ОбщаяФорма.ПечатьДокументов", ПараметрыОткрытия, ЭтаФорма.ВладелецФормы);
    КонецПроцедуры
    
  5. TopicStarter Overlay
    alboldinov
    Offline

    alboldinov Опытный в 1С

    Регистрация:
    8 сен 2014
    Сообщения:
    183
    Симпатии:
    0
    Баллы:
    26
    Может кому поможет вот так решил:
    Код:
    ТабДок=ОжидаемыеПоступлнеияСервер(Номенклатура);
        МассивОбъектов=Новый Массив;
        МассивОбъектов.Добавить(Номенклатура);
        КоллекцияПечатныхФорм = Новый ("ТаблицаЗначений");
        КоллекцияПечатныхФорм.Колонки.Добавить("ИмяМакета");
        КоллекцияПечатныхФорм.Колонки.Добавить("ТабличныйДокумент");
        КоллекцияПечатныхФорм.Колонки.Добавить("ИмяВРЕГ");
        КоллекцияПечатныхФорм.Колонки.Добавить("СинонимМакета");
        КоллекцияПечатныхФорм.Колонки.Добавить("Экземпляров");
        КоллекцияПечатныхФорм.Колонки.Добавить("ПолныйПутьКМакету");
        КоллекцияПечатныхФорм.Колонки.Добавить("ИмяФайлаПечатнойФормы");
        стр=КоллекцияПечатныхФорм.Добавить();
        Стр.ИмяМакета="ОжидаемыеПоступления";
        Стр.ИмяВРЕГ="ОЖИДАЕМЫЕПОСТУПЛЕНИЯ";
        стр.ТабличныйДокумент=ТабДок;
        стр.СинонимМакета="Ожидаемые поступления";
        стр.Экземпляров=1;
        ПараметрыОткрытия = Новый Структура("ИмяМенеджераПечати,ИменаМакетов,ПараметрКоманды,ПараметрыПечати");
        ПараметрыОткрытия.ИмяМенеджераПечати="Справочник.Номенклатура";
        ПараметрыОткрытия.ПараметрКоманды = Новый Массив;
        ПараметрыОткрытия.ПараметрыПечати = Новый Структура;
        ПараметрыОткрытия.Вставить("КоллекцияПечатныхФорм", КоллекцияПечатныхФорм);
        ПараметрыОткрытия.Вставить("ОбъектыПечати", МассивОбъектов);
       
        ОткрытьФорму("ОбщаяФорма.ПечатьДокументов", ПараметрыОткрытия, ЭтаФорма.ВладелецФормы);

Поделиться этой страницей