Имя: Пароль:
1C
1С v8
Отчет по месяцам не на СКД
0 thebooblik
 
01.06.17
09:26
Добрый день!

Люди добрые, помогите советом. Делаю небольшой отчет в УПП. Есть запрос:

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

Как не на СКД вывести данные в таблицу с колонками "Месяц" и строками "Номенклатура" при условии что номенклатура в каждом месяце может быть разная. Список номенклатуры заранее не известен.. Дальше нужно будет посчитать итог за каждый месяц, но эту задачу я решил.
1 HEKPOH
 
01.06.17
09:28
(0) не в тему, но все же: а почему не на СКД?
2 thebooblik
 
01.06.17
09:34
(1) Это небольшая часть отчета. Есть еще куча выборок, которые мне удобнее обработать самописным кодом.
3 rozer76
 
01.06.17
09:37
(0) все месяцы чтоль? тогда типо

ВыборкаПоГруппировкамВсеПериоды.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "Период", "Все")
4 Любопытная
 
01.06.17
09:42
(2) Ну и собери самописным кодом финальную таблицу, засунь ее в СКД и крути как хочешь. Какие проблемы?
5 thebooblik
 
01.06.17
09:47
(4) Пока только так и придумал. Придется все переделывать..
6 Дмитрий
 
01.06.17
10:08
(0) цикл по полному списку номенклатуры
      цикл по месяцам
        отбор из таблицы по текущим номенклатуре и месяцу
           присоединить секцию Номенклатура|Месяц
7 Дмитрий
 
01.06.17
10:09
(6) если отбор ничего не находит - присоединяй пустую ячейку
8 Dotoshin
 
01.06.17
10:18
(0) Сводная таблица не подойдет?
Сводная таблица
Сводные таблицы — универсальный механизм представления и интерактивного анализа многомерных данных, полученных как результаты запросов, в табличном документе.
Пример:

Результат = Запрос.Выполнить();
СводТаб = ЭлементыФормы.ПолеТДок.ВстроенныеТаблицы.СводнаяТаблица;
СводТаб.ИсточникДанных = Результат;