|
Итоги в иерархии по таблице значений | ☑ | ||
---|---|---|---|---|
0
Rom_Kat
28.11.12
✎
10:58
|
ВЫБРАТЬ
| Таб.Подразделение, | Таб.СтатьяСводная, | Таб.Период, | Таб.Сумма, | Таб.ПланСумма, | Таб.ПрогнозСумма |ПОМЕСТИТЬ ТабОперации |ИЗ | &ТЗ КАК Таб |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ТЗ.Подразделение КАК Подразделение, | ТЗ.СтатьяСводная КАК СтатьяСводная, | ТЗ.Период КАК Период, | СУММА(ТЗ.Сумма) КАК Сумма, | СУММА(ТЗ.ПланСумма) КАК ПланСумма, | СУММА(ТЗ.ПрогнозСумма) КАК ПрогнозСумма |ИЗ ТабОперации КАК ТЗ |СГРУППИРОВАТЬ ПО | ТЗ.Подразделение, | ТЗ.СтатьяСводная, | ТЗ.Период |УПОРЯДОЧИТЬ ПО | ТЗ.Подразделение.Наименование |ИТОГИ | СУММА(Сумма), | СУММА(ПланСумма), | СУММА(ПрогнозСумма) |ПО | ТЗ.Подразделение ИЕРАРХИЯ, | ТЗ.СтатьяСводная, | ТЗ.Период Есть таблица значений с подразделениями в одной колонке и сводными статьями в другой. Задача получить итоги по статьям в иерархии подразделений. Возможно ли это провернуть с таблицей значений? |
|||
1
Шапокляк
28.11.12
✎
10:59
|
Дерево значений еще не предлагали?
|
|||
2
Rom_Kat
28.11.12
✎
11:01
|
не предлагали. Только я не понял при чем здесь дерево значений.
|
|||
3
fisher
28.11.12
✎
11:03
|
Дык а проблема в чем?
|
|||
4
Rom_Kat
28.11.12
✎
11:04
|
Нет итогов.
Делаю ОбходРезультатаЗапроса.ПоГруппировкам |
|||
5
Rom_Kat
28.11.12
✎
11:06
|
Вопрос в том и стоит возможно ли это.
Может кто занимался таким извратом. |
|||
6
fisher
28.11.12
✎
11:06
|
Может, обходишь неправильно?
Глянь результат в консоли. |
|||
7
Maxus43
28.11.12
✎
11:06
|
Выполнить.Выгрузить(ОбходРезультатаЗапроса.ПоГруппировкам);
получиш дерево |
|||
8
fisher
28.11.12
✎
11:07
|
Я не вижу причины, которая может вызывать проблемы.
На крайняк, попробуй явно соединить со справочником подразделений и иерархию по его данным получай. |
|||
9
Rom_Kat
28.11.12
✎
11:13
|
(8)иерархию подразделений выводит, но при обходе по статьям выдает 6 строк Тип Элемента Неопределено и без значений.
|
|||
10
Maxus43
28.11.12
✎
11:16
|
(9) код в студию.
З.ы. конструктором внешних печ форм ты получишь 100% рабочий код по обходу результата иерархически |
|||
11
Rom_Kat
28.11.12
✎
11:27
|
ВыборкаДетальныеЗаписи = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл ОбластьПодразделение.Параметры.Наименование = ВыборкаДетальныеЗаписи.Подразделение; ОбходПоСтатье = ВыборкаДетальныеЗаписи.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); Для Каждого СтрокаНастроек ИЗ НастройкиСводная Цикл Если ОбходПоСтатье.НайтиСледующий(СтрокаНастроек.СводнаяСтатья, "СтатьяСводная") Тогда ОбходПоПериоду = ОбходПоСтатье.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); Пока ОбходПоПериоду.Следующий() Цикл Если ОбходПоСтатье.СтатьяСводная="Оборот с НДС" Тогда СтрокаОборот = ТабОборот.Добавить(); ЗаполнитьЗначенияСвойств(СтрокаОборот, ОбходПоПериоду); КонецЕсли; КонецЦикла; Если СтрокаНастроек.ОтносительноОборота Тогда ОбластьСтатья.Параметры.Наименование = ОбходПоСтатье.СтатьяСводная+" % от ОБОРОТА"; ОбходПоПериоду = ОбходПоСтатье.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); Пока ОбходПоПериоду.Следующий() Цикл СтрокаОборот = ТабОборот.Найти(ОбходПоПериоду.Период, "Период"); Если СтрокаОборот<>Неопределено Тогда Если СтрокаОборот.Сумма<>0 Тогда ОбластьСтатьяПериод.Параметры.Сумма = Строка(Формат(ОбходПоПериоду.Сумма/СтрокаОборот.Сумма*100, "ЧЦ=15; ЧДЦ=2"))+" %"; Иначе ОбластьСтатьяПериод.Параметры.Сумма = 0; КонецЕсли; Если СтрокаОборот.ПланСумма<>0 Тогда ОбластьСтатьяПериод.Параметры.ПланСумма = Строка(Окр(ОбходПоПериоду.ПланСумма/СтрокаОборот.ПланСумма*100, 2, 1))+" %"; Иначе ОбластьСтатьяПериод.Параметры.ПланСумма = 0; КонецЕсли; Если СтрокаОборот.ПрогнозСумма<>0 Тогда ОбластьСтатьяПериод.Параметры.ПрогнозСумма = Строка(Окр(ОбходПоПериоду.ПрогнозСумма/СтрокаОборот.ПрогнозСумма*100, 2, 1))+" %"; Иначе ОбластьСтатьяПериод.Параметры.ПрогнозСумма = 0; КонецЕсли; Иначе ОбластьСтатьяПериод.Параметры.Сумма = 0; ОбластьСтатьяПериод.Параметры.ПланСумма = 0; ОбластьСтатьяПериод.Параметры.ПрогнозСумма = 0; КонецЕсли; ДокументРезультат.Присоединить(ОбластьСтатьяПериод) КонецЦикла; КонецЕсли; ОбходПоСтатье.Сбросить(); КонецЕсли; КонецЦикла; КонецЦикла; |
|||
12
Maxus43
28.11.12
✎
11:30
|
в консоли посмотри что выдаёт, если там нормально - код ковырять
|
|||
13
Rom_Kat
28.11.12
✎
11:45
|
(12)А как в консоль ТЗ передать?
|
|||
14
Maxus43
28.11.12
✎
11:47
|
(13) а откуда ты её вытащил то?
|
|||
15
Rom_Kat
28.11.12
✎
11:49
|
ТЗ я заполняю результатами кучи запросов.
|
|||
16
LAAry
28.11.12
✎
11:54
|
(4)ОбходРезультатаЗапроса.ПоГруппировкамСИерархией не?
|
|||
17
Maxus43
28.11.12
✎
11:55
|
(15) чтоб проверить твой код - обычный запрос сделай куданибудь, где есть подразделение и статья, не надо тех же данных, надо ту же структуру.
и да, попробовать (16) ещё |
|||
18
Rom_Kat
28.11.12
✎
11:59
|
(17)проще на месте колдовать, а (16) попробую
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |