8.х Вывод результата работы СКД в табличный документ

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

  1. TopicStarter Overlay
    Zeta
    Offline

    Zeta Опытный в 1С

    Регистрация:
    8 ноя 2009
    Сообщения:
    87
    Симпатии:
    0
    Баллы:
    26
    Здравствуйте! Подскажите как можно из модуля формы (или объекта) документа выполнить СКД отчета и вывести его в табличный документ. То есть есть стандартный макет у документа, там находтся объемный заголовок и много всего другого. Необходимо, чтобы после вывода "шапки" макета документа, вывелся результат работы отчета с нужными параметрами даты, а после еще, чтобы вевелся подвал из макета документа. Что-то типа этого:
    Код:
    ТаблДок = Новый ТабличныйДокумент;
    МакетДока = Документы.Документ1.ПолучитьМакет("Макет");
    ШапкаДока = МакетДока.ПолучитьОбласть("Шапка");
    Подвал = МакетДока.ПолучитьОбласть("Подвал");
    ТаблДок.Вывести(ШапкаДока);
    ////здесь необходимо заполнить параметры и вывести в ТаблДок результат работы СКД отчета Отчет1 
    .....................................................................................................
    ТаблДок.Вывести(Подвал);
    ТаблДок.Показать();
    
  2. has
    Offline

    has Опытный в 1С

    Регистрация:
    18 июн 2009
    Сообщения:
    708
    Симпатии:
    0
    Баллы:
    26
    Получаете объект отчета и у Вас будет доступ к его СКД
  3. TopicStarter Overlay
    Zeta
    Offline

    Zeta Опытный в 1С

    Регистрация:
    8 ноя 2009
    Сообщения:
    87
    Симпатии:
    0
    Баллы:
    26
    Это понятно, что надо получить СКД:
    МакетСКД = Отчеты.Отчет1.ПолучитьМакет("СКД");
    А как его выполнить и вывести в ТабДок?
  4. alexburn
    Online

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.756
    Симпатии:
    509
    Баллы:
    204
    Посмотрите в книге Хрусталевой, там подробно описано программный вызов СКД и т.п.
  5. TopicStarter Overlay
    Zeta
    Offline

    Zeta Опытный в 1С

    Регистрация:
    8 ноя 2009
    Сообщения:
    87
    Симпатии:
    0
    Баллы:
    26
    Спасибо, вот как получилось:

    ТабДок = Новый ТабличныйДокумент;

    ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
    ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");

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

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

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