8.х Реестр документов через компоновщик

Тема в разделе "Отчеты и обработки для "1С:Предприятие 8"", создана пользователем Роман_Н, 2 окт 2012.

  1. TopicStarter Overlay
    Роман_Н
    Offline

    Роман_Н Опытный в 1С

    Регистрация:
    3 июл 2012
    Сообщения:
    291
    Симпатии:
    0
    Баллы:
    26
    Подскажите, пожалуйста, как в компоновщике организовать отбор по виду документа. Необходим реестр поступлений и перемещений. В стандартном реестре документов нет количества.
    Сделал отдельно для каждого документа. Запрос к документу. Но хотелось бы один отчет, где можно выбрать Поступление или Перемещение.
  2. Draco
    Offline

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.628
    Симпатии:
    946
    Баллы:
    204
    Ну если долго не рассуждать, то пишите запрос с условиями, где текст запроса меняется в зввисимости от параметра, потом запрос исполняете и передает в компановщищик для вывода.
  3. TopicStarter Overlay
    Роман_Н
    Offline

    Роман_Н Опытный в 1С

    Регистрация:
    3 июл 2012
    Сообщения:
    291
    Симпатии:
    0
    Баллы:
    26
    Поясните немного, вот что: условия накладывать в запросе или в форме отчета, т.е. запрос меняется или текст запроса? Как передать данные компоновщик?
  4. Draco
    Offline

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.628
    Симпатии:
    946
    Баллы:
    204
    Создете форму отчета для компановки. на форме к кнопке сформировать приделываете событие типа


    Код:
    СформироватьДанныеДляОтчета();
    
    ВнешниеНаборыДанных = Новый Структура;
    ВнешниеНаборыДанных.Вставить("ТаблицаСотрудников",ТЗ);
    
    СхемаКомпоновкиДанных = ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
    Настройки = КомпоновщикНастроек.Настройки;
    
    ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных;
    КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
    МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки, ДанныеРасшифровки);
    
    ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
    ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки, ВнешниеНаборыДанных, ДанныеРасшифровки);
    
    ДокументРезультат = ЭлементыФормы.Результат;
    ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
    ПроцессорВывода.УстановитьДокумент(ДокументРезультат);
    ПроцессорВывода.ОтображатьПроцентВывода=Истина;
    ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);
    
    Вот смотрите ту есть код


    ВнешниеНаборыДанных = Новый Структура;
    ВнешниеНаборыДанных.Вставить("ТаблицаСотрудников",ТЗ);

    Это я говорю что компановка будет работать с внешней таблицей данных ТАблицаСотрудников, которую я описываю в компановщике.
    ТЗ - это таблица занчений - я где то выполнил запрос и передпл туда данные - вы так же можете написать свой запрос, который будет меняться от условий и выгружать его данные в таблицу и уже компановщик по этой таблице строит данные.

    Или наберите в инет СКД внешние наборы данных и почитайте
  5. Yury
    Offline

    Yury Опытный в 1С

    Регистрация:
    22 дек 2011
    Сообщения:
    355
    Симпатии:
    4
    Баллы:
    29
    А можно компоновщику в качестве источника данных подсунуть запрос??? Поясню зачем: в отчете нужно обеспечить отбор, группировку по характеристикам.
Похожие темы
  1. Zara
    Ответов:
    9
    Просмотров:
    3.337
  2. serega2671
    Ответов:
    0
    Просмотров:
    501
Загрузка...

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