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

Как подредактировать запрос, чтобы он заработал?

Автор Борис Гаркун, 09 сен 2011, 15:09

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

Борис Гаркун

Нужно выбрать все товары с ненулевым остатками, у которых нет положительной цены указанного типа:
ВЫБРАТЬ
   *
ИЗ
   РегистрНакопления.ТоварыНаСкладах КАК ТоварыНаСкладах
ГДЕ
   ЕСТЬNULL(
   ВЫБРАТЬ
      *
   ИЗ РегистрСведений.ЦеныНоменклатуры ц
   ГДЕ ТоварыНаСкладах.Номенклатура.Ссылка = ц.Номенклатура.Ссылка
      И ц.ТипЦен.Наименование = "Минимальная розничная2"
                И ц.Цена > 0
   )
Ошибка указывает на 7 строку, то есть на второе слово ВЫБРАТЬ.

Скажите, каким должен быть запрос, чтобы он реализовал требуемую функцию?

kostyas311

ВЫБРАТЬ
   ТоварыНаСкладах.Номенклатура,
   ПРЕДСТАВЛЕНИЕ(ТоварыНаСкладах.Номенклатура),
   ЦеныНоменклатуры.Цена
ИЗ
   РегистрНакопления.ТоварыНаСкладах КАК ТоварыНаСкладах
      ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры
      ПО ТоварыНаСкладах.Номенклатура = ЦеныНоменклатуры.Номенклатура
ГДЕ
   ТоварыНаСкладах.Количество <> 0
   И ЦеныНоменклатуры.ТипЦен = &ТипЦен
   И ЦеныНоменклатуры.Цена <> 0

kostyas311

Цитата: kostyas311 от 09 сен 2011, 15:44
ВЫБРАТЬ
   ТоварыНаСкладах.Номенклатура,
   ПРЕДСТАВЛЕНИЕ(ТоварыНаСкладах.Номенклатура),
   ЦеныНоменклатуры.Цена
ИЗ
   РегистрНакопления.ТоварыНаСкладах КАК ТоварыНаСкладах
      ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры
      ПО ТоварыНаСкладах.Номенклатура = ЦеныНоменклатуры.Номенклатура
ГДЕ
   ТоварыНаСкладах.Количество <> 0
   И ЦеныНоменклатуры.ТипЦен = &ТипЦен
   И ЦеныНоменклатуры.Цена <= 0 //поправка!!

Dethmontt

ВЫБРАТЬ
   ТоварыНаСкладах.Номенклатура,
   ПРЕДСТАВЛЕНИЕ(ТоварыНаСкладах.Номенклатура) КАК ПредставлениеНоменклатуры, //поправка!!
   ЦеныНоменклатуры.Цена
ИЗ
   РегистрНакопления.ТоварыНаСкладах КАК ТоварыНаСкладах
      ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры
      ПО ТоварыНаСкладах.Номенклатура = ЦеныНоменклатуры.Номенклатура
ГДЕ
   ТоварыНаСкладах.Количество <> 0
   И ЦеныНоменклатуры.ТипЦен = &ТипЦен
   И ЦеныНоменклатуры.Цена <= 0 //поправка!!

//Вот так правильнее будет
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

ivanov660

Почему бы не использовать виртуальную таблицу Остатки?

Теги:

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

Рейтинг@Mail.ru

Поиск