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

Проверка параметра запроса на пустоту

Автор skillful, 17 июл 2019, 21:45

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

skillful

ВЫБРАТЬ
СпрНоменклатура.Ссылка КАК Ссылка,
СпрНоменклатура.Код КАК Код,
СпрНоменклатура.Наименование КАК Наименование,
ЦеныНоменклатурыСрезПоследних.Цена КАК Цена,
СпрНоменклатура.Артикул КАК Артикул,
СпрНоменклатура.ВидНоменклатуры КАК ВидНоменклатуры,
СпрНоменклатура.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
СпрНоменклатура.СтавкаНДС КАК СтавкаНДС,
СпрНоменклатура.Родитель КАК Родитель,
ТоварыНаСкладахОстатки.ВНаличииОстаток КАК Остаток,
ВЫБОР
КОГДА СпрНоменклатура.ЕстьТоварыДругогоКачества
ТОГДА 4 + ВЫБОР
КОГДА СпрНоменклатура.ПометкаУдаления
ТОГДА 1
ИНАЧЕ 0
КОНЕЦ + ВЫБОР
КОГДА СпрНоменклатура.ИспользованиеХарактеристик = ЗНАЧЕНИЕ(Перечисление.ВариантыИспользованияХарактеристикНоменклатуры.НеИспользовать)
ТОГДА 0
ИНАЧЕ 2
КОНЕЦ
ИНАЧЕ ВЫБОР
КОГДА СпрНоменклатура.ПометкаУдаления
ТОГДА 1
ИНАЧЕ 0
КОНЕЦ + ВЫБОР
КОГДА СпрНоменклатура.ИспользованиеХарактеристик = ЗНАЧЕНИЕ(Перечисление.ВариантыИспользованияХарактеристикНоменклатуры.НеИспользовать)
ТОГДА 0
ИНАЧЕ 2
КОНЕЦ
КОНЕЦ КАК ИндексКартинки,
ТоварыНаСкладахОстатки.ВНаличииОстаток КАК ВНаличииОстаток
ИЗ
РегистрСведений.ЦеныНоменклатуры.СрезПоследних КАК ЦеныНоменклатурыСрезПоследних
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК СпрНоменклатура
ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки КАК ТоварыНаСкладахОстатки
ПО (ТоварыНаСкладахОстатки.Номенклатура = СпрНоменклатура.Ссылка)
ПО ЦеныНоменклатурыСрезПоследних.Номенклатура = СпрНоменклатура.Ссылка
ГДЕ
НЕ СпрНоменклатура.ЭтоГруппа
И ЦеныНоменклатурыСрезПоследних.ВидЦены.Наименование = &НаименованиеЦены
И ТоварыНаСкладахОстатки.Склад.Наименование = &НаименованиеСклад
{ГДЕ
(СпрНоменклатура.Ссылка В
(ВЫБРАТЬ
Сегменты.Номенклатура
ИЗ
РегистрСведений.НоменклатураСегмента КАК Сегменты
ГДЕ
Сегменты.Сегмент = &СегментНоменклатуры))}


В запросе не могу добиться, чтоб если параметр &НаименованиеСклад не был выбран на форме, то остатки показывались по всем складам. Если реквизит &НаименованиеСклад выбран, то остатки показывались только по выбранному складу. Вроде стандартный вопрос. В нете полно вариантов, но у меня так и не получилось. Прошу помощи в этом вопросе.


LexaK

вообще склад и другие элементы справочников надо искать по Ссылке,
ну ладно, вот только для вас, поиск с учетом пустого наименования
вот эту команду
И ТоварыНаСкладахОстатки.Склад.Наименование = &НаименованиеСклад
замените на
И ( &НаименованиеСклад = "" или ТоварыНаСкладахОстатки.Склад.Наименование = &НаименованиеСклад )
если помогло нажмите: Спасибо!

antoneus

Параметром Склад устанавливаем не наименование склада, а ссылку, в секции ГДЕ пишем:

И ВЫБОР КОГДА &Склад = ЗНАЧЕНИЕ(Справочник.Склады.ПустаяСсылка) ТОГДА ИСТИНА
ИНАЧЕ ТоварыНаСкладахОстатки.Склад = &Склад КОНЕЦ

skillful

LexaK, antoneus, Все супер. Получилось. Спасибо.

Теги:

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

Рейтинг@Mail.ru

Поиск