8.х Несколько окон в одном отчете

Тема в разделе "Система компоновки данных (СКД)", создана пользователем alboldinov, 8 дек 2015.

  1. TopicStarter Overlay
    alboldinov
    Offline

    alboldinov Опытный в 1С

    Регистрация:
    8 сен 2014
    Сообщения:
    183
    Симпатии:
    0
    Баллы:
    26
    Как сделать несколько окон в одном отчете примерно как на рисунке?
    Скриншот 08-12-2015 224624.png
  2. Draco
    Offline

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.628
    Симпатии:
    946
    Баллы:
    204
    А что именно вообще нужно?
    Просто смотря какие окна?
    Можно как несколько группировок сделать принципе каждая будет это свой отчет.
    Можно через макет оформления сделать.
    --- Объединение сообщений, 9 дек 2015 ---
    Этот вообще сделан я думаю что на форму размещены 4 табл поля.
    есть 4 схемы СКД ну или одна с разными настроками. Она инициллизируется выполняется и результат возвращается в таб док
  3. TopicStarter Overlay
    alboldinov
    Offline

    alboldinov Опытный в 1С

    Регистрация:
    8 сен 2014
    Сообщения:
    183
    Симпатии:
    0
    Баллы:
    26
    через табл. поля понятно как сделать. А вот через группировки нет. Вниз добавляются группировки, а вправо не знаю как.
  4. Draco
    Offline

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.628
    Симпатии:
    946
    Баллы:
    204
    Ну вправо ника не добавляется.
    Либо вы в макет сами сразу так делаете либюо скорее всего это несколько таб полей. Откройте в конфе и посмотрите как там
  5. TopicStarter Overlay
    alboldinov
    Offline

    alboldinov Опытный в 1С

    Регистрация:
    8 сен 2014
    Сообщения:
    183
    Симпатии:
    0
    Баллы:
    26
    исходника нет, просто увидел что можно сделать, удобно если справа еще отчет. Через макет наверно тоже не получится там же одно окно.
  6. Draco
    Offline

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.628
    Симпатии:
    946
    Баллы:
    204
    Не ну если речь идет имено об окнах то понятно что это только через таб док.
    принципе я то на Макете могу нарисовать то и все 4 таблицы и вывести их в одно окно.
    Вотпрос просто в том что вам надо 4 таблицы в одном окне или каждую в разном. Если каждую в разном окне то варинтов не много. Программно копануем и выводим
  7. TopicStarter Overlay
    alboldinov
    Offline

    alboldinov Опытный в 1С

    Регистрация:
    8 сен 2014
    Сообщения:
    183
    Симпатии:
    0
    Баллы:
    26
    Каждую в разном, можно где нибудь пример глянуть горизонтального вывода?
  8. Draco
    Offline

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.628
    Симпатии:
    946
    Баллы:
    204
    Всмысле горизонтального вывода? такого как у Вас на скрине? у меня нет
  9. TopicStarter Overlay
    alboldinov
    Offline

    alboldinov Опытный в 1С

    Регистрация:
    8 сен 2014
    Сообщения:
    183
    Симпатии:
    0
    Баллы:
    26
    Да вообще в принципе вывод через программную компоновку в макет, в определенную область, как в окно
  10. Draco
    Offline

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

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

    Код:
    &НаСервере
    Функция СравнитьЦеныВывестиВТабличныйДокумент()
        КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
       
        СхемаКомпоновки =  Документы.РасходнаяНакладная.ПолучитьМакет("СравнитьЦеныПокупателей");
        Настройки = СхемаКомпоновки.НастройкиПоУмолчанию;
       
        МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновки, Настройки);
       
        ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
       
        ВнешниеНаборыДанных = Новый Структура;
        ВнешниеНаборыДанных.Вставить("СписокНоменклатуры", Объект.СписокНоменклатуры.Выгрузить());
       
        Запрос = Новый Запрос;
        Запрос.Текст =
            "ВЫБРАТЬ
            |    ЦеныПокупателейСрезПоследних.Контрагент КАК Контрагент1,
            |    ЦеныПокупателейСрезПоследних.Номенклатура,
            |    ЦеныПокупателейСрезПоследних.Цена
            |ИЗ
            |    РегистрСведений.ЦеныПокупателей.СрезПоследних(&Период, Номенклатура В (&СписокНоменклатуры)) КАК ЦеныПокупателейСрезПоследних";
    
        Запрос.УстановитьПараметр("Период", НачалоМесяца(Объект.Дата));
        Запрос.УстановитьПараметр("СписокНоменклатуры", Объект.СписокНоменклатуры.Выгрузить().ВыгрузитьКолонку("Номенклатура"));
    
        РезультатЗапроса = Запрос.Выполнить();
    
        ВнешниеНаборыДанных.Вставить("ЦеныПокупателейРез", РезультатЗапроса);
       
        ПроцессорКомпоновки.Инициализировать(МакетКомпоновки, ВнешниеНаборыДанных);
       
        //ДокументРезультат = Новый ТабличныйДокумент;
        ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
        //ПроцессорВывода.УстановитьДокумент(ДокументРезультат);
        ДокументРезультат = ПроцессорВывода.Вывести(ПроцессорКомпоновки);
        
        //Здесь можно программно доработать табличный документ
       
        ДокументРезультат.ОтображатьЗаголовки = Ложь;
        ДокументРезультат.ОтображатьСетку = Ложь;
       
        Возврат ДокументРезультат;
    КонецФункции // СравнитьЦеныВывестиВТабличныйДокумент()
    

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