Имя: Пароль:
1C
1С v8
Объединить 2 запроса и удалить пустые значения
, ,
0 Medved_1
 
25.08.11
16:05
Надо получить состав заказа покупателя с расшифровкой номенклатуры-комплекта в той же колонке.

Есть такой запросец:

ВЫБРАТЬ
   ЗаказыПокупателейОстатки.ЗаказПокупателя,
   ЗаказыПокупателейОстатки.Номенклатура,
   ЗаказыПокупателейОстатки.ХарактеристикаНоменклатуры
ПОМЕСТИТЬ СоставЗаказа
ИЗ
   РегистрНакопления.ЗаказыПокупателей.Остатки(&ДатаОстатков, ЗаказПокупателя ССЫЛКА Документ.ЗаказПокупателя) КАК ЗаказыПокупателейОстатки
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   СоставЗаказа.ЗаказПокупателя,
   СоставЗаказа.Номенклатура,
   СоставЗаказа.ХарактеристикаНоменклатуры,
   КомплектующиеНоменклатуры.Комплектующая,
   КомплектующиеНоменклатуры.ХарактеристикаКомплектующей
ПОМЕСТИТЬ Комплекты
ИЗ
   СоставЗаказа КАК СоставЗаказа
       ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КомплектующиеНоменклатуры КАК КомплектующиеНоменклатуры
       ПО СоставЗаказа.Номенклатура = КомплектующиеНоменклатуры.Номенклатура
           И СоставЗаказа.ХарактеристикаНоменклатуры = КомплектующиеНоменклатуры.ХарактеристикаНоменклатуры
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   СоставЗаказа.ЗаказПокупателя КАК ЗаказПокупателя,
   СоставЗаказа.Номенклатура,
   СоставЗаказа.ХарактеристикаНоменклатуры,
   "1" как Запрос
ИЗ
   СоставЗаказа КАК СоставЗаказа

ОБЪЕДИНИТЬ

ВЫБРАТЬ
   Комплекты.ЗаказПокупателя,
   Комплекты.Комплектующая,
   Комплекты.ХарактеристикаКомплектующей,
   "2"
ИЗ
   Комплекты КАК Комплекты
ИТОГИ ПО
   ЗаказПокупателя

Результат:
Заказ покупателя 00000000003 от 01.07.2011 12:00:01            
Заказ покупателя 00000000003 от 01.07.2011 12:00:01            2
Заказ покупателя 00000000003 от 01.07.2011 12:00:01    Уплотнитель 270*110*8    LF751D, 98    1
Заказ покупателя 00000000003 от 01.07.2011 12:00:01    Накладка износостойкая    LF751D, D75    1

И явно вижу что из второго запроса "прилетают" пустые номенклатуры, когда в заказе нет комплектов изначально.
Как от таких строк избавиться средствами запроса?
1 Medved_1
 
25.08.11
16:05
ЗЫ: форум вкуривал седни день. Книшку по запросам посеял :(
2 mikecool
 
25.08.11
16:06
никак
даже группировка не уберет, все равно одна строка с пустой номенклатурой будет
3 Medved_1
 
25.08.11
16:09
(2) Есть идея как "собрать" данные по комплекту и "впихнуть" их в заказ?
4 Ненавижу 1С
 
гуру
25.08.11
16:10
ВНУТРЕННЕЕ СОЕДИНЕНИЕ юзать вместо ЛЕВОЕ?
5 mikecool
 
25.08.11
16:12
(3) нет
6 Medved_1
 
25.08.11
16:14
(4) И что это даст?
Тем более, что мне:
а) не нужны дополнительные колонки.
б) надо и сам комплект показать в заказе
7 mikecool
 
25.08.11
16:14
(6) группируй и не парься, нет комплекта - и что с того?
8 Medved_1
 
25.08.11
16:17
(7) В СКД "вылазиет" пустая строка :(
9 Ненавижу 1С
 
гуру
25.08.11
16:18
(6) что даст? не будет пустых комплектующих
10 Medved_1
 
25.08.11
16:19
(4) пиляд... я тупоооой...

БИГ СЕНЬКС !!!!!!!!!!!!!!
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший