|
v7: Условие на значение функций | ☑ | ||
---|---|---|---|---|
0
Andrey1957
20.06.12
✎
10:51
|
Уважаемые коллеги!
Стоит задача отобрать из регистра, в котором записаны приход и расход по выполненным работам, акты готовой продукции, по которым имеется долг заказчика. В запросе пишу: |Период с НачПериода по КонПериода; |АГП = Регистр.Оплата.Акт; |Статус = Регистр.Оплата.Статус; |Заказчик = Регистр.Оплата.Контрагент; |СуммаСНДС = Регистр.Оплата.СуммаСНДС; |Функция ДолгЗак = КонОст(СуммаСНДС) когда(сзДолгПодпАктов.Принадлежит(Статус)=1); |Группировка Заказчик; |Группировка АГП; |Условие(ДолгЗак >0 ); При выполнении получаю сообщение "Ошибка в выражении 'ДолгЗак'". Вот и не пойму: можно ли накладывать условия на значения функций в запросе? Если можно, то как? Что у меня сделано неправильно? Подскажите, плз. Заранее благодарен. |
|||
1
Voronve
20.06.12
✎
10:56
|
|Функция ДолгЗак = КонОст(СуммаСНДС) когда (Статус в сзДолгПодпАктов);
оно ? |
|||
2
miki
20.06.12
✎
10:56
|
(0)Для группировки какого уровня должно выполняться условие?
|
|||
3
Ёпрст
20.06.12
✎
10:58
|
вот это бред
Условие(ДолгЗак >0 ); |
|||
4
Ёпрст
20.06.12
✎
10:59
|
+ накладывать условие на результат функции ( а тем более, КонОст) приведёт к фантастическим результатам, ибо это не having в тексте запроса, а where при вычислении функции...
|
|||
5
Ёпрст
20.06.12
✎
11:00
|
можешь конечно, написать так
|Условие(Запрос.ДолгЗак >0 ); вот только полагаться на результат работы такого запроса не стоит - условие будет выполнятся для каждого вычисления функции. |
|||
6
orange777
20.06.12
✎
11:09
|
а нельзя уже потом отобрать нужные значения? после выполнения запроса
|
|||
7
Ёпрст
20.06.12
✎
11:10
|
(6) нужно
|
|||
8
Andrey1957
20.06.12
✎
11:19
|
(6) Да можно, но для этого придется каждую клеточку таблицы, где у меня сейчас стоит просто Запрос.ИмяПоля (и таких клеточек более десятка) оформлять переменными, кои нужно будет рассчитывать в модуле, в т.ч. и все итоги. А запрос в форме по 5 группировкам (это я упрощенный вариант привел, чтобы обозначить проблему). Если аналога having в 7 не удастся соорудить, то придется все перелопачивать, начиная с таблицы.
Всем спасибо. |
|||
9
Ёпрст
20.06.12
✎
11:20
|
(8) пиши прямой запрос и там делай что хочешь.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |