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

Условие в запросе

Автор Инокентий, 26 ноя 2022, 16:39

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

Инокентий

Здравствуйте! Хочу проверять остатки товара на складе в запросе. Подскажите пожалуйста, как правильно написать запрос
"ВЫБРАТЬ
| РасходнаяНакладнаяТоварыИУслуги.Номенклатура КАК Номенклатура,
| СУММА(РасходнаяНакладнаяТоварыИУслуги.Количество) КАК Количество
|ПОМЕСТИТЬ НоменклатураВТ
|ИЗ
| Документ.РасходнаяНакладная.ТоварыИУслуги КАК РасходнаяНакладнаяТоварыИУслуги
|ГДЕ
| РасходнаяНакладнаяТоварыИУслуги.Ссылка = &Ссылка
|
|СГРУППИРОВАТЬ ПО
| РасходнаяНакладнаяТоварыИУслуги.Номенклатура
|ИНДЕКСИРОВАТЬ ПО
| Номенклатура
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| НоменклатураВТ.Номенклатура КАК Номенклатура,
| НоменклатураВТ.Количество КАК Количество,
| ЕСТЬNULL(ОстаткиТоваровОстатки.КоличествоОстаток, 0) КАК КоличествоОстаток,
| ЕСТЬNULL(ОстаткиТоваровОстатки.СтоимостьОстаток, 0) КАК СтоимостьОстаток,
| &Период КАК Период
|ВЫБОР
| КОГДА Количество > КоличествоОстаток ТОГДА
| 1
| ИНАЧЕ 0
|   Конец КАК ПроверкаОстатков
|ИЗ
| НоменклатураВТ КАК НоменклатураВТ
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ОстаткиТоваров.Остатки(
| &МоментВремени,
| Номенклатура В
| (ВЫБРАТЬ
| НоменклатураВТ.Номенклатура
| ИЗ
| НоменклатураВТ КАК НоменклатураВТ)
| И Склад = &Склад) КАК ОстаткиТоваровОстатки
| ПО НоменклатураВТ.Номенклатура = ОстаткиТоваровОстатки.Номенклатура
|
|ИТОГИ
|     МАКСИМУМ(Количество),
|     СУММА(КоличествоОстаток),
|     СУММА(СтоимостьОстаток)
|ПО
| Номенклатура";

alexandr_ll

Инокентий, А что не работает?

Инокентий

alexandr_ll, Указывает на блок с выбором

cast

Ещё из накладной нужно взять Номенклатура.представление.
Если взять только номенклатура то машина построит ещё один запрос, это не правильно.
Посмотри Леоньтева на ютубе. Там много полезного.
И в итогах вытащи Номенклатура.представление в поле итогов (в низу) с функцией max

Инокентий

cast, Хорошо, но вопрос был в том, почему выбор не работает. Синтаксическая ошибка "ВЫБОР"
<<?>>ВЫБОР

cast

Когда пишешь произвольное выражение нужно писать РасходнаяНакладнвяСписокНоменклатуры.Количество, от куда берёшь данные, машина не понимает какая таблица для количества, а какая  для КоличествоОстаток.

LexaK

Инокентий,
    |    &Период КАК Период, //<<<   вот здесь запятой не хватает!
    |ВЫБОР
если помогло нажмите: Спасибо!

Инокентий

Там оказывается просто нужна запятая перед выбор...

Теги:

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

Рейтинг@Mail.ru

Поиск