Результат запроса

1. mike40 28.03.23 16:52 Сейчас в теме
Всем доброго дня! Подскажите пожалуйста, есть справочник Номенклатура и рс ОстаткиТоваров. Требуется с помощью запроса найти нужную номенклатуру и количество на остатке. В самом регистре этой номенклатуры нет. Если в запросе ограничить выгрузку из рс по полям усОстаткиТоваров.Ячейка.РабочаяЗона И усОстаткиТоваров.Ячейка.ТипЯчейки, то результат запроса пустой. Если эти условия убрать, то номенклатура находится и количество соответственно 0. Подскажите, как переработать запрос, чтобы он не был пустым и условия тоже остались? Спасибо за помощь!


Текст запроса:
ВЫБРАТЬ
	усНоменклатура.Ссылка КАК Номенклатура,
	усНоменклатура.Родитель КАК НоменклатураРодитель,
	усНоменклатура.Код КАК НоменклатураКод,
	усНоменклатура.Наименование КАК НоменклатураНаименование,
	усНоменклатура.Артикул КАК НоменклатураАртикул
ПОМЕСТИТЬ вт_Номенклатура
ИЗ
	Справочник.усНоменклатура КАК усНоменклатура
ГДЕ
	усНоменклатура.Код В(&мсвКодыНоменклатур)
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	вт_Номенклатура.Номенклатура,
	вт_Номенклатура.НоменклатураРодитель,
	вт_Номенклатура.НоменклатураКод,
	вт_Номенклатура.НоменклатураНаименование,
	вт_Номенклатура.НоменклатураАртикул,
	ЕСТЬNULL(усОстаткиТоваров.Количество, 0) КАК Количество
ИЗ
	вт_Номенклатура КАК вт_Номенклатура
		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.усОстаткиТоваров КАК усОстаткиТоваров
		ПО вт_Номенклатура.Номенклатура = усОстаткиТоваров.Номенклатура
ГДЕ
	усОстаткиТоваров.Ячейка.РабочаяЗона = &РабочаяЗона
	И усОстаткиТоваров.Ячейка.ТипЯчейки = &ТипЯчейки
Показать
Ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
2. Said-We 28.03.23 17:24 Сейчас в теме
(1) Перенеси условие не в итог, а только на таблицу РегистрСведений.усОстаткиТоваров.
3. soft_wind 28.03.23 17:52 Сейчас в теме
Остатки? в РегистреСведений? - новая мысль/технология в упр.учете?
4. Said-We 28.03.23 18:45 Сейчас в теме
(3)
Остатки? в РегистреСведений?

Как есть. Это могут быть условные остатки товаров в другой базе. Это могут быть минимальные остатки товаров. Это может быть что угодно.
Что такое Ячейка - даже не задумывался. :-)

(1) Я имел ввиду примерно вот это:
...
ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ т.Номенклатура, т.Количество ИЗ РегистрСведений.усОстаткиТоваров КАК т
                                         ГДЕ
                                                т.Ячейка.РабочаяЗона = &РабочаяЗона
                                             И т.Ячейка.ТипЯчейки = &ТипЯчейки) как  усОстаткиТоваров
        ПО вт_Номенклатура.Номенклатура = усОстаткиТоваров.Номенклатура
6. RustamZz 28.03.23 19:47 Сейчас в теме
(3) И ведь не только товаров.
Прикрепленные файлы:
7. mike40 28.03.23 20:33 Сейчас в теме
(3) конфигурация WMS Логистика: Управление складом 3.1, там много чего интересного)
5. Said-We 28.03.23 18:49 Сейчас в теме
(1) А вообще можно и без левого соединения через объединить и сгруппировать. Но это уже совсем другая история.
Как уже в (1) написали так и рассказал.
8. mike40 28.03.23 20:40 Сейчас в теме
Всем спасибо за ответы. Проблему решил. Условия на рабочую зону и тип ячейки в связи надо указать, если остатка нет, а условия на рабочую зону и тип ячейки в секции ГДЕ, то запрос обрубает эти результаты.

Вот такой текст запроса получился и все работает:
ВЫБРАТЬ
	усНоменклатура.Ссылка КАК Номенклатура,
	усНоменклатура.Родитель КАК НоменклатураРодитель,
	усНоменклатура.Код КАК НоменклатураКод,
	усНоменклатура.Наименование КАК НоменклатураНаименование,
	усНоменклатура.Артикул КАК НоменклатураАртикул
ПОМЕСТИТЬ вт_Номенклатура
ИЗ
	Справочник.усНоменклатура КАК усНоменклатура
ГДЕ
	усНоменклатура.Код В(&мсвКодыНоменклатур)
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	вт_Номенклатура.Номенклатура,
	вт_Номенклатура.НоменклатураРодитель,
	вт_Номенклатура.НоменклатураКод,
	вт_Номенклатура.НоменклатураНаименование,
	вт_Номенклатура.НоменклатураАртикул,
	ЕСТЬNULL(усОстаткиТоваров.Количество, 0) КАК Количество
ИЗ
	вт_Номенклатура КАК вт_Номенклатура
		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.усОстаткиТоваров КАК усОстаткиТоваров
		ПО вт_Номенклатура.Номенклатура = усОстаткиТоваров.Номенклатура
			И (усОстаткиТоваров.Ячейка.РабочаяЗона = &РабочаяЗона)
			И (усОстаткиТоваров.Ячейка.ТипЯчейки = &ТипЯчейки)
Показать
Оставьте свое сообщение
Вакансии
Консультант 1С
Москва
зарплата от 80 000 руб. до 150 000 руб.
Полный день

Программист 1С (ERP, УХ, КА 2, УТ 11), удаленно
Москва
зарплата от 160 000 руб.
Полный день

Аналитик 1С
Москва
зарплата от 200 000 руб.
Полный день

Консультант 1С / Специалист поддержки 1C
Екатеринбург
зарплата от 70 000 руб.
Полный день

Технический архитектор 1С
Екатеринбург
зарплата от 200 000 руб.
Полный день