Имя: Пароль:
1C
1C 7.7
v7: Помогите пожалуйста с условием в запросе
,
0 Double_Medved
 
08.11.12
16:43
Запрос к регистру остатков Склад.
Колво=Регистр.Склад.Количество;
Мне нужно выбрать те данные, где Расход(Колво)<>0, то есть те где не было продаж. Но в условие это не хочет записываться, ругается
   |Функция КолвоОстаток = Расход(Колво)  Когда (Док.Вид() в спВидДок);
   |Функция СуммаОстаток = Сумма(СуммаПрод) Когда (Док.Вид() в спВидДок);
   |Функция ОстаткиОстаток = КонОст(Колво);
   |Условие (Расход(Колво) <> 0);
   |Условие (ВидТовара <> ВыбВидТовара);";

И так тоже ругается:

|Функция КолвоОстаток = Расход(Колво)  Когда (Док.Вид() в спВидДок);
   |Функция СуммаОстаток = Сумма(СуммаПрод) Когда (Док.Вид() в спВидДок);
   |Функция ОстаткиОстаток = КонОст(Колво);
   |Условие (Колвоостаток <> 0);
   |Условие (ВидТовара <> ВыбВидТовара);";

Помогите пожалуйста. мне нужно сравнивать именно с Расход(Колво), можно конечно потом выкинуть из запроса лишнее но это криво и долго
1 ИльяА
 
08.11.12
17:02
это весь запрос?
2 akaBrr
 
08.11.12
17:02
(1) годный намек
3 Double_Medved
 
08.11.12
17:07
Не ну это не весь запрос конечно

тЗап=глОтчетШапкаЗапроса(0,Контекст)+"
   |Док = Регистр.Склад.ТекущийДокумент;
   |Склад=Регистр.Склад.МестоХранения;
   |Номенклатура=Регистр.Склад.Товар;
   |ВидТовара=Регистр.Склад.Товар.ТипНоменклатуры;
   |Свойство=Регистр.Склад.Товар.Свойство;
   |Колво=Регистр.Склад.Количество;
   |СуммаПрод=Регистр.Склад.ПродСум;";
   Для Сч=1 По спГруппировки.РазмерСписка() Цикл
       ИмяГруппировки=спГруппировки.ПолучитьЗначение(Сч); тЗап=тЗап+"
       |Группировка "+ИмяГруппировки+?(ИмяГруппировки="Номенклатура"," без групп ","")+";";
   КонецЦикла;    
   тЗап=тЗап+
   глОтчетУсловиеЗапроса(ВыбВид,                "ВыбВид",                "ВидТовара")+
   глОтчетУсловиеЗапроса(спНоменклатура,        "спНоменклатура",        "Номенклатура")+
   "
   |Функция КолвоОстаток = Расход(Колво)  Когда (Док.Вид() в спВидДок);
   |Функция СуммаОстаток = Сумма(СуммаПрод) Когда (Док.Вид() в спВидДок);
   |Функция ОстаткиОстаток = КонОст(Колво);
   |Условие (ВидТовара <> ВыбВидТовара);
       |Условие (Колвоостаток <> 0); ";
4 Double_Medved
 
08.11.12
17:08
Вот весь
5 Wobland
 
08.11.12
17:08
(4) >=глОтчетШапкаЗапроса(0,Контекст)+"
очень весь ;)
6 ИльяА
 
08.11.12
17:09
ты из отладчика возьми текст выполняемого запроса
7 akaBrr
 
08.11.12
17:10
странно что остаток в запросе приравнен к расходу
8 ИльяА
 
08.11.12
17:16
Да врод же
Функция ОстаткиОстаток = КонОст(Колво);
Я так понял что нужны остатки по позициям, которые расходовались. Видимо для планирования
9 Double_Medved
 
08.11.12
17:21
Ну короче я уже отсек ненужное после запроса, но все-таки интересно можно ли в Условие запихнуть Функцию
10 viktor_vv
 
08.11.12
17:23
Это ж уже давно баян.
Никак условие на результат функции не установишь.
11 Double_Medved
 
08.11.12
17:28
Понятно, спасибо. А было-бы хорошо