![]() |
![]() |
![]() |
|
Вопрос по запросу с подсчетом количества документов | ☑ | ||
---|---|---|---|---|
0
AnisaL
15.03.13
✎
14:41
|
Добрый день! Имеется запрос:
запрос.Текст = "Выбрать рег.статус КАК статус, рег.Номер как Номер, Сумма(1) КАК КолВо из документ.ЗаявкаНаряд как рег где &Условие1 и &Условие2 и &Условие3 и &Условие4 и &Условие5 и &Условие6 СГРУППИРОВАТЬ ПО рег.Статус"; Выдает ошибку по группировке, как правильно написать такой запрос? |
|||
1
lxndr
15.03.13
✎
14:42
|
рег.Номер добавь в группируемые поля
|
|||
2
MSII
15.03.13
✎
14:43
|
рег.Номер в группировку не попал
|
|||
3
AnisaL
15.03.13
✎
14:44
|
(1) а, то есть сначала по рег.номеру группировку сделать, а потом по статусу?
|
|||
4
salvator
15.03.13
✎
14:46
|
(0) "как правильно написать такой запрос?"
Пользоваться конструктором |
|||
5
AnisaL
15.03.13
✎
14:48
|
(4) у меня условий много с заменой текста, вряд ли получится
|
|||
6
cw014
15.03.13
✎
14:50
|
(5) ВЫБРАТЬ КОЛИЧЕСТВО РАЗЛИЧНЫЕ(Ссылка) ИЗ Документ.ЗаявкаНаряд ГДЕ &Условие
А вот &Условие составляй текстом полностью, потом заменяй через СтрЗаменить |
|||
7
AnisaL
15.03.13
✎
14:52
|
УРАА! Взлетело)) Спасибо, ребят:)))
|
|||
8
AnisaL
15.03.13
✎
14:57
|
(6) ну я почти так делаю ))
|
|||
9
AnisaL
18.03.13
✎
08:45
|
Доброе утро) Запрос работает, но возникла проблема с выводом результатов:
"Выбрать рег.статус КАК статус, рег.Номер как Номер, Сумма(1) КАК КолВо из документ.ЗаявкаНаряд как рег где &Условие1 и &Условие2 и &Условие3 и &Условие4 и &Условие5 и &Условие6 и &Условие7 и &Условие8 и &Условие9 СГРУППИРОВАТЬ ПО рег.Номер, рег.Статус"; Как правильно вывести КолВо по разным статусам? |
|||
10
Галахад
гуру
18.03.13
✎
08:47
|
(9) Аниса, не усложняй. Сделай для каждого условия отдельный запрос.
|
|||
11
Defender aka LINN
18.03.13
✎
08:55
|
(3) Они не "с начала" и не с конца. Группировка делается по набору полей
|
|||
12
AnisaL
18.03.13
✎
08:56
|
(10) не могу, нужно все условия чтоб были
|
|||
13
AnisaL
18.03.13
✎
08:57
|
(10) а, то есть для каждого статуса свой запрос, чтоб кол-во посчитать?
|
|||
14
Галахад
гуру
18.03.13
✎
09:04
|
(13) Ну да.
|
|||
15
cw014
18.03.13
✎
09:06
|
Я не понимаю вот эту конструкцию СГРУППИРОВАТЬ ПО рег.Номер
Если номер уникален у документа (допустим) то в результате в каждой записи поле КолВо будет равно 1? |
|||
16
cw014
18.03.13
✎
09:07
|
(15) Если так, то "телепатирую"... Скорее всего ты берешь ТаблицаДоков.Итог("КолВо");
Делай как я тебе в (6) написал, да группируй по статусу. У тебя будет результат: Статус КолВо Статус1 10 Статус2 15 Статус4 7 и т.д. |
|||
17
AnisaL
18.03.13
✎
09:07
|
(15) без этой конструкции запрос не работает
|
|||
18
cw014
18.03.13
✎
09:09
|
(17) А ты выкинь поле "Номер" из запроса вообще
|
|||
19
Галахад
гуру
18.03.13
✎
09:09
|
Выбрать рег.статус КАК статус, Сумма(1) КАК КолВо из документ.ЗаявкаНаряд как рег где &Условие1 и &Условие2 и &Условие3 и &Условие4 и &Условие5 и &Условие6 и &Условие7 и &Условие8 и &Условие9 СГРУППИРОВАТЬ ПО рег.Статус
|
|||
20
cw014
18.03.13
✎
09:12
|
(19) ВЫБРАТЬ Статус, КОЛИЧЕСТВО РАЗЛИЧНЫЕ(Ссылка) КАК КолВо ИЗ Документ.ЗаявкаНаряд ГДЕ &Условие
|
|||
21
cw014
18.03.13
✎
09:12
|
(19) Упс, не так
|
|||
22
cw014
18.03.13
✎
09:12
|
ВЫБРАТЬ Статус, КОЛИЧЕСТВО РАЗЛИЧНЫЕ(Ссылка) КАК КолВо ИЗ Документ.ЗаявкаНаряд ГДЕ &Условие СГРУППИРОВАТЬ ПО Статус
|
|||
23
AnisaL
18.03.13
✎
09:13
|
(22) а номер заявки отдельно получать тогда? а этот запрос только для подсчета количества
|
|||
24
AnisaL
18.03.13
✎
09:14
|
(22) запрос работает) а с номером как быть тогда?
|
|||
25
cw014
18.03.13
✎
09:15
|
(24) А нафига он тебе?
|
|||
26
cw014
18.03.13
✎
09:16
|
(24)
ВЫБРАТЬ Статус, Номер, КОЛИЧЕСТВО РАЗЛИЧНЫЕ(Ссылка) КАК КолВо ИЗ Документ.ЗаявкаНаряд ГДЕ &Условие СГРУППИРОВАТЬ ПО Статус, Номер ИТОГИ КолВо ПО Статус |
|||
27
AnisaL
18.03.13
✎
09:17
|
(25) это же журнал документов, чтоб вывести эти доки
|
|||
28
cw014
18.03.13
✎
09:18
|
(27) см (26)
|
|||
29
AnisaL
18.03.13
✎
09:21
|
(28) окей) щас попробую
|
|||
30
cw014
18.03.13
✎
09:21
|
(29) Только выборку после этого по группировкам делай. Или выгрузку в Дерево значений
|
|||
31
AnisaL
18.03.13
✎
09:22
|
(30) а как? что-то я пыталась, и у меня не получилось
|
|||
32
cw014
18.03.13
✎
09:46
|
(31)
1. Выборка: Выборка = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); Пока Выборка.Следующий() Цикл // 1 группировка ВыборкаДетали = Выборка.Выбрать(); Пока ВыборкаДетали.Следующий() Цикл // 2 группировка КонецЦикла; КонецЦикла; 2. Выгрузка в дерево: ДеревоЗнч = Результат.Выгрузить(ОбходРезультатаЗапроса.ПоГруппировкам); |
|||
33
AnisaL
18.03.13
✎
09:54
|
{Документ.ЗаявкаНаряд.Форма.ФормаСписка1(127)}: Ошибка при вызове метода контекста (Выполнить): {(1, 64)}: Синтаксическая ошибка "РАЗЛИЧНЫЕ"
Выбрать рег.статус КАК статус, рег.Номер как Номер, КОЛИЧЕСТВО <<?>>РАЗЛИЧНЫЕ (рег.Ссылка) КАК КолВо из документ.ЗаявкаНаряд как рег где ИСТИНА и ИСТИНА и ИСТИНА и ИСТИНА и рег.ДатаСоздания<=&ДатаКон и рег.ДатаСоздания>=&датаНач и ИСТИНА и ИСТИНА и ИСТИНА и ИСТИНА СГРУППИРОВАТЬ ПО Статус, Номер ИТОГИ КолВо ПО Статус списокСмет.ЗагрузитьЗначения(запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Номер")); |
|||
34
cw014
18.03.13
✎
09:56
|
(33) Попробуй: КОЛИЧЕСТВО (РАЗЛИЧНЫЕ Ссылка)
|
|||
35
cw014
18.03.13
✎
09:57
|
(33) Ну и вообще, посмотри синтаксис КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ...)
Я на мысль натолкнул, а корректный синтаксис сейчас посмотреть не могу - база обновляется |
|||
36
cw014
18.03.13
✎
09:58
|
(33) Думай, пробуй...
|
|||
37
AnisaL
18.03.13
✎
09:59
|
(35) {Документ.ЗаявкаНаряд.Форма.ФормаСписка1(127)}: Ошибка при вызове метода контекста (Выполнить): {(1, 299)}: Поле итогов должно либо присутствовать в списке группировок итогов, либо находиться в агрегатной функции итога
Выбрать рег.статус КАК статус, рег.Номер как Номер, КОЛИЧЕСТВО (РАЗЛИЧНЫЕ рег.Ссылка) КАК КолВо из документ.ЗаявкаНаряд как рег где ИСТИНА и ИСТИНА и ИСТИНА и ИСТИНА и рег.ДатаСоздания<=&ДатаКон и рег.ДатаСоздания>=&датаНач и ИСТИНА и ИСТИНА и ИСТИНА и ИСТИНА СГРУППИРОВАТЬ ПО Статус, Номер ИТОГИ <<?>>КолВо ПО Статус списокСмет.ЗагрузитьЗначения(запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Номер")); |
|||
38
Галахад
гуру
18.03.13
✎
10:02
|
КОЛИЧЕСТВО (РАЗЛИЧНЫЕ рег.Ссылка)
|
|||
39
cw014
18.03.13
✎
10:03
|
ИТОГИ СУММА(КолВо) ПО Статус
(37) Не выспался сегодня |
|||
40
AnisaL
18.03.13
✎
10:03
|
(38) да) сейчас ошибка в другом
|
|||
41
Галахад
гуру
18.03.13
✎
10:04
|
ИТОГИ по КОЛИЧЕСТВО (РАЗЛИЧНЫЕ рег.Ссылка)
|
|||
42
cw014
18.03.13
✎
10:04
|
Простите, сегодня вообще не спал, так что торможу слегка
|
|||
43
AnisaL
18.03.13
✎
10:05
|
(42) да ладно) нормально все
|
|||
44
cw014
18.03.13
✎
10:05
|
(41) Вот ты загнул
|
|||
45
AnisaL
18.03.13
✎
10:06
|
Сегодня многие не выспались (и я в том числе)
|
|||
46
Галахад
гуру
18.03.13
✎
10:07
|
(44) Ага.
ИТОГИ КОЛИЧЕСТВО (РАЗЛИЧНЫЕ рег.Ссылка) (45) Аниса открой свой запрос хоть раз в конструкторе. Он хоть читабельный вид примет. |
|||
47
cw014
18.03.13
✎
10:08
|
(46) Тогда уже ИТОГИ КОЛИЧЕСТВО (РАЗЛИЧНЫЕ рег.Ссылка) КАК КолВо
что эквивалентно ИТОГИ СУММА(КолВо) |
|||
48
Галахад
гуру
18.03.13
✎
10:10
|
(47) Ага. Чо-то я офигел.
|
|||
49
AnisaL
18.03.13
✎
10:23
|
результат1 = запрос.Выполнить().Выбрать(ОбходРезультатаЗАпроса.ПоГруппировкам);
пока результат1.Следующий() цикл Если результат1.статус = перечисления.СтатусЗаявки.ВРаботе тогда враб = результат1.КолВо; КонецЕсли; Если результат1.статус = перечисления.СтатусЗаявки.Выполнена тогда вып = результат1.Колво; КонецЕсли; Если результат1.статус = перечисления.СтатусЗаявки.НеПрисвоенна тогда непр = результат1.Колво; КонецЕсли; конецЦикла; |
|||
50
cw014
18.03.13
✎
10:28
|
(49) И?
|
|||
51
AnisaL
18.03.13
✎
10:29
|
(50) все работает)) спасибо!!
|
|||
52
AnisaL
18.03.13
✎
10:32
|
(51) ну для понятности еще вот:
списокСмет = новый списокЗначений; списоксмет.ЗагрузитьЗначения(запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Номер")); документСписок.Отбор.номер.видСравнения = ВидСравнения.ВСписке; документСписок.Отбор.номер.значение = списокСмет; документСписок.Отбор.номер.использование = истина; |
|||
53
AnisaL
18.03.13
✎
10:39
|
Спасибо еще раз - все работает очень быстро !(по сравнению как было)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |