Почему Выборка пустая? в чем ошибка?

1. XelOla 18 11.11.24 11:01 Сейчас в теме
Здравствуйте,
Почему Выборка пустая? (в списке товаров документа есть строки товаров для которых в РС Цены номенклатуры нет установленной Себестоимости (Вид цены))
СписокПродукции = Новый ("СписокЗначений");	
	СписокПродукции =  Объект.ДокументПеремещения.Товары.ВыгрузитьКолонку("Номенклатура");
	Запрос = Новый Запрос;
	Запрос.Текст =
	"ВЫБРАТЬ РАЗЛИЧНЫЕ
	|	Ном.Ссылка КАК НоменклатураКоторойНет
	|ИЗ
	|	Справочник.Номенклатура КАК Ном
	|		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры25.СрезПоследних(&Период, ) КАК ЦеныНоменклатуры
	|		ПО Ном.Ссылка = ЦеныНоменклатуры.Номенклатура
	|ГДЕ
	|	Ном.Ссылка В(&СписокПродукции)
	|	И ЦеныНоменклатуры.Цена ЕСТЬ NULL
	|	И ЦеныНоменклатуры.ВидЦены = &ВидЦены";
	
	Запрос.УстановитьПараметр("Период", Объект.ДатаИзменения);
	Запрос.УстановитьПараметр("СписокПродукции", СписокПродукции);
	Запрос.УстановитьПараметр("ВидЦены", Объект.ВидЦены);
Показать
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. starik-2005 3089 11.11.24 11:08 Сейчас в теме
И ЦеныНоменклатуры.Цена ЕСТЬ NULL
Вы ищите номенклатуру без цен? Тогда " И ЦеныНоменклатуры.ВидЦены = &ВидЦены" перенесите из ГДЕ в условие соединения.
3. user1863362 11.11.24 11:17 Сейчас в теме
(2)
в условие соединения.
В условия виртуальной таблицы
starik-2005; +1 Ответить
5. XelOla 18 11.11.24 11:21 Сейчас в теме
(3)
"ВЫБРАТЬ РАЗЛИЧНЫЕ
	|	Ном.Ссылка КАК НоменклатураКоторойНет
	|ИЗ
	|	Справочник.Номенклатура КАК Ном
	|		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Период, ВидЦены = &ВидЦены) КАК ЦеныНоменклатуры
	|		ПО Ном.Ссылка = ЦеныНоменклатуры.Номенклатура
	|ГДЕ
	|	Ном.Ссылка В(&СписокПродукции)
	|	И ЦеныНоменклатуры.Номенклатура ЕСТЬ NULL";
Показать

и так всех показывает
6. starik-2005 3089 11.11.24 11:31 Сейчас в теме
(5)
и так всех показывает
Ну давай, расскажи нам...
Прикрепленные файлы:
7. XelOla 18 11.11.24 11:37 Сейчас в теме
(6) ну правда, что я делаю не так? на некоторой Ном есть уже Себестоимость в регистре. А показывает все 18 строк из документа.
8. user1863362 11.11.24 11:50 Сейчас в теме
(7)
что я делаю не так?
Пишешь разные запросы. В первом примере берешь срез регистра ЦеныНоменклатуры25, а во втором - ЦеныНоменклатуры
9. XelOla 18 11.11.24 11:54 Сейчас в теме
(8)
действительно.
туплю чтото...
10. Sashares 35 11.11.24 11:57 Сейчас в теме
(9) Убери "И ЦеныНоменклатуры.Цена ЕСТЬ NULL" и добавь в выборку ЦеныНоменклатуры.ВидЦены и убедись, что записи по этой номенклатуре в регистре есть.
11. user2107191 11.11.24 11:58 Сейчас в теме
(9) Ага...
- Доктор, я куда пальцем не ткну - у меня везде болит...
- Так у тебя палец сломан, придурок!

Номенклатура-то хоть есть в списке?
12. LeeAreHim 11.11.24 12:05 Сейчас в теме
15. Sashares 35 11.11.24 12:12 Сейчас в теме
(12) Выбрать из регистра записи которых нет. Жжоте)
starjevschik; +1 Ответить
16. LeeAreHim 11.11.24 12:21 Сейчас в теме
(15) Понедельник

мысль такая, что берем всю номенклатуру документа, смотрим у кого есть эта цена и оставляем ту, у которой нет цены
как вариант
13. starjevschik 11.11.24 12:07 Сейчас в теме
(7) потому что она делает срез последних по всем видам цен и какая-то там находится, которой нет у каждой номенклатуры. Надо все измерения в срез добавлять.
user2107191; +1 Ответить
4. XelOla 18 11.11.24 11:18 Сейчас в теме
(2)
Запрос.Текст =
	"ВЫБРАТЬ РАЗЛИЧНЫЕ
	|	Ном.Ссылка КАК НоменклатураКоторойНет
	|ИЗ
	|	Справочник.Номенклатура КАК Ном
	|		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Период, ) КАК ЦеныНоменклатуры
	|		ПО (Ном.Ссылка = ЦеныНоменклатуры.Номенклатура
	|				И ЦеныНоменклатуры.ВидЦены = &ВидЦены)
	|ГДЕ
	|	Ном.Ссылка В(&СписокПродукции)
	|	И ЦеныНоменклатуры.Номенклатура ЕСТЬ NULL";
Показать


чтото показывает и ту, для которой есть себестоимостью. Всю что ли из документа?
14. user2107191 11.11.24 12:11 Сейчас в теме
Классическая ошибка - пытаться ставить условие на отсутствие соединения, при этом не настроив полностью соединение от слова совсем.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот