|
v7: Вывести группу в таблицу отчета | ☑ | ||
---|---|---|---|---|
0
kobzon
11.04.13
✎
13:46
|
Делаю отчет по реализации продукции по месяцам. Вроде сделал, выводится сколько какой клиент в каждом месяце купил.
Клиенты находятся в папках менеджеров. Менеджеры выводятся Таб.ВывестиСекцию("Контрагент|Осн"); А вот количество по ним в "Итого|Мес" нет. Как можно сделать? //********************************************* Процедура Сформировать() Перем Запрос, ТекстЗапроса, Таб; //Создание объекта типа Запрос Запрос = СоздатьОбъект("Запрос"); ТекстЗапроса = "//{{ЗАПРОС(Сформировать) |Период с ВыбНачПериода по ВыбКонПериода; //|Без итогов; |Контрагент = Документ.РеализацияПродукции.Контрагент; |Всего = Документ.РеализацияПродукции.Всего; |Количество = Документ.РеализацияПродукции.Количество; |ЕдиницаИзмерения = Документ.РеализацияПродукции.ЕдиницаИзмерения; |Коэффициент = Документ.РеализацияПродукции.ЕдиницаИзмерения.Коэффициент; |Функция Сум = Сумма(Всего); |Функция Кол = Сумма(Количество*Коэффициент); |Группировка Контрагент; |Группировка Месяц все; |"//}}ЗАПРОС ; // Если ошибка в запросе, то выход из процедуры Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда Возврат; КонецЕсли; ТЗ = СоздатьОбъект("ТаблицаЗначений"); Запрос.Выгрузить(ТЗ,,); Таб = СоздатьОбъект("Таблица"); Таб.ИсходнаяТаблица("Сформировать"); Таб.ВывестиСекцию("Заг|Осн"); //СтрокаСворачивания = СоздатьОбъект("СписокЗначений"); Пока Запрос.Группировка("Контрагент") = 1 Цикл Если Запрос.Контрагент.ЭтоГруппа() = 1 Тогда Продолжить; КонецЕсли; Пока Запрос.Группировка("Месяц") = 1 Цикл Таб.ПрисоединитьСекцию("Заг|Мес"); КонецЦикла; Прервать; Прервать; КонецЦикла; Запрос.ВНачалоВыборки(); // Заполнение полей "Заголовок" Состояние("Заполнение выходной таблицы..."); Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0); Пока Запрос.Группировка(1) = 1 Цикл // Заполнение полей Товар Если Запрос.Контрагент.ЭтоГруппа() = 1 Тогда Таб.ВывестиСекцию("Итого|Осн"); Иначе Таб.ВывестиСекцию("Контрагент|Осн"); КонецЕсли; Н = 0; Пока Запрос.Группировка(2) = 1 Цикл // Заполнение полей Месяц Н = Н + 1; Если Запрос.Контрагент.ЭтоГруппа() = 1 Тогда Кол = Запрос.Кол; Сумма = Запрос.Сум; КонецЕсли; Таб.ПрисоединитьСекцию("Контрагент|Мес"); КонецЦикла; КонецЦикла; Таб.ТолькоПросмотр(1); Таб.Показать("Сформировать", ""); КонецПроцедуры //**************************************** |
|||
1
Ёпрст
11.04.13
✎
13:48
|
клиентосы вниз, месяц направо ?
|
|||
2
kobzon
11.04.13
✎
13:51
|
да, клиентосы и менеджеры вниз, месяц вправо
|
|||
3
Ёпрст
11.04.13
✎
13:51
|
ии.. где в коде вывод секции Итого|мес ?
|
|||
4
kobzon
11.04.13
✎
13:53
|
Вот я не знаю куда воткнуть то, Куда не втыкаю, появляется рядом не нужный столбик пустой а сумм нет..
|
|||
5
kobzon
11.04.13
✎
15:09
|
Народ ну подскажите где ошибка то.
|
|||
6
Ёпрст
11.04.13
✎
15:16
|
Ну дык нам отсуда не видно, куда воткнул и что получаешь.
если что - итогов по группам не будет |
|||
7
kobzon
11.04.13
✎
15:17
|
нужно чтобы по менеджерам итоги тоже были за каждый месяц? Низя?
|
|||
8
Ёпрст
11.04.13
✎
15:19
|
(7) я не помню уже, но в этом порядке итогов по группе справочника не будет в запросе - поменяешь местами - будут (или наеборот) - выгрузи запрос в тз и посмотри сам
|
|||
9
kobzon
11.04.13
✎
15:25
|
В смысле поменять местами группировки?
|Группировка Контрагент; |Группировка Месяц все; |
|||
10
kobzon
12.04.13
✎
08:38
|
Смотрю в ТЗ если внутри только группировки контрагент то там есть итоги по менеджерам, то есть по каталогам. Как только добавляю группировку по месяцам, так группы не попадают, почему так?
Пока Запрос.Группировка(1) = 1 Цикл Пока Запрос.Группировка(2) = 1 Цикл ТЗ.НоваяСтрока(); ТЗ.Контрагент = Запрос.Контрагент; ТЗ.Сум = Запрос.Сум; ТЗ.Количество = Запрос.Количество; Таб.ВывестиСекцию("Контрагент"); КонецЦикла; КонецЦикла; |
|||
11
Ёпрст
12.04.13
✎
08:56
|
(10) запрос выгребает только ЭЛЕМЕНТЫ, группы он в результирующую таблицу добавляет потом сам.
А с предопределенными группировками - всегда так было - не умеет по ним итоги считать |
|||
12
kobzon
12.04.13
✎
08:59
|
(11) И че делать? С таблицами значений мудрить?
|
|||
13
Ёпрст
12.04.13
✎
09:03
|
(12) ну да, или менять группировки местами.
|
|||
14
kobzon
12.04.13
✎
09:04
|
Когда меняю местами в тз вапще только 1 месяц попадает)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |