Остатки по составному полю #753282


#0 by Stim
Есть РН Запасы. В нем есть измерение Заказ, с составным типом данных - заказПокупателя или ЗаказПоставщику Мне нужно получить остатки по номенклатуре, когда поле Заказ не заполнено - Заказ в ЗапасыОстаток может быть заполнено NULL или пустойСсылкой на документ. Причем -запрос типовой, надо в него вклиниться с минимальными изменениями. а условие там такое: ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ЗапасыПереданные.Остатки(                         &МоментКонтроля, как в условии задать, что мне нужны остатки где заказ = NULL или пустая ссылка на документ ?
#1 by Апош
неопределено же
#2 by bootini
ДвиженияЗапасыПереданныеИзменение.Заказ = Значение(Документ.ЗаказПоставщику.ПустаяСсылка) ИЛИ ДвиженияЗапасыПереданныеИзменение.Заказ ЕСТЬ NULL
#3 by Stim
так нельзя.
#4 by Апош
аллах запрещает?
#5 by Ненавижу 1С
ДвиженияЗапасыПереданныеИзменение.Заказ.Ссылка ЕСТЬ NULL
#6 by Stim
нет НЕТ!
#7 by Stim
Вот вам простой пример-запрос:     "Орг",     0 ; Исправьте этот запрос так, чтобы условие (вр.Организация, вр.заказ) В осталось, но выбирались все записи, в том числе и с 1
#8 by bootini
Должно быть в условии после слова "ГДЕ", а не в полях
#9 by Апош
что ты там употребляешь?
#10 by Stim
это было бы слишком просто. Нужно в полях. потому и спрашиваю.
#11 by aleks_default
ДвиженияЗапасыПереданныеИзменение.Заказ в (Значение(Документ.ЗаказПоставщику.ПустаяСсылка),Значение(Документ.ЗаказПокупателя.ПустаяСсылка),Неопределено)
#12 by bootini
)     "Орг",     0 ;
#13 by bootini
Еще :)     "Орг",     0 ;                 вр)
#14 by Ненавижу 1С
чей то ты орешь?
#15 by Stim
все не то
#16 by Ненавижу 1С
да нормально объясни что не так
#17 by ВРедная
Сделай все поля через "В", а заказ через "ГДЕ". Так как ты хочешь не будет работать.
#18 by RomanYS
+1, но скорее всего достаточно неопределено
#19 by Stim
ну как еще. есть сука здоровый запрос, который надо подправить так, чтобы работало условие й,ц,у В (Выбрать 10, 20, 1 или 0)
#20 by Stim
неопределено - оно сработает для остатков с NULL и с пустой ссылкой на документ?
#21 by aleks_default
млять, NULL - это отсутсвие поля, запомните раз и навсегда
#22 by aleks_default
в прясом запросе к таблице NULL быть НЕ МОЖЕТ!
#23 by Stim
отсутствие значения поля
#24 by Stim
к таблице остатков - вполне
#25 by igork1966
Ты не совсем прав. У составных незаполненных полей может быть NULL. (Я тоже удивился когда увидел в результате запроса)
#26 by Stim
прокатит так, интересно: РегистрНакопления.ЗапасыПереданные.Остатки( Вр.номенклатура, Значение(Документ.ЗаказПоставщику.ПустаяСсылка)) вроде должен отобрать с остатки с пустой ссылкой на док и с NULL
#27 by bootini
И со всеми не ПустымиСсылками
#28 by bootini
А так? ВЫБОР КОГДА НЕ Заказ = ЗНАЧЕНИЕ(Документ.ЗаказПоставщику.ПустаяСсылка) ТОГДА ЗНАЧЕНИЕ(Документ.ЗаказПоставщику.ПустаяСсылка) ИНАЧЕ Заказ КОНЕЦ
#29 by ВРедная
нет не должен. У меня ощущение, что ты не понимаешь, как работает "В". Дальше wall of text. Извините. В "В" не может быть или. "В" означает, "возьми, пожалуйста, только те записи из большой таблицы сверху, у которых поля Х1, Х2, Х3 содержатся вот в этой моей таблице:" а дальше идет таблица, с которой нужно сравнить. В этой таблице конкретные значения, типа: "орг 1", "номенклатура 1", "Заказ покупателя 12" "орг 1", "номенклатура 1", "Заказ поставщику 10" и при отборе из большой таблицы нельзя сказать "вот это поле сравнивай на "=", а вот это на "в списке". Там просто проверяется равенство. Так что приведи остатки в своем регистре к "неопределено" и все будет хорошо.
#30 by RomanYS
не может там быть NULL, правильные варианты в
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С