Имя: Пароль:
1C
1С v8
Почему очень долго выполняется запрос
,
0 sdaf
 
26.03.12
15:59
ВЫБРАТЬ
   РеализацияТоваровУслуг.Ссылка,
   РеализацияТоваровУслуг.Представление,
   РеализацияТоваровУслуг.Контрагент,
   ПРЕДСТАВЛЕНИЕ(РеализацияТоваровУслуг.Контрагент),
   РеализацияТоваровУслуг.Дата,
   СУММА(ВложенныйЗапрос.Количество) КАК Количество,
   ВложенныйЗапрос.Ссылка.АдресДоставки
ИЗ
   Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
       ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
           РеализацияТоваровУслугТовары.Количество КАК Количество,
           РеализацияТоваровУслугТовары.Ссылка КАК Ссылка,
           ПРЕДСТАВЛЕНИЕ(РеализацияТоваровУслугТовары.Ссылка) КАК СсылкаПредставление
       ИЗ
           Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары) КАК ВложенныйЗапрос
       ПО РеализацияТоваровУслуг.Товары.Ссылка = ВложенныйЗапрос.Ссылка

СГРУППИРОВАТЬ ПО
   РеализацияТоваровУслуг.Ссылка,
   РеализацияТоваровУслуг.Представление,
   РеализацияТоваровУслуг.Контрагент,
   РеализацияТоваровУслуг.Дата,
   ВложенныйЗапрос.Ссылка.АдресДоставки

вроде простой запросец а зависает напрочь, где ошибка?
1 butterbean
 
26.03.12
16:01
убрать СсылкаПредставление из вложенного запроса
сгруппировать вложенный запрос по ссылке
адрес доставки брать из первой таблицы
2 Reset
 
26.03.12
16:02
Убрать первую таблицу совсем :)
3 and2
 
26.03.12
16:03
убрать документ совсем и посмотреть по регистру
4 golden-pack
 
26.03.12
16:03
(1) слона не заметил
5 butterbean
 
26.03.12
16:04
(4)+ да :-), и соединять по РеализацияТоваровУслуг.Ссылка
6 sdaf
 
26.03.12
16:06
оу скока советов, спасиб ща попробую
7 Axel2009
 
26.03.12
16:09
ВЫБРАТЬ
   РеализацияТоваровУслуг.Ссылка,
   РеализацияТоваровУслуг.Представление,
   РеализацияТоваровУслуг.Контрагент,
   ПРЕДСТАВЛЕНИЕ(РеализацияТоваровУслуг.Контрагент),
   РеализацияТоваровУслуг.Дата,
   РеализацияТоваровУслуг.АдресДоставки,
   ВложенныйЗапрос.Количество КАК Количество
ИЗ
   Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
       ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
           СУММА(РеализацияТоваровУслугТовары.Количество) КАК Количество,
           РеализацияТоваровУслугТовары.Ссылка КАК Ссылка
       ИЗ
           Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
СГРУППИРОВАТЬ ПО РеализацияТоваровУслугТовары.Ссылка) КАК ВложенныйЗапрос
       ПО РеализацияТоваровУслуг.Ссылка = ВложенныйЗапрос.Ссылка

тот еще кодер
8 sdaf
 
26.03.12
16:09
помогло соединение по РеализацияТоваровУслуг.Ссылка, спал 4 часа не соображаю совсем, спасибо
9 zak555
 
26.03.12
16:09
выбирать только ТЧ
у ТЧ есть ссылка, через которую через точку можно обращаться к шапке
10 Axel2009
 
26.03.12
16:10
(9) а если в документе 0 строк?
11 Maxus43
 
26.03.12
16:10
соединение с вложенным - зло
12 sdaf
 
26.03.12
16:15
не стал бы делать по документам, но нужны и непроведенные тож
13 zak555
 
26.03.12
16:15
ВЫБРАТЬ
   РеализацияТоваровУслугТовары.Ссылка КАК Документ,    
   РеализацияТоваровУслугТовары.Ссылка.Контрагент КАК Контрагент,    
   РеализацияТоваровУслугТовары.Ссылка.Дата,
   СУММА(РеализацияТоваровУслугТовары.Количество) КАК Количество,
   РеализацияТоваровУслугТовары.Ссылка.АдресДоставки    
ИЗ
   Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары

СГРУППИРОВАТЬ ПО
   РеализацияТоваровУслуг.Ссылка,    
   РеализацияТоваровУслуг.Контрагент,
   РеализацияТоваровУслуг.Дата,
   ВложенныйЗапрос.Ссылка.АдресДоставки
14 zak555
 
26.03.12
16:15
(10) условие на нуль ставь и всё
15 Axel2009
 
26.03.12
16:17
(14) где условие?
16 Axel2009
 
26.03.12
16:17
(8) это не отмаз. иди проспись, чем плохокодить
17 Reset
 
26.03.12
16:20
(14) Если табличная часть пуста, она просто в запрос не попадет (ее просто нет в физ таблице). Т.е. если нужны документы с отсутвием, придется перебирать основную таблицу (и вот там уже количество на null проверять)
18 zak555
 
26.03.12
16:20
(15) на итогах
количество строк
19 Axel2009
 
26.03.12
16:20
(17) а зачем проверять?
20 Axel2009
 
26.03.12
16:20
(18) ну иди проверь, потом поговорим
21 zak555
 
26.03.12
16:21
(17) точно

не так прочил вопрос
22 Reset
 
26.03.12
16:21
(19) Для чистоты, чтобы в результате работы запроса иметь 0, а не null. Так просто приличней. Имхо.
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший