Вход | Регистрация

1С:Предприятие ::

Метки: 

Отобрать номенклатуру (запрос)

Я
   1ctube
 
24.01.18 - 16:19
Привет, нужно отобрать номенклатуру которой не было в документах "Пступление ТМЗ" за указанный период. Если пишу так(без периода) то работает как надо(выводит те номенклатуры которых нет в было в доках)

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

И ПоступлениеТоваровУслугТовары.Ссылка.Дата МЕЖДУ &Дата И &ДатаКон

То вообще ничего не выводит. Как исправить?
 
 
   Timon1405
 
1 - 24.01.18 - 16:24
в общих чертах
Выбрать
Номенклатура.Ссылка из СпрНом...
Где НЕ Номенклатура.ссылка В (Выбрать Нужное из ТЧ товаров за период)
   vicof
 
2 - 24.01.18 - 16:24
И ПоступлениеТоваровУслугТовары.Ссылка.Дата МЕЖДУ &Дата И &ДатаКон 
надо добавлять не в ГДЕ, а в условие соединения
   1ctube
 
3 - 24.01.18 - 16:26
(1) (2) спс, помогло
   1ctube
 
4 - 24.01.18 - 16:27
(2) а не работало из-за того, что у меня было левое соединение, а когда пишем "ГДЕ"  то он сначала выбирает все данные и только потом "отсекает" по условию? Из-за этого не работало?
   vicof
 
5 - 24.01.18 - 16:43
Условие в ГДЕ на правую таблицу превращает левое соединение во внутреннее
   Сти
 
6 - 24.01.18 - 16:54
(4) Да, условие ГДЕ по дате отсекает записи, в которых получился Null, ведь Null не находится между Дата и ДатаКон, он вообще никогда ни с чем не сравнивается. И таким образом получается (5).

Впрочем, "ПоступлениеТоваровУслугТовары.Дата МЕЖДУ &Дата И &ДатаКон" можно превратить в "(ПоступлениеТоваровУслугТовары.Дата МЕЖДУ &Дата И &ДатаКон ИЛИ ПоступлениеТоваровУслугТовары.Ссылка ЕСТЬ Null)", но это и некрасиво, и неоптимально, поэтому лучше условие переносить в связь. Хотя в редких случаях такой вариант может пригодиться.
   1ctube
 
7 - 24.01.18 - 16:57
(6) (5) спасибо за разъяснение!


Список тем форума
Рекламное место пустует Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует