|
v7: результат функции в условии запроса |
☑ |
0
vitalka
16.03.12
✎
13:53
|
Есть запрос
"//{{ЗАПРОС(Сформировать)
|Период с ВыбНачПериода по ВыбКонПериода;
|Товары = Справочник.Товары.ТекущийЭлемент, Регистр.ОстаткиТоваров.Товар;
|ОстатокТовара = Регистр.ОстаткиТоваров.ОстатокТовара;
|ФлагУчета = Регистр.ОстаткиТоваров.ФлагУчета;
|Функция ОстатокТовараНачОст = НачОст(ОстатокТовара);
|Функция ОстатокТовараПриход = Приход(ОстатокТовара);
|Функция ОстатокТовараРасход = Расход(ОстатокТовара);
|Функция ОстатокТовараКонОст = КонОст(ОстатокТовара);
|Группировка Товары;
|Условие(ФлагУчета<>1);
|Условие(ОстатокТовараРасход <= 0);
|"//}}ЗАПРОС
при отработке ругается
Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
{D:\ARHIV\BAZA\EXTFORMS\НЕПРОДАЕТСЯ.ERT(24)}: Условие(ОстатокТовараРасход <<?>> <= 0);
Запрос[12] : Ошибка в выражении 'ОстатокТовараРасход'
Что не так?
|
|
1
povar
16.03.12
✎
13:54
|
Запрос.ОстатокТовараРасход
|
|
2
Ёпрст
гуру
16.03.12
✎
13:55
|
(0) не делай так никогда, ибо ты не ведаешь, что творишь.
|
|
3
povar
16.03.12
✎
13:56
|
(2) хотя да, согласен
|
|
4
viktor_vv
16.03.12
✎
13:57
|
(0) Только ты сильно не обольщайся на результат работы такого условия. Скорее всего это не совсем то, что ты хочешь.
|
|
5
vitalka
16.03.12
✎
14:10
|
не, ну конечно можно обработать уже результат запроса и выводить только то, что (Запрос.ОстатокТовараРасход <=0)
я думал, что если условие поставить в самом запросе то процедура отработается быстрее
(4)можно подробнее
|
|
6
Ёпрст
гуру
16.03.12
✎
14:13
|
(5) условие на результат функции будет наложен при каждом вычислении функции, это раз, потеряешь результат всех остальных функций, это два..
Це вам не having, тут условие в ветку where летит
|
|
7
МихаилМ
16.03.12
✎
14:18
|
+(6)
к тому же можно получить неправильную выборку
года 4 назад плотно обсуждалось на этом форуме
может ветка в архиве сохранилась
|
|
8
vitalka
16.03.12
✎
14:26
|
получается даже
|Товары = Справочник.Товары.ТекущийЭлемент, Регистр.ОстаткиТоваров.Товар;
не имеет смысла из-за
условия
|Условие(ФлагУчета<>1);
В запрос попадут только товары которые есть в Регистр.ОстаткиТоваров
|
|
9
vitalka
16.03.12
✎
14:27
|
достаточно
|Товары = Регистр.ОстаткиТоваров.Товар;
|
|