Имя: Пароль:
1C
1C 7.7
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) пиши прямой запрос и там делай что хочешь.