Имя: Пароль:
1C
1С v8
Помогите с запросом
0 Майбах
 
07.05.15
18:02
Есть запрос.

ВЫБРАТЬ
    ОстаткиНоменклатурыОстатки.Номенклатура,
    ОстаткиНоменклатурыОстатки.Склад,
    ОстаткиНоменклатурыОстатки.КоличествоОстаток
ИЗ
    РегистрНакопления.ОстаткиНоменклатуры.Остатки(
            &Период,
            Номенклатура = &Номенклатура
                ИЛИ &Номенклатура = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
                ИЛИ &Номенклатура = НЕОПРЕДЕЛЕНО) КАК ОстаткиНоменклатурыОстатки

Подскажите, почему он выводит все? Ни как не могу понять, ведь указано что - пустая ссылка.
1 mehfk
 
07.05.15
18:04
Чему равно &Номенклатура
2 Майбах
 
07.05.15
18:05
ПустаяСсылка
3 zhig75
 
07.05.15
18:06
ИЛИ &Номенклатура = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
                ИЛИ &Номенклатура = НЕОПРЕДЕЛЕНО) КАК ОстаткиНоменклатурыОстатки

Мож всёж не &Номенклатура а Номенклатура?
4 mehfk
 
07.05.15
18:06
Ну так все верно:
ИЛИ &Номенклатура = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
5 Euguln
 
07.05.15
18:06
ИЛИ &Номенклатура убери &
6 Майбах
 
07.05.15
18:08
Да. Вот мне и не понятно, почему он выводит все?
7 DrShad
 
07.05.15
18:08
а там вообще как может быть пустая номенклатура?
8 DrShad
 
07.05.15
18:08
потому что у тебя условие выполняется у тебя параметр равен пустой ссылке
9 Майбах
 
07.05.15
18:08
Это понятно, что если уберу & ни чего не выведет. А почему с & выводит все. Кто как рассуждает, когда разбирает этот вопрос, помогите :)
10 Euguln
 
07.05.15
18:09
(6) &Номенклатура = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка) - истина по-любому.
11 Drac0
 
07.05.15
18:09
(6) Потому что одно из условий в ИЛИ у тебя выполняется.
12 Euguln
 
07.05.15
18:09
(9) Ты разницу между &Номенклатура и Номенклатура понимаешь?
13 Wern
 
07.05.15
18:09
а что тут разбирать &Номенклатура - это параметр он ты сам говорил у тебя равен пустой ссылке.
14 mehfk
 
07.05.15
18:11
ТС то-ли тролль, то-ли наркоман, то-ли баран.
15 Майбах
 
07.05.15
18:12
СОгласен. &Номенклатура - это параметр он равен пустой ссылке. Но где в запросе написано что выбирать все? Да, пустая ссылка, да. Но где указано что выбираем все?
16 mehfk
 
07.05.15
18:12
(0) Открыть СП и читать до заучивания наизусть раздел "Работа с запросами"
17 Майбах
 
07.05.15
18:12
Смотрю курс по запросам. И не понятен данный момент :)
18 Drac0
 
07.05.15
18:13
(15) Иди от обратного. Это же фильтр. Он говорит, что НЕ выбирать. И где же у тебя говорится, что надо выбирать НЕ все?
19 mehfk
 
07.05.15
18:14
(17) Удали это авно, если ты не понял что таком параметр запроса и что такое условие, это тебе мало поможет
20 Любопытная
 
07.05.15
18:14
(15) Написано там Номенклатура = &Номенклатура или ИСТИНА. Второе условие выполняется и фактически оно означает, что условий нет. Поэтому выбирается всё
21 zhig75
 
07.05.15
18:14
ВЫБРАТЬ
    ОстаткиНоменклатурыОстатки.Номенклатура,
    ОстаткиНоменклатурыОстатки.Склад,
    ОстаткиНоменклатурыОстатки.КоличествоОстаток
ИЗ
    РегистрНакопления.ОстаткиНоменклатуры.Остатки(
            &Период,
            Номенклатура = &Номенклатура
                ИЛИ Номенклатура = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
                ИЛИ Номенклатура = НЕОПРЕДЕЛЕНО) КАК ОстаткиНоменклатурыОстатки
22 Майбах
 
07.05.15
18:17
Любопытная интересно, интересно, спасибо :) Теперь не много яснее.  Drac0 - фильтр ведь наоборот должен говорить что ВЫБИРАЕМ, разве нет?
23 Euguln
 
07.05.15
18:19
(22) основы логики покури, много нового откроешь.
24 Drac0
 
07.05.15
18:20
(22) Нет. Он ставит условия, по которым лишнее выкидывается. Скорее так. Т.е. Номенклатура = &МояНом читай как "выбираем ТОЛЬКО то, что равно МояНом, а остальное выкидываем".
25 Любопытная
 
07.05.15
18:25
(24) Ну и какая разница?
26 Жан Пердежон
 
07.05.15
18:27
и такие вопросы задает человек с опытом 2,5 года...
теперь я кажется начинаю понимать, почему мой знакомый жалуется, что не может найти себе в штат просто хорошего прога 160тыр.
27 1с80
 
07.05.15
18:28
(22) Запись включается в выборку если она удовлетворяет фильтру. В данном случае значение фильтра всегда Истина. Т.е. ему удовлетворяет любая запись.
28 Любопытная
 
07.05.15
18:31
(26) Смешно
29 Torquader
 
07.05.15
18:34
(26) Что должен уметь хороший ПРОГ по вашему мнению - написать конфигурацию с нуля ?
30 mehfk
 
07.05.15
18:48
(26) Скажи знакомому что mehfk с мисты готов кодить удаленно по ТЗ за 80% обозначенной суммы при занятости не выше общепроизводственного календаря.
31 Майбах
 
07.05.15
18:48
Спасибо, теперь понял :)
32 Torquader
 
07.05.15
18:52
(30) Можно и за 50% только с нормально поставленными ТЗ.
33 mehfk
 
07.05.15
18:53
(32) mehfk готов даже немножко телепатировать и немножко отговаривать постановщика от неверной постановки задачи.
34 Torquader
 
07.05.15
18:56
(33) Только им поди хочется видеть программиста, а не результаты его работы.