Запрос и пустая таблица документа. #678854


#0 by ValeriTim
Есть табличная часть документа с полями номенклатура и количество. Надо, чтобы запрос при пустой табличной часть возвращал одну строку с пустой номенклатурой и количеством равным 0. Не могу понять как это сделать ...
#1 by exwill
Левое соединение + ВЫБОР ... КОГДА
#2 by ValeriTim
левое соединение с чем ?
#3 by exwill
Таблицы документов с таблицей табличной части.
#4 by MKZM
с самим собой
#5 by ValeriTim
Я не пока в запросе не обрабатываю сам документ, а только табличную часть. и что это даст? Пустая таблица с пустой в любом случае не вернет ни одной строки.
#6 by exwill
Вот и обрабатывай сам документ. А ты как хотел? Откуда ты возьмешь информации о документе с пустой таб. частью?
#7 by ValeriTim
Сейчас запрос выглядит так:
#8 by ValeriTim
Поясню. В документе две табличные части - Товары (Номенклатура, ПроцентНаценки) и Получатели (Контрагент, получатель) В итоге надо получить результирующую таблице, где к каждой строке из Товары шло по одной строке из Получатели. Загвоздка состоит в том, когда табличная часть Товары пуста - в этом случае там должна быть пустая номенклатура.
#9 by giallo
[ где к каждой строке из Товары шло по одной строке из Получатели.] не соответствует [ ЛЕВОЕ СОЕДИНЕНИЕ...ПО (ИСТИНА)]
#10 by Starhan
ЕстьNULL(Номенклатура, Значение(Справочник.Номенклатура.ПустаяССсылка))
#11 by 1Сергей
ТЧ Покупатели - это сильно
#12 by ValeriTim
когда табличные части заполнены как раз и соответствует. Это тоже не работает - табличная то часть пуста. что не так ?
#13 by giallo
просто у тебя в ТЧ Покупатели одна строка, будет несколько строк, тогда каждая строка с товаром из Товары размножится по числу строк в ТЧ получатели
#14 by ValeriTim
именно это и требуется. Я не правильно выразился выше. В ТЧ Товары 3 строки, в ТЧ Покупатели 2 строки - в результате запроса должно получится 6 строк.
#15 by 1Сергей
в любом случае надо соединять с самим документом, если ТЧ может быть пустой
#16 by giallo
тогда сделай правое соединение и
#17 by sirsp
Если получатели _всегда_ заполнены, достаточно в запросе поменять таблицы местами и использовать
#18 by ValeriTim
Все дело в том, что пустой может быть любая из ТЧ, но только одна. А получить результат надо выборки самого документа.
#19 by ValeriTim
Я изначально упростил саму задачу, чтобы легче было понять, так что не обращайте внимание на название табличных частей и реквизиты.
#20 by le_
Запрос выведет выбранные номенклатуру и количество, если ТЧ документа не заполнена:
#21 by giallo
Делай пакетный запрос 1 таб - таб часть товары 2 таб - таб часть получатели 3 запрос - левым содинением по истина эти первые две таб к таблице документа и
#22 by ValeriTim
да надо без таблицы документа это обработать ... а то бы я сделал ...
#23 by giallo
тогда сделай полное соединение по истина и
#24 by ValeriTim
попробовал - результат тот же ... щас еще одна идея появилась ...
#25 by giallo
тот же результат потому что условие ГДЕ Ссылка = &Ссылка делает соединение внутренним. Сделай как и полное соединение в третьем запросе
#26 by ValeriTim
, спасибо - попробуем
#27 by ValeriTim
Получилось. и даже применять не надо
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

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