![]() |
|
v7: запрос, условие сумма документа | ☑ | ||
---|---|---|---|---|
0
zalst
05.06.14
✎
16:48
|
Наверное где-то туплю, помогите
задача примитив, нужно через запрос отоборать документ, сумма которого = заданной Текст запроса: |Период с '30.05.14' по '30.05.14'; |ОбрабатыватьДокументы все; |Счет = Документ.Счет.ТекущийДокумент; |СуммаСНДС = Документ.Счет.СуммаСНДС; |Функция СуммаДок = Сумма(СуммаСНДС); |Группировка Счет; |Условие((Запрос.СуммаДок = ЗаданнаяСумма) или (ЗаданнаяСумма = 0)); Если запускаем с "заданнаясумма = 0" то все ок, выводит правильные итоговые суммы документов. если вносим фильтр по сумме - нифига не выводится. не могу понять почему, кто поможет? (проблему конечно давно решил, вставил фильтр вручную позже, но очень хочется понять где ошибаюсь) |
|||
1
Ёпрст
гуру
05.06.14
✎
16:53
|
(0) f ytabr cnfdbnm abkmnh yf bnjub pfghjcf
|
|||
2
Ёпрст
гуру
05.06.14
✎
16:54
|
tckb xt? having-uf d xjhyjv pfghjct ytvf? tckb njkmrj yt gbcfnm zdyj? rfr bnju gj rjkjyrt
|
|||
3
WB789
05.06.14
✎
16:55
|
Что первично Функция или Условие?
|
|||
4
zalst
05.06.14
✎
16:56
|
функция, как показано.. хмм, а это мысль! спасибо, сейчас проверю себя! не подумал об этом
|
|||
5
zalst
05.06.14
✎
16:57
|
не.. пробовал ставить условие и перед группировкой, и перед функцией, не пашет
|
|||
6
Ёпрст
гуру
05.06.14
✎
17:00
|
читай (1) и (2) .
|
|||
7
Ёпрст
гуру
05.06.14
✎
17:01
|
если че, условие будет накладываться на каждую строку документа.
Это обычный where , а не having |
|||
8
Ёпрст
гуру
05.06.14
✎
17:01
|
обойти тоже можно, через Итог()
|
|||
9
zalst
05.06.14
✎
17:02
|
ага.. т.е. условие на итоги ставить бесполезно, понял, спасибо. нужно вручную значит проверку
|
|||
10
zalst
05.06.14
✎
17:03
|
для итога должно быть соот-вущее поле в реквизите, а оно не всегда есть :), если имеется ввиду Док.Итог("сумма")
|
|||
11
Ёпрст
гуру
05.06.14
✎
17:04
|
(10) Док.Итог("сумма") можно заставить работать всегда, даже если нет галки итог по колонке
|
|||
12
zalst
05.06.14
✎
17:06
|
как :)? или в смысле док.итог("сумма") всегда прокатит в запросе?
|
|||
13
zalst
05.06.14
✎
17:14
|
огромное спасибо за помощь
|
|||
14
Ёпрст
гуру
05.06.14
✎
17:19
|
(12) если не стоит галка, то одна строка кода и Док.Итог заработает.. правда, 1с-ине от этого не легче..
выбрать строки надо перед этим. |
|||
15
an-korot
05.06.14
✎
18:13
|
ты путаешь запрос 8 и 7 ))
ты переменную счет уже объявил и заново обращаться к ее корню не нужно: Текст запроса: |Период с '30.05.14' по '30.05.14'; |ОбрабатыватьДокументы все; |Счет = Документ.Счет.ТекущийДокумент; |СуммаСНДС = Счет.СуммаСНДС; |Функция СуммаДок = Сумма(СуммаСНДС); |Группировка Счет; |Условие((СуммаДок = ЗаданнаяСумма) или (ЗаданнаяСумма = 0)); |
|||
16
Ёпрст
гуру
05.06.14
✎
18:14
|
(15) подумай еще
|
|||
17
an-korot
05.06.14
✎
18:19
|
(16) че тут думать пилить нужно )))
да, да... суммаСНДС новая переменная и нужно к корню обращаться |СуммаСНДС = Документ.Счет.СуммаСНДС; |
|||
18
an-korot
05.06.14
✎
18:20
|
Текст запроса:
|Период с '30.05.14' по '30.05.14'; |ОбрабатыватьДокументы все; |Счет = Документ.Счет.ТекущийДокумент; |СуммаСНДС = Документ.Счет.СуммаСНДС; |Функция СуммаДок = Сумма(СуммаСНДС); |Группировка Счет; |Условие((СуммаДок = ЗаданнаяСумма) или (СуммаДок = 0)); |
|||
19
Ёпрст
гуру
06.06.14
✎
08:59
|
(18) СуммаСНДС - реквизит табличной части. Автору нужно наложить условие на сумму документа, которая = Итог(СуммаСНДС)
, дальше см. (16) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |