|
Как получить итог в запросе? | ☑ | ||
---|---|---|---|---|
0
Kamich
02.04.13
✎
21:09
|
Добрый вечер.
Как получить в запросе по Из ТЧ Документа? Ну что-то вроде ТабличнаяЧасть1.Итог("Сумма") того но в запросе. |
|||
1
ChAlex
02.04.13
✎
21:15
|
Ну аналогично ИТОГИ СУММА(Чтото) ПО Чемто
|
|||
2
Kamich
02.04.13
✎
21:20
|
(1)
Запрос=Новый Запрос(); Запрос.Текст= "ВЫБРАТЬ | Заявка.КлассНомера КАК КлассНомера, | Заявка.Количество КАК Количество, | Заявка.Ссылка КАК Ссылка |ИЗ | Документ.Заявка.Клиент КАК Заявка |ГДЕ | Заявка.Ссылка = &Ссылка |УПОРЯДОЧИТЬ ПО |Ссылка |ИТОГИ |СУММА(SRКоличество |ПО |ОБЩИЕ "; Что -то вроде этого ? или что? |
|||
3
Kamich
02.04.13
✎
21:21
|
(2) * СУММА(Количество)
|
|||
4
ChAlex
02.04.13
✎
21:30
|
Так без всяких что-то вроде
|
|||
5
Kamich
02.04.13
✎
21:37
|
Запрос=Новый Запрос();
Запрос.Текст= "ВЫБРАТЬ | Заявка.КлассНомера КАК КлассНомера, | Заявка.Количество КАК Количество, | Заявка.Ссылка КАК Ссылка |ИЗ | Документ.Заявка.Клиент КАК Заявка |ГДЕ | Заявка.Ссылка = &Ссылка |УПОРЯДОЧИТЬ ПО |Ссылка |ИТОГИ |СУММА(SRКоличество |ПО |ОБЩИЕ "; Запрос.УстановитьПараметр("Ссылка",ЭлементыФормы.Заявка.Значение.Ссылка); Результат=Запрос.Выполнить().Выбрать(); Пока Результат.Следующий()>0 Цикл Если Результат.Количество>0 Тогда НоваяСтрока=Таблица.Добавить(); НоваяСтрока.Количество=Результат.Количество; НоваяСтрока.КлассНомера=Результат.КлассНомера; КонецЕсли; КонецЦикла; Почему он мне выводит список в начале общее количество,из примера 5,и добавляет еще пять строчек?Т.Е если в заявке указано пять клиентов с пятью различными классами номеров,то выводит 5 строчек по каждому, а если 3 строчки,то естественно три,что не так? |
|||
6
Kamich
02.04.13
✎
21:38
|
(5) * СУММА(Количество)
|
|||
7
ChAlex
02.04.13
✎
21:44
|
Читайте матчасть в части той, как организованы данные в получаемых выборках. А как подсказка: Результат=Запрос.Выполнить().Выбрать(ОбходРезультатЗапроса.ПоГруппировкам,"ОБЩИЕ");
|
|||
8
Kamich
02.04.13
✎
21:48
|
(7) ОО))Отлично,теперь только количество получает)
А КлассНомера не получает(P.S. КлассНомера - ПеречисленияСсылка.КлассНомера) |
|||
9
Kamich
02.04.13
✎
22:18
|
(7) Что не так?
|
|||
10
Max Street
02.04.13
✎
22:24
|
Обход результата запроса должен быть такой:
Результат = Запрос.Выполнить(); ВыборкаОбщийИтог = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); ВыборкаОбщийИтог.Следующий(); ВыборкаДетальныеЗаписи = ВыборкаОбщийИтог.Выбрать(); Пока Выборка.Следующий() Цикл |
|||
11
Max Street
02.04.13
✎
22:26
|
Ошибся. Последняя строка так:
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл |
|||
12
Kamich
02.04.13
✎
22:51
|
(11)
Запрос=Новый Запрос(); Запрос.Текст= "ВЫБРАТЬ | Заявка.КлассНомера КАК КлассНомера, | Заявка.Количество КАК Количество, | Заявка.Ссылка КАК Ссылка |ИЗ | Документ.Заявка.Клиент КАК Заявка |ГДЕ | Заявка.Ссылка = &Ссылка |УПОРЯДОЧИТЬ ПО |Ссылка |ИТОГИ |СУММА(Количество) |ПО |ОБЩИЕ "; Запрос.УстановитьПараметр("Ссылка",ЭлементыФормы.Заявка.Значение.Ссылка); Результат = Запрос.Выполнить(); ВыборкаОбщийИтог = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); ВыборкаОбщийИтог.Следующий(); ВыборкаДетальныеЗаписи = ВыборкаОбщийИтог.Выбрать(); Пока ВыборкаДетальныеЗаписи.Следующий() Цикл Если ВыборкаДетальныеЗаписи.Количество>0 Тогда НоваяСтрока=Таблица.Добавить(); НоваяСтрока.Количество=ВыборкаОбщийИтог.Количество; НоваяСтрока.КлассНомера=ВыборкаОбщийИтог.КлассНомера; КонецЕсли; КонецЦикла; Выводит в каждой строке Количество 5,т.е...тут или 1с у меня погнал,или моих знаний не хватает... |
|||
13
AlexNew
03.04.13
✎
00:16
|
Что запросил, то и выводит. Всего количество 5. Итоги общие, где еще группировка?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |