Имя: Пароль:
1C
 
Как в запросе проверить заполнена ли табличная часть
0 Север
 
22.04.09
14:41
Привет, помогите как в запросе проверить заполнена ли табличная часть в документе
1 Salvador Limones
 
22.04.09
14:42
Например, с помощью ИМЕЮЩИЕ
2 tsr
 
22.04.09
14:49
Я бы с помощью КОЛИЧЕСТВО проверил
3 73
 
22.04.09
14:51
Если есть левое соединение с ней - можно проверить на Null.
4 Север
 
22.04.09
14:55
А через КОЛИЧЕСТВО попотробней можно?
5 tsr
 
22.04.09
15:01
ВЫБРАТЬ
   ЕСТЬNULL(ВложенныйЗапрос.КоличествоСтрок, 0) КАК СтрокВТабЧасти
ИЗ
   Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
       ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
           РеализацияТоваровУслугТовары.Ссылка КАК Ссылка,
           СУММА(1) КАК КоличествоСтрок
       ИЗ
           Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
       
       СГРУППИРОВАТЬ ПО
           РеализацияТоваровУслугТовары.Ссылка) КАК ВложенныйЗапрос
       ПО РеализацияТоваровУслуг.Ссылка = ВложенныйЗапрос.Ссылка
6 yorick
 
22.04.09
15:04
ВЫБРАТЬ
   КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ОтчетОРозничныхПродажахТовары.НомерСтроки) КАК НомерСтроки,
   ОтчетОРозничныхПродажахТовары.Ссылка
ИЗ
   Документ.ОтчетОРозничныхПродажах.Товары КАК ОтчетОРозничныхПродажахТовары
ГДЕ
   ОтчетОРозничныхПродажахТовары.Ссылка.Дата МЕЖДУ &ДатаНач И &ДатаКон

СГРУППИРОВАТЬ ПО
   ОтчетОРозничныхПродажахТовары.Ссылка

ИМЕЮЩИЕ
   КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ОтчетОРозничныхПродажахТовары.НомерСтроки) > 0
7 Terv
 
22.04.09
15:05
способ в (3) лучше
8 tsr
 
22.04.09
15:06
(7) Без разницы. Зато можно сразу и количество строк узнать, если нужно
9 Север
 
22.04.09
15:08
Все понял большое спасибо
10 73
 
22.04.09
15:21
(5) Если уж считать количество, то зачем вложенный запрос?
Не проще ли:

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

СГРУППИРОВАТЬ ПО
   ЗаказПокупателя.Ссылка
11 fisher
 
22.04.09
15:24
Еще вариант (без доп. соединений и группировок):
ВЫБРАТЬ
   МойДокумент.Ссылка,
   ВЫБОР
       КОГДА 1 В
               (ВЫБРАТЬ ПЕРВЫЕ 1
                   1
               ИЗ
                   Документ.МойДокумент.МояТЧ КАК МояТЧ
               ГДЕ
                   МояТЧ.Ссылка = МойДокумент.Ссылка)
           ТОГДА ИСТИНА
       ИНАЧЕ ЛОЖЬ
   КОНЕЦ КАК ЕстьТЧ
ИЗ
   Документ.МойДокумент КАК МойДокумент