Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 12:54

Как в запросе отобрать позиции у которых категория не установлена

Автор kuz, 19 ноя 2015, 08:44

0 Пользователей и 1 гость просматривают эту тему.

vitasw

Цитата: Kironten от 19 ноя 2015, 11:55ГДЕ КатегорииОбъектов.Категория = &Категория ИЛИ
    КатегорииОбъектов.Категория = ЗНАЧЕНИЕ(Справочник.КатегорииОбъектов.ПустаяСсылка)

Тогда будет подбираться с нужной категорией, или те, у которых категория не заполнена

Для улучшения производительности лучше использовать список значений в качестве параметра.

kuz

Цитата: Vladimir_Sh от 19 ноя 2015, 11:50
В этом случае необходимо выводить и номенклатуру с пустыми категориями?
Да, если указанная категория (только она, могут быть установлены другие) не установлена то такие позиции тоже выводить
Добавлено: 19 ноя 2015, 13:35


Цитата: Kironten от 19 ноя 2015, 11:55Тогда будет подбираться с нужной категорией, или те, у которых категория не заполнена
Спасибо, но чего-то у меня так тоже не получилось. Выводятся только записи с установленной указаной категорией, а второе условие     КатегорииОбъектов.Категория = ЗНАЧЕНИЕ(Справочник.КатегорииОбъектов.ПустаяСсылка) не срабатывает. Может ещё нужно что-то вставить?ВЫБРАТЬ
ЗначенияСвойствОбъектов.Объект,
ЗначенияСвойствОбъектов.Свойство,
ЗначенияСвойствОбъектов.Значение,
КатегорииОбъектов.Категория,
ЗначенияСвойствОбъектов.Объект.Наименование,
ЗначенияСвойствОбъектов.Объект.Артикул,
ВЫБОР
КОГДА КатегорииОбъектов.Категория = &Категория
ТОГДА КатегорииОбъектов.Категория
ИНАЧЕ 0
КОНЕЦ КАК Поле1,
КатегорииОбъектов1.Ссылка
ИЗ
РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КатегорииОбъектов КАК КатегорииОбъектов
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.КатегорииОбъектов КАК КатегорииОбъектов1
ПО КатегорииОбъектов.Категория = КатегорииОбъектов1.Ссылка
ПО ЗначенияСвойствОбъектов.Объект = КатегорииОбъектов.Объект
ГДЕ
ЗначенияСвойствОбъектов.Объект В ИЕРАРХИИ(&Объект)
И ЗначенияСвойствОбъектов.Свойство = &Свойство
И (КатегорииОбъектов.Категория = &Категория
ИЛИ КатегорииОбъектов.Категория = ЗНАЧЕНИЕ(Справочник.КатегорииОбъектов.ПустаяСсылка))
 

Kironten

Ну в принципе логично, что не отрабатывает по пустой ссылке.
У вас же вряд ли записано в номенклатуре строка с пустой категорией.
Скорее всего там просто ничего нет.
Как следствие РС категории объектов не содержит записей по объекту номенклатура с незаполненной категорией.
В общем: У вас есть список номенклатуры, который вы передаете в запрос (В ИЕРАРХИИ(&Объект)).
Вам надо отдельно получить номенклатуру из этого списка с заполненной категорией (из РС), и отдельно с незаполненой (из общего списка вычесть позиции которые получили из РС). И уже  объединять эти два списка и по ним строить соединение.

kuz

Цитата: Kironten от 19 ноя 2015, 14:04
В общем: У вас есть список номенклатуры, который вы передаете в запрос (В ИЕРАРХИИ(&Объект)).
Вам надо отдельно получить номенклатуру из этого списка с заполненной категорией (из РС), и отдельно с незаполненой (из общего списка вычесть позиции которые получили из РС). И уже  объединять эти два списка и по ним строить соединение.
Спасибо, все получилось!

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск