|
Группировка строк | ☑ | ||
---|---|---|---|---|
0
Neznayka_5
24.08.12
✎
05:49
|
Делаю
ИТОГИ ПО Регион, Контрагент, ДоговорКонтрагента Подскажите, как вывести это в один столбец табличного документа? Пока получается вывести только Регион: ДокументРезультат.НачатьАвтогруппировкуСтрок(); Пока РезультатЗапроса.Следующий() Цикл ОбластьСтрока.Параметры.Регион = РезультатЗапроса.Регион; ОбластьСтрока.Параметры.ФактКол = Формат(РезультатЗапроса.Количество, "ЧДЦ=0"); ОбластьСтрока.Параметры.ФактВал = РезультатЗапроса.Стоимость; ОбластьСтрока.Параметры.ФактСр = Формат(РезультатЗапроса.Стоимость / РезультатЗапроса.Количество, "ЧДЦ=2"); ДокументРезультат.Вывести(ОбластьСтрока, РезультатЗапроса.Уровень()); КонецЦикла; ДокументРезультат.ЗакончитьАвтогруппировкуСтрок(); |
|||
1
Neznayka_5
24.08.12
✎
05:57
|
никто не знает?
|
|||
2
Рэйв
24.08.12
✎
06:03
|
Если я правильно телепатирую, то
ОбластьСтрока.Параметры.Регион=""+РезультатЗапроса.Регион+","+РезультатЗапроса.Контрагент+","+РезультатЗапроса.ДоговорКонтрагента |
|||
3
badboychik
24.08.12
✎
06:04
|
делай на СКД , там есть вертикальная группировка полей
|
|||
4
Neznayka_5
24.08.12
✎
06:07
|
(2) не совсем то, на втором уровне мне не нужно выводить регион, а потом контрагента, только контрагент нужен, и на третьем только договор контрагента.
(3) скд понятно, но интересно, возможно ли без нее обойтись |
|||
5
Wobland
24.08.12
✎
06:12
|
(4) возможно. берёшь да обходишь по группировкам
|
|||
6
Neznayka_5
24.08.12
✎
06:15
|
(5) РезультатЗапроса = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
не помогает.. или нужно указывать где-то наименование группировки и делать несколько циклов? |
|||
7
Wobland
24.08.12
✎
06:15
|
(6) РезультатЗапросаЕщё = РезультатЗапроса .Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
|
|||
8
Wobland
24.08.12
✎
06:16
|
(7) это после (6)
|
|||
9
Wobland
24.08.12
✎
06:16
|
(8) в цикле
|
|||
10
Neznayka_5
24.08.12
✎
06:18
|
Сейчас попробую. И то есть если у меня 4 группировки мне 4 цикла делать?
|
|||
11
Neznayka_5
24.08.12
✎
06:24
|
(9) Урааа!! Получилось!
Пока РезультатЗапроса.Следующий() Цикл ОбластьСтрока.Параметры.Регион = РезультатЗапроса.Регион; ОбластьСтрока.Параметры.ФактКол = Формат(РезультатЗапроса.Количество, "ЧДЦ=0"); ОбластьСтрока.Параметры.ФактВал = РезультатЗапроса.Стоимость; ОбластьСтрока.Параметры.ФактСр = Формат(РезультатЗапроса.Стоимость / РезультатЗапроса.Количество, "ЧДЦ=2"); ДокументРезультат.Вывести(ОбластьСтрока, РезультатЗапроса.Уровень(),,Ложь); РезультатЗапроса1 = РезультатЗапроса.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); Пока РезультатЗапроса1.Следующий() Цикл ОбластьСтрока.Параметры.Регион = РезультатЗапроса1.Контрагент; ОбластьСтрока.Параметры.ФактКол = Формат(РезультатЗапроса1.Количество, "ЧДЦ=0"); ОбластьСтрока.Параметры.ФактВал = РезультатЗапроса1.Стоимость; ОбластьСтрока.Параметры.ФактСр = Формат(РезультатЗапроса1.Стоимость / РезультатЗапроса1.Количество, "ЧДЦ=2"); ДокументРезультат.Вывести(ОбластьСтрока, РезультатЗапроса1.Уровень(),,Ложь); РезультатЗапроса2 = РезультатЗапроса1.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); Пока РезультатЗапроса2.Следующий() Цикл ОбластьСтрока.Параметры.Регион = РезультатЗапроса2.ДоговорКонтрагента; ОбластьСтрока.Параметры.ФактКол = Формат(РезультатЗапроса2.Количество, "ЧДЦ=0"); ОбластьСтрока.Параметры.ФактВал = РезультатЗапроса2.Стоимость; ОбластьСтрока.Параметры.ФактСр = Формат(РезультатЗапроса2.Стоимость / РезультатЗапроса2.Количество, "ЧДЦ=2"); ДокументРезультат.Вывести(ОбластьСтрока, РезультатЗапроса2.Уровень(),,Ложь); РезультатЗапроса3 = РезультатЗапроса2.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); Пока РезультатЗапроса3.Следующий() Цикл ОбластьСтрока.Параметры.Регион = РезультатЗапроса3.ДокументПродажи; ОбластьСтрока.Параметры.ФактКол = Формат(РезультатЗапроса3.Количество, "ЧДЦ=0"); ОбластьСтрока.Параметры.ФактВал = РезультатЗапроса3.Стоимость; ОбластьСтрока.Параметры.ФактСр = Формат(РезультатЗапроса3.Стоимость / РезультатЗапроса3.Количество, "ЧДЦ=2"); ДокументРезультат.Вывести(ОбластьСтрока, РезультатЗапроса3.Уровень(),,Ложь); КонецЦикла; КонецЦикла; КонецЦикла; |
|||
12
Wobland
24.08.12
✎
06:27
|
(11) РезультатЗапроса.Стоимость / РезультатЗапроса.Количество
докажи, что количество всегда будет не равно нулю |
|||
13
Wobland
24.08.12
✎
06:31
|
однако, с Область.Заполнить() было б короче. а формат в свойствах ячейки можно сказать
|
|||
14
Neznayka_5
24.08.12
✎
06:34
|
(12) не думала об этом, ну сейчас условие поставлю
(13) ну это ладно, а формат, если задать в области ячейки не всегда отрабатывает.. |
|||
15
Wobland
24.08.12
✎
06:36
|
(14) отрабатывает всегда. просто результат отличается от ожидаемого ;)
|
|||
16
Neznayka_5
24.08.12
✎
06:39
|
(15) вот именно. ну у меня не 20 строк в запросе, можно и повторить:)
|
|||
17
Neznayka_5
24.08.12
✎
06:39
|
(16) в выборке запроса
|
|||
18
Wobland
24.08.12
✎
06:45
|
(16) поди ждёшь в такие минуты, что NULL тебе будет показываться с двумя знаками после запятой?
|
|||
19
Neznayka_5
24.08.12
✎
06:47
|
(18) не поняла. это к (12) относится?
|
|||
20
Wobland
24.08.12
✎
06:49
|
(19) это относится к (14) и (15)
|
|||
21
Neznayka_5
24.08.12
✎
06:54
|
проверила, не будет)
|
|||
22
Neznayka_5
24.08.12
✎
06:59
|
решила добавить в
ИТОГИ ПО Регион, Контрагент, ДоговорКонтрагента, Еще и ДокументПродажи и теперь все строки задваиваются на самом нижнем уровне, как исправить? |
|||
23
Wobland
24.08.12
✎
07:00
|
(22) а цикл не добавила?
|
|||
24
Neznayka_5
24.08.12
✎
07:01
|
добавила, но я в консоли пока проверяю. Выбрать Различные тоже не помогло
|
|||
25
Wobland
24.08.12
✎
07:02
|
(24) ты неверно интрепретируешь результат
|
|||
26
Neznayka_5
24.08.12
✎
07:04
|
(25) хм.. самое странное то, что в отчете отрабатывает замечательно все, без повторений..
|
|||
27
Neznayka_5
24.08.12
✎
07:04
|
(26) дура я! это ж последний уровень группировки то и есть!)
|
|||
28
Wobland
24.08.12
✎
07:04
|
(27) спасибо
|
|||
29
Neznayka_5
24.08.12
✎
07:05
|
(28) пятница дает о себе знать:)
|
|||
30
Neznayka_5
24.08.12
✎
07:05
|
мысли не о том..)
|
|||
31
Neznayka_5
24.08.12
✎
07:19
|
как работает объединить, если есть группировка и итоги?
|
|||
32
Wobland
24.08.12
✎
07:19
|
(31) не помню точно. засунь свой объединить в подзапрос и применяй итоги уже у нему для пущей гарантии
|
|||
33
Dimel
24.08.12
✎
08:44
|
А можно все запросом сделать например так:
ИТОГИ ЕСТЬNULL(ДокументПродажи, ЕСТЬNULL(ДоговорКонтрагента, ЕСТЬNULL(Контрагент, Регион))) КАК Регион, СУММА(СуммаОстаток) ПО Регион, Контрагент, ДоговорКонтрагента, ДокументПродажи И в поле запроса "Регион" все данные соберутся ;) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |