8.х Работа с не фиксированным количеством колонок и строк в макете

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

  1. TopicStarter Overlay
    Ayria
    Offline

    Ayria Опытный в 1С

    Регистрация:
    18 май 2010
    Сообщения:
    123
    Симпатии:
    0
    Баллы:
    26
    Здравствуйте, помогите мне пожалуйста вот с такой проблемой. Мне нужно получить отчет в таком виде как на первой картинке. В этом отчете не фиксированное количество колонки "Номер группы", а также не фиксированное количество строк. Надо что бы выводила сразу с учетом строки и столбца.

    Я пробовала работать с двумя макетами где у 1 брала в область столбцы, а у 2 брала строки, что получилось на рис.2

    вот запрос по которому я работала
    Код:
    Запрос = Новый Запрос("ВЫБРАТЬ
    |	УчебныеПланы.Ссылка,
    |	УчебныеПланы.ВерсияДанных,
    |	УчебныеПланы.ПометкаУдаления,
    |	УчебныеПланы.Предопределенный,
    |	УчебныеПланы.Код,
    |	УчебныеПланы.Наименование,
    |	УчебныеПланы.НомерГруппы КАК НомерГруппы,
    |	УчебныеПланы.Дисциплина КАК Дисциплина,
    |	УчебныеПланы.Блок,
    |	УчебныеПланы.Лекции КАК Лекции,
    |	УчебныеПланы.ЛабораторныеРаботы1 КАК ЛабораторныеРаботы1,
    |	УчебныеПланы.ЛабораторныеРаботы2 КАК ЛабораторныеРаботы2,
    |	УчебныеПланы.Экзамен КАК Экзамен,
    |	УчебныеПланы.Консультации КАК Консультации,
    |	УчебныеПланы.КурсоваяРабота КАК КурсоваяРабота,
    |	УчебныеПланы.ПроверкаКурсовых КАК ПроверкаКурсовых,
    |	УчебныеПланы.Преподаватель,
    |	УчебныеПланы.Номер,
    |	УчебныеПланы.ПроверкаКонтрольных КАК ПроверкаКонтрольных,
    |	УчебныеПланы.ЛекцииНадбавка,
    |	УчебныеПланы.ЛабораторнНадбавка1,
    |	УчебныеПланы.ЛабораторнНадбавка2,
    |	УчебныеПланы.ПолноеФИО КАК ПолноеФИО,
    |	УчебныеПланы.НомерГруппы.Финансирование КАК Финансирование,
    |	УчебныеПланы.НомерГруппы.Отделение КАК Отделение,
    |	УчебныеПланы.НомерГруппы.УровеньОбразования КАК УровеньОбразования
    |ИЗ
    |	Справочник.УчебныеПланы КАК УчебныеПланы
    |
    |УПОРЯДОЧИТЬ ПО
    |	НомерГруппы
    |ИТОГИ
    |	СУММА(Лекции),
    |	СУММА(ЛабораторныеРаботы1),
    |	СУММА(ЛабораторныеРаботы2),
    |	СУММА(Экзамен),
    |	СУММА(Консультации),
    |	СУММА(КурсоваяРабота),
    |	СУММА(ПроверкаКурсовых),
    |	СУММА(ПроверкаКонтрольных)
    |ПО
    |	ПолноеФИО,
    |	Дисциплина,
    |	НомерГруппы
    |АВТОУПОРЯДОЧИВАНИЕ");
    
    

    Вложения:

  2. nbIpKuH_BaH9I
    Offline

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

    Регистрация:
    16 сен 2009
    Сообщения:
    6.980
    Симпатии:
    397
    Баллы:
    104
    У вас не одной группировки нет в запросе. Вы конструктором его пишите?
  3. TopicStarter Overlay
    Ayria
    Offline

    Ayria Опытный в 1С

    Регистрация:
    18 май 2010
    Сообщения:
    123
    Симпатии:
    0
    Баллы:
    26
    да конструктором, и группировки идут после слова ИТОГИ ПО
  4. shurikvz
    Offline

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

    Регистрация:
    1 окт 2009
    Сообщения:
    8.409
    Симпатии:
    316
    Баллы:
    104
    Ayria, посмотрите вот эту тему: http://www.1c-pro.ru/index.php?showtopic=2...mp;#entry125606 (самое начало не читайте, ближе к концу смотрите). Там я рассказывал как. Общий принцип такой:
    1) Вам надо посчитать количество будущих колонок (можно для этого один раз пробежаться по выборке)
    2) Потом выводить уже построчно, в цикле вывода по строкам, делаете внутренний цикл (по количеству колонок (мы это количество знаем, посчитано на шаге 1) ), и смотрите, если для данной строки и данного номера группы (у вас же номер группы в наименовании колонок?) есть значение, то выводите его (метод Присоединить()), если нет, то соответственно область с нулевым значением (все есть в примере в вышеуказанной теме).

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