Имя: Пароль:
1C
 
Глюк в запросе при использовании НЕ в условии
0 BlackJack
 
15.05.06
12:18
То ли я у меня совсем глаз замылился, то ли 1С хочет меня с ума свести.
Есть такой запросец в конфе "Производство" (релиз 7.70.025)
   ТекстЗапроса =
   "//{{ЗАПРОС(Сформировать)
   |Период с ВыбНачПериода по ВыбКонПериода;
   |Контрагент = Документ.РеализацияПродукции.Контрагент;
   |Товар = Документ.РеализацияПродукции.Товар;
   |Количество = Документ.РеализацияПродукции.Количество;
   |Функция КоличествоСумма = Сумма(Количество);
   |Группировка Контрагент без групп;
   |Группировка Товар без групп;
   |Условие(Не(Контрагент = ВыбКонтрагент));
   |"//}}ЗАПРОС
   ;
Запрос выдает нулевые итоги, хотя не должен!
Если поставить "<>" вместо "=" и убрать "Не", то все ОК, но мне нужно именно с "Не".
В чем м.б. дело?
1 Каанкереде
 
15.05.06
12:20
есть такое дело...откажись от НЕ...
2 BlackJack
 
15.05.06
12:22
Я же говорю, что мне нужно именно "Не".
Это просто отладочный пример, а реально условие с использованием списка.
Там "<>" не получится.
А что за глюк такой? И от чего зависит? Впервые за 6 лет сталкиваюсь.
3 PR
 
15.05.06
12:23
(2) Так может реалии напишешь, что мы тут решаем нереальную задачу? :))
4 miki
 
15.05.06
12:24
5 Каанкереде
 
15.05.06
12:29
(2) любое условие можно переписать без НЕ. А глюк имхо в том, что одноэсина распарсить сложное условие с НЕ не может...
6 PR
 
15.05.06
12:31
(5) Да пока еще и условие не прозвучало :o)
Может он в условии ошибся :o)
7 BlackJack
 
15.05.06
12:35
В реале ВыбКонтрагент - это список значений.
А условие:
Условие(НЕ(Контрагент в ВыбКонтрагент));

Суть не в реале, а в том что даже такой тестовый запрос неправильно работает.
8 Каанкереде
 
15.05.06
12:36
(7) используй
ВыбКонтрагент.Принадлежит(Контрагент)=0
9 PR
 
15.05.06
12:36
(7) А если Условие(НЕ(Контрагент в(ВыбКонтрагент)));?
10 PR
 
15.05.06
12:37
(+9) Даже так Условие(НЕ Контрагент в(ВыбКонтрагент)); должно работать.
11 miki
 
15.05.06
12:39
У меня даже такое работает:
|Condition ((Контр In ВыбКонтрагент) And (Not(Контр In VrongClnt)));
12 Ёпрст2
 
15.05.06
12:42
ОФФ: Походу 6 лет переломный возвраст ...
13 BlackJack
 
15.05.06
12:42
PR, чушь.

miki, я же говорю, такого раньше не встречал, хотя подобные условия делал не раз.
Потому и спрашиваю, чтобы понять, что это - глюк конфы, базы, 1с или я совсем ничего не вижу.
14 Каанкереде
 
15.05.06
12:46
(13) ИМХО глюк движка. Иногда не справляется. казалось бы на ровном месте....
15 PR
 
15.05.06
12:48
(13) А база-то скульная или нет?
16 BlackJack
 
15.05.06
12:50
База обычная дбфная, иначе бы написал.
17 BlackJack
 
15.05.06
12:54
Проверил в другой базе - все ОК.
Делал тестирование базы, где глюк, ошибок нет, а глюк остался.
18 TTimur
 
15.05.06
12:55
у меня SQL база при выполнении запроса с таким условием вообще вылетала :(
19 PR
 
15.05.06
14:08
(17) Только что проверил у себя, 25 релиз, dbf, усе пашет :o)
20 PR
 
15.05.06
14:08
(+19) Условие на всякий пожарный написал так
|Условие(НЕ(Поле в(СписокЗначений)));
Основная теорема систематики: Новые системы плодят новые проблемы.