Запрос остататки + резервы, а если остаток пустой как вывести резерв?
Конструктор запросов сделал мне такое
ВЫБРАТЬ
ТоварыНаСкладахОстатки.Склад КАК Склад,
ТоварыНаСкладахОстатки.Номенклатура КАК Номенклатура,
ТоварыНаСкладахОстатки.КоличествоОстаток КАК КоличествоОстаток,
ТоварыВРезервеНаСкладах.Номенклатура КАК Номенклатура1,
ТоварыВРезервеНаСкладах.Склад КАК Склад1,
ТоварыВРезервеНаСкладах.Количество КАК Количество
ИЗ
РегистрНакопления.ТоварыНаСкладах.Остатки КАК ТоварыНаСкладахОстатки
Левое СОЕДИНЕНИЕ РегистрНакопления.ТоварыВРезервеНаСкладах КАК ТоварыВРезервеНаСкладах
ПО ТоварыНаСкладахОстатки.Номенклатура = ТоварыВРезервеНаСкладах.Номенклатура
И ТоварыНаСкладахОстатки.Склад = ТоварыВРезервеНаСкладах.Склад
ГДЕ
ТоварыВРезервеНаСкладах.Номенклатура = &Номенклатура
И ТоварыНаСкладахОстатки.Номенклатура = &Номенклатура
ВЫБРАТЬ
ТоварыНаСкладахОстатки.Склад КАК Склад,
ТоварыНаСкладахОстатки.Номенклатура КАК Номенклатура,
ТоварыНаСкладахОстатки.КоличествоОстаток КАК КоличествоОстаток,
ТоварыВРезервеНаСкладах.Номенклатура КАК Номенклатура1,
ТоварыВРезервеНаСкладах.Склад КАК Склад1,
ТоварыВРезервеНаСкладах.Количество КАК Количество
ИЗ
РегистрНакопления.ТоварыНаСкладах.Остатки КАК ТоварыНаСкладахОстатки
Левое СОЕДИНЕНИЕ РегистрНакопления.ТоварыВРезервеНаСкладах КАК ТоварыВРезервеНаСкладах
ПО ТоварыНаСкладахОстатки.Номенклатура = ТоварыВРезервеНаСкладах.Номенклатура
И ТоварыНаСкладахОстатки.Склад = ТоварыВРезервеНаСкладах.Склад
ГДЕ
ТоварыВРезервеНаСкладах.Номенклатура = &Номенклатура
И ТоварыНаСкладахОстатки.Номенклатура = &Номенклатура
Найденные решения
Уапсче песня!
ВЫБРАТЬ
ТоварыНаСкладахОстатки.Склад КАК Склад,
ТоварыНаСкладахОстатки.Номенклатура КАК Номенклатура,
ТоварыНаСкладахОстатки.КоличествоОстаток КАК КоличествоОстаток,
0 как КоличествоОстатокР
ИЗ
РегистрНакопления.ТоварыНаСкладах.Остатки(&ВыбДата, Номенклатура = &Номенклатура) КАК ТоварыНаСкладахОстатки
Объединить все
ВЫБРАТЬ
ТоварыВРезервеНаСкладахОстатки.Склад КАК Склад,
ТоварыВРезервеНаСкладахОстатки.Номенклатура КАК Номенклатура,
0 как КоличествоОстаток,
ТоварыВРезервеНаСкладахОстатки.КоличествоОстаток КАК КоличествоОстатокР
ИЗ
РегистрНакопления.ТоварыВРезервеНаСкладах.Остатки(&ВыбДата, Номенклатура = &Номенклатура ) КАК ТоварыВРезервеНаСкладахОстатки
ВЫБРАТЬ
ТоварыНаСкладахОстатки.Склад КАК Склад,
ТоварыНаСкладахОстатки.Номенклатура КАК Номенклатура,
ТоварыНаСкладахОстатки.КоличествоОстаток КАК КоличествоОстаток,
0 как КоличествоОстатокР
ИЗ
РегистрНакопления.ТоварыНаСкладах.Остатки(&ВыбДата, Номенклатура = &Номенклатура) КАК ТоварыНаСкладахОстатки
Объединить все
ВЫБРАТЬ
ТоварыВРезервеНаСкладахОстатки.Склад КАК Склад,
ТоварыВРезервеНаСкладахОстатки.Номенклатура КАК Номенклатура,
0 как КоличествоОстаток,
ТоварыВРезервеНаСкладахОстатки.КоличествоОстаток КАК КоличествоОстатокР
ИЗ
РегистрНакопления.ТоварыВРезервеНаСкладах.Остатки(&ВыбДата, Номенклатура = &Номенклатура ) КАК ТоварыВРезервеНаСкладахОстатки
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
ниработаит
ВЫБРАТЬ
ТоварыНаСкладахОстатки.Склад КАК Склад,
ТоварыНаСкладахОстатки.Номенклатура КАК Номенклатура,
ВЫБОР
КОГДА ТоварыНаСкладахОстатки.КоличествоОстаток ЕСТЬ NULL
ТОГДА NULL
ИНАЧЕ ТоварыНаСкладахОстатки.КоличествоОстаток
КОНЕЦ ,
ТоварыВРезервеНаСкладах.Номенклатура КАК Номенклатура1,
ТоварыВРезервеНаСкладах.Склад КАК Склад1,
ТоварыВРезервеНаСкладах.Количество КАК Количество
ИЗ
РегистрНакопления.ТоварыНаСкладах.Остатки КАК ТоварыНаСкладахОстатки
Левое СОЕДИНЕНИЕ РегистрНакопления.ТоварыВРезервеНаСкладах КАК ТоварыВРезервеНаСкладах
ПО ТоварыНаСкладахОстатки.Номенклатура = ТоварыВРезервеНаСкладах.Номенклатура
И ТоварыНаСкладахОстатки.Склад = ТоварыВРезервеНаСкладах.Склад
ГДЕ
ТоварыВРезервеНаСкладах.Номенклатура = &Номенклатура
И ТоварыНаСкладахОстатки.Номенклатура = &Номенклатура
ВЫБРАТЬ
ТоварыНаСкладахОстатки.Склад КАК Склад,
ТоварыНаСкладахОстатки.Номенклатура КАК Номенклатура,
ВЫБОР
КОГДА ТоварыНаСкладахОстатки.КоличествоОстаток ЕСТЬ NULL
ТОГДА NULL
ИНАЧЕ ТоварыНаСкладахОстатки.КоличествоОстаток
КОНЕЦ ,
ТоварыВРезервеНаСкладах.Номенклатура КАК Номенклатура1,
ТоварыВРезервеНаСкладах.Склад КАК Склад1,
ТоварыВРезервеНаСкладах.Количество КАК Количество
ИЗ
РегистрНакопления.ТоварыНаСкладах.Остатки КАК ТоварыНаСкладахОстатки
Левое СОЕДИНЕНИЕ РегистрНакопления.ТоварыВРезервеНаСкладах КАК ТоварыВРезервеНаСкладах
ПО ТоварыНаСкладахОстатки.Номенклатура = ТоварыВРезервеНаСкладах.Номенклатура
И ТоварыНаСкладахОстатки.Склад = ТоварыВРезервеНаСкладах.Склад
ГДЕ
ТоварыВРезервеНаСкладах.Номенклатура = &Номенклатура
И ТоварыНаСкладахОстатки.Номенклатура = &Номенклатура
Когда остатка нет, у вас не заполнено поле номенклатура... для начала его заполните.
Выбор Когда ТоварыНаСкладахОстатки.Номенклатура is null Тогда ТоварыВРезервеНаСкладах.Номенклатура Иначе ТоварыНаСкладахОстатки.Номенклатура Конец Как Номенклатура
Выбор Когда ТоварыНаСкладахОстатки.Номенклатура is null Тогда ТоварыВРезервеНаСкладах.Номенклатура Иначе ТоварыНаСкладахОстатки.Номенклатура Конец Как Номенклатура
ошибку нашел исправил, нон нет не рабит
ВЫБРАТЬ
ТоварыНаСкладахОстатки.Склад КАК Склад,
ТоварыНаСкладахОстатки.Номенклатура КАК Номенклатура,
ВЫБОР
КОГДА ТоварыНаСкладахОстатки.КоличествоОстаток ЕСТЬ NULL
ТОГДА NULL
ИНАЧЕ ТоварыНаСкладахОстатки.КоличествоОстаток
КОНЕЦ КАК Поле1,
ТоварыВРезервеНаСкладахОстатки.Склад КАК Склад1,
ТоварыВРезервеНаСкладахОстатки.Номенклатура КАК Номенклатура1,
ТоварыВРезервеНаСкладахОстатки.КоличествоОстаток
ИЗ
РегистрНакопления.ТоварыНаСкладах.Остатки(&ВыбДата, ) КАК ТоварыНаСкладахОстатки
ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыВРезервеНаСкладах.Остатки КАК ТоварыВРезервеНаСкладахОстатки
ПО ТоварыНаСкладахОстатки.Номенклатура = ТоварыВРезервеНаСкладахОстатки.Номенклатура
И ТоварыНаСкладахОстатки.Склад = ТоварыВРезервеНаСкладахОстатки.Склад
ГДЕ
ТоварыНаСкладахОстатки.Номенклатура = &Номенклатура
ВЫБРАТЬ
ТоварыНаСкладахОстатки.Склад КАК Склад,
ТоварыНаСкладахОстатки.Номенклатура КАК Номенклатура,
ВЫБОР
КОГДА ТоварыНаСкладахОстатки.КоличествоОстаток ЕСТЬ NULL
ТОГДА NULL
ИНАЧЕ ТоварыНаСкладахОстатки.КоличествоОстаток
КОНЕЦ КАК Поле1,
ТоварыВРезервеНаСкладахОстатки.Склад КАК Склад1,
ТоварыВРезервеНаСкладахОстатки.Номенклатура КАК Номенклатура1,
ТоварыВРезервеНаСкладахОстатки.КоличествоОстаток
ИЗ
РегистрНакопления.ТоварыНаСкладах.Остатки(&ВыбДата, ) КАК ТоварыНаСкладахОстатки
ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыВРезервеНаСкладах.Остатки КАК ТоварыВРезервеНаСкладахОстатки
ПО ТоварыНаСкладахОстатки.Номенклатура = ТоварыВРезервеНаСкладахОстатки.Номенклатура
И ТоварыНаСкладахОстатки.Склад = ТоварыВРезервеНаСкладахОстатки.Склад
ГДЕ
ТоварыНаСкладахОстатки.Номенклатура = &Номенклатура
(6)Примерно так:
И результат сгруппировать.
ВЫБРАТЬ
ТоварыНаСкладахОстатки.Склад КАК Склад,
ТоварыНаСкладахОстатки.Номенклатура КАК Номенклатура,
ТоварыНаСкладахОстатки.КоличествоОстаток КАК КоличествоОстаток,
0 КАК ВРезерве
ИЗ
РегистрНакопления.ТоварыНаСкладах.Остатки КАК ТоварыНаСкладахОстатки
ГДЕ
ТоварыНаСкладахОстатки.Номенклатура = &Номенклатура
Объединить все
ВЫБРАТЬ
ТоварыВРезервеНаСкладах.Склад КАК Склад,
ТоварыВРезервеНаСкладах.Номенклатура КАК Номенклатура,
0 КАК КоличествоОстаток,
ТоварыВРезервеНаСкладах.Количество КАК ВРезерве
ИЗ
РегистрНакопления.ТоварыВРезервеНаСкладах КАК ТоварыВРезервеНаСкладах
ГДЕ
ТоварыВРезервеНаСкладах.Номенклатура = &Номенклатура
ПоказатьИ результат сгруппировать.
ВЫБРАТЬ
ВЫБОР
КОГДА ТоварыНаСкладахОстатки.Номенклатура ЕСТЬ NULL
ТОГДА NULL
ИНАЧЕ ТоварыНаСкладахОстатки.Номенклатура
КОНЕЦ КАК Номенклатура,
ВЫБОР
КОГДА ТоварыНаСкладахОстатки.Склад ЕСТЬ NULL
ТОГДА NULL
ИНАЧЕ ТоварыНаСкладахОстатки.Склад
КОНЕЦ КАК Склад,
ВЫБОР
КОГДА ТоварыНаСкладахОстатки.КоличествоОстаток ЕСТЬ NULL
ТОГДА NULL
ИНАЧЕ ТоварыНаСкладахОстатки.КоличествоОстаток
КОНЕЦ КАК КоличествоОстаток,
ТоварыВРезервеНаСкладахОстатки.Склад КАК Склад1,
ТоварыВРезервеНаСкладахОстатки.Номенклатура КАК Номенклатура1,
ТоварыВРезервеНаСкладахОстатки.КоличествоОстаток
ИЗ
РегистрНакопления.ТоварыНаСкладах.Остатки(&ВыбДата, ) КАК ТоварыНаСкладахОстатки
Полное СОЕДИНЕНИЕ РегистрНакопления.ТоварыВРезервеНаСкладах.Остатки КАК ТоварыВРезервеНаСкладахОстатки
ПО ТоварыНаСкладахОстатки.Номенклатура = ТоварыВРезервеНаСкладахОстатки.Номенклатура
И ТоварыНаСкладахОстатки.Склад = ТоварыВРезервеНаСкладахОстатки.Склад
ГДЕ
ТоварыНаСкладахОстатки.Номенклатура = &Номенклатура
не работает
щас буду смотреть как объединение робит
ВЫБОР
КОГДА ТоварыНаСкладахОстатки.Номенклатура ЕСТЬ NULL
ТОГДА NULL
ИНАЧЕ ТоварыНаСкладахОстатки.Номенклатура
КОНЕЦ КАК Номенклатура,
ВЫБОР
КОГДА ТоварыНаСкладахОстатки.Склад ЕСТЬ NULL
ТОГДА NULL
ИНАЧЕ ТоварыНаСкладахОстатки.Склад
КОНЕЦ КАК Склад,
ВЫБОР
КОГДА ТоварыНаСкладахОстатки.КоличествоОстаток ЕСТЬ NULL
ТОГДА NULL
ИНАЧЕ ТоварыНаСкладахОстатки.КоличествоОстаток
КОНЕЦ КАК КоличествоОстаток,
ТоварыВРезервеНаСкладахОстатки.Склад КАК Склад1,
ТоварыВРезервеНаСкладахОстатки.Номенклатура КАК Номенклатура1,
ТоварыВРезервеНаСкладахОстатки.КоличествоОстаток
ИЗ
РегистрНакопления.ТоварыНаСкладах.Остатки(&ВыбДата, ) КАК ТоварыНаСкладахОстатки
Полное СОЕДИНЕНИЕ РегистрНакопления.ТоварыВРезервеНаСкладах.Остатки КАК ТоварыВРезервеНаСкладахОстатки
ПО ТоварыНаСкладахОстатки.Номенклатура = ТоварыВРезервеНаСкладахОстатки.Номенклатура
И ТоварыНаСкладахОстатки.Склад = ТоварыВРезервеНаСкладахОстатки.Склад
ГДЕ
ТоварыНаСкладахОстатки.Номенклатура = &Номенклатура
не работает
щас буду смотреть как объединение робит
(7)Спасибо друх!
ВЫБРАТЬ
ТоварыНаСкладахОстатки.Склад КАК Склад,
ТоварыНаСкладахОстатки.Номенклатура КАК Номенклатура,
ТоварыНаСкладахОстатки.КоличествоОстаток КАК КоличествоОстаток
ИЗ
РегистрНакопления.ТоварыНаСкладах.Остатки(&ВыбДата, Номенклатура = &Номенклатура) КАК ТоварыНаСкладахОстатки
Объединить все
ВЫБРАТЬ
ТоварыВРезервеНаСкладахОстатки.Склад КАК Склад,
ТоварыВРезервеНаСкладахОстатки.Номенклатура КАК Номенклатура,
ТоварыВРезервеНаСкладахОстатки.КоличествоОстаток *(-1) КАК КоличествоОстатокР
ИЗ
РегистрНакопления.ТоварыВРезервеНаСкладах.Остатки(&ВыбДата, Номенклатура = &Номенклатура ) КАК ТоварыВРезервеНаСкладахОстатки
ВЫБРАТЬ
ТоварыНаСкладахОстатки.Склад КАК Склад,
ТоварыНаСкладахОстатки.Номенклатура КАК Номенклатура,
ТоварыНаСкладахОстатки.КоличествоОстаток КАК КоличествоОстаток
ИЗ
РегистрНакопления.ТоварыНаСкладах.Остатки(&ВыбДата, Номенклатура = &Номенклатура) КАК ТоварыНаСкладахОстатки
Объединить все
ВЫБРАТЬ
ТоварыВРезервеНаСкладахОстатки.Склад КАК Склад,
ТоварыВРезервеНаСкладахОстатки.Номенклатура КАК Номенклатура,
ТоварыВРезервеНаСкладахОстатки.КоличествоОстаток *(-1) КАК КоличествоОстатокР
ИЗ
РегистрНакопления.ТоварыВРезервеНаСкладах.Остатки(&ВыбДата, Номенклатура = &Номенклатура ) КАК ТоварыВРезервеНаСкладахОстатки
Уапсче песня!
ВЫБРАТЬ
ТоварыНаСкладахОстатки.Склад КАК Склад,
ТоварыНаСкладахОстатки.Номенклатура КАК Номенклатура,
ТоварыНаСкладахОстатки.КоличествоОстаток КАК КоличествоОстаток,
0 как КоличествоОстатокР
ИЗ
РегистрНакопления.ТоварыНаСкладах.Остатки(&ВыбДата, Номенклатура = &Номенклатура) КАК ТоварыНаСкладахОстатки
Объединить все
ВЫБРАТЬ
ТоварыВРезервеНаСкладахОстатки.Склад КАК Склад,
ТоварыВРезервеНаСкладахОстатки.Номенклатура КАК Номенклатура,
0 как КоличествоОстаток,
ТоварыВРезервеНаСкладахОстатки.КоличествоОстаток КАК КоличествоОстатокР
ИЗ
РегистрНакопления.ТоварыВРезервеНаСкладах.Остатки(&ВыбДата, Номенклатура = &Номенклатура ) КАК ТоварыВРезервеНаСкладахОстатки
ВЫБРАТЬ
ТоварыНаСкладахОстатки.Склад КАК Склад,
ТоварыНаСкладахОстатки.Номенклатура КАК Номенклатура,
ТоварыНаСкладахОстатки.КоличествоОстаток КАК КоличествоОстаток,
0 как КоличествоОстатокР
ИЗ
РегистрНакопления.ТоварыНаСкладах.Остатки(&ВыбДата, Номенклатура = &Номенклатура) КАК ТоварыНаСкладахОстатки
Объединить все
ВЫБРАТЬ
ТоварыВРезервеНаСкладахОстатки.Склад КАК Склад,
ТоварыВРезервеНаСкладахОстатки.Номенклатура КАК Номенклатура,
0 как КоличествоОстаток,
ТоварыВРезервеНаСкладахОстатки.КоличествоОстаток КАК КоличествоОстатокР
ИЗ
РегистрНакопления.ТоварыВРезервеНаСкладах.Остатки(&ВыбДата, Номенклатура = &Номенклатура ) КАК ТоварыВРезервеНаСкладахОстатки
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот