Запрос из двух регистров. #498639


#0 by Смешной 1С
Проблемка с запросом. Необходимо выбрать данные по складам из двух регистров. В первом есть данные о 4 складах: 1, 2, 3, 4, Во втором о 3 складах, один из них не присутствует в первом: 3, 4, 5. Запросом нужно получить вывод: 2 - Количество 3 - Количество из первого регистра 4 - Количество из первого регистра 5 - Количество Как их соединить в одно поле не соображу... ВЫБРАТЬ РАЗЛИЧНЫЕ    РегТоварыНаСкладах.Номенклатура КАК Номенклатура, ИЗ В таком виде он в разные колонки выгружает
#1 by AndrewKiev
объедени два запроса - в первом выбери с одного регистра, потом ОБЪЕДИНИТЬ ВСЕ (ОБЪЕДИНИТЬ) и снова ВЫБРАТЬ, но уже со втрого регистра
#2 by Смешной 1С
Спасибо!
#3 by Смешной 1С
Я сделал так, все работает. Но результат такой: 1 - 3 шт 1 - 2 шт А как сделать, чтобы выбирал все из первого, и тех которых нет из второго?
#4 by 1C-Nick
СГРУППИРОВАТЬ
#5 by Смешной 1С
Мне количество важно. нужно то количество которое есть в первом и остальные из второго
#6 by 1C-Nick
как вариант во втором запросе сделать соединение с таблицей первого и в условие связи добавить ТаблицаПервогоРегиста.Количество ЕСТЬ NULL
#7 by 1C-Nick
приведи запрос - так легче будет
#8 by Смешной 1С
Вот запрос с объединением: ВЫБРАТЬ     РегТоварыНаСкладах.Номенклатура КАК Номенклатура,     РегТоварыНаСкладах.Склад КАК Склад,     РегТоварыНаСкладах.КоличествоОстаток КАК Количество ИЗ     РегистрСведений.ОстаткиНоменклатурыДляВыгрузкиНаСайт КАК ОстаткиНоменклатурыДляВыгрузкиНаСайт
#9 by 1C-Nick
что-то типа такого ВЫБРАТЬ     РегТоварыНаСкладах.Номенклатура КАК Номенклатура,     РегТоварыНаСкладах.КоличествоОстаток КАК Количество     ОстаткиНоменклатурыДляВыгрузкиНаСайт.Склад,     ВЫБОР КОГДА РегТоварыНаСкладах.Количество ЕСТЬ NULL ТОГДА ОстаткиНоменклатурыДляВыгрузкиНаСайт.Количество ИНАЧЕ 0 КОНЕЦ ИЗ     РегистрСведений.ОстаткиНоменклатурыДляВыгрузкиНаСайт КАК ОстаткиНоменклатурыДляВыгрузкиНаСайт ПРАВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки(&ДатаОтчета, ) КАК РегТоварыНаСкладах ПО ОстаткиНоменклатурыДляВыгрузкиНаСайт.Номенклатура = РегТоварыНаСкладах.Номенклатура И ОстаткиНоменклатурыДляВыгрузкиНаСайт.Склад = РегТоварыНаСкладах.Склад
#10 by 1C-Nick
тьфу, ЛЕВОЕ соединение
#11 by Смешной 1С
Не, так то же самое только количество стоит 0, т.е 1 - 3 шт 1 - 0 шт еще и номенклатура вся, по которой записи во втором регистре. А надо чтоб вообще не было записей
#12 by 1C-Nick
ну, так теперь засунь это все еще в один вложенный запрос, и оттуда бери с группиировкой по складу, записи схлопнуться, 3+0 даст 3. что и нужно. а по поводу номенклатуры можно сделать так: доавбить в запрос еще один параметр ... ОБЪЕДИНИТЬ ВЫБРАТЬ     ОстаткиНоменклатурыДляВыгрузкиНаСайт.Склад,     ВЫБОР КОГДА РегТоварыНаСкладах.Количество ЕСТЬ NULL ТОГДА ОстаткиНоменклатурыДляВыгрузкиНаСайт.Количество,     0 и в запросе выбирать где не равно 0
#13 by Смешной 1С
Спасибо. Дополнительного поля не потребовалась. После группировки номенклатура лишняя отпала сама.
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С