Имя: Пароль:
1C
1С v8
К чему такой запрос?
0 maxt
 
20.03.12
09:33
Нашел вот такой запрос с вложениями:

ВЫБРАТЬ
   ОстаткиРегистратор.Счет,
   ОстаткиРегистратор.Регистратор.Дата КАК Период,
   ОстаткиРегистратор.Регистратор КАК Регистратор,
   ОстаткиРегистратор.Субконто1,
   ОстаткиРегистратор.Субконто2,
   ОстаткиРегистратор.СуммаКонечныйОстатокКт КАК СуммаКонечныйОстаток
ИЗ
   (ВЫБРАТЬ
       Остатки.Счет КАК Счет,
       Остатки.Регистратор КАК Регистратор,
       Остатки.Субконто1 КАК Субконто1,
       Остатки.Субконто2 КАК Субконто2,
       Остатки.СуммаКонечныйОстатокКт КАК СуммаКонечныйОстатокКт
   ИЗ
       (ВЫБРАТЬ
           ХозрасчетныйОстаткиИОбороты.Счет КАК Счет,
           ХозрасчетныйОстаткиИОбороты.Субконто1 КАК Субконто1,
           ХозрасчетныйОстаткиИОбороты.Субконто2 КАК Субконто2,
           ХозрасчетныйОстаткиИОбороты.СуммаКонечныйОстатокКт КАК СуммаКонечныйОстатокКт
       ИЗ
           РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(&НачалоПериода, &КонецПериода, Период, , Счет = &СчетКт, , ) КАК ХозрасчетныйОстаткиИОбороты
       ГДЕ
           ХозрасчетныйОстаткиИОбороты.СуммаКонечныйОстатокКт > 0) КАК Контрагенты
           ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
               ХозрасчетныйОстаткиИОбороты.Счет КАК Счет,
               ХозрасчетныйОстаткиИОбороты.Субконто1 КАК Субконто1,
               ХозрасчетныйОстаткиИОбороты.Субконто2 КАК Субконто2,
               ХозрасчетныйОстаткиИОбороты.СуммаКонечныйОстатокКт КАК СуммаКонечныйОстатокКт,
               ХозрасчетныйОстаткиИОбороты.Регистратор КАК Регистратор
           ИЗ
               РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(&НачалоПериода, &КонецПериода, Регистратор, , Счет = &СчетКт, , ) КАК ХозрасчетныйОстаткиИОбороты
           ГДЕ
               ХозрасчетныйОстаткиИОбороты.СуммаКонечныйОстатокКт > 0) КАК Остатки
           ПО Контрагенты.Счет = Остатки.Счет
               И Контрагенты.Субконто1 = Остатки.Субконто1
               И Контрагенты.Субконто2 = Остатки.Субконто2) КАК ОстаткиРегистратор
ГДЕ
   ЕСТЬNULL(ОстаткиРегистратор.Регистратор, 0) <> 0

УПОРЯДОЧИТЬ ПО
   Период

И хоть убейте, не могу понять, для чего такие вложения нужны???
Поясните плиз, мозг уже взрывается..
1 butterbean
 
20.03.12
09:37
не нужны
2 maxt
 
20.03.12
09:38
(1) спасибо добрый человек! (упал ниц и бью челом :) )
3 Ненавижу 1С
 
гуру
20.03.12
09:40
особенно порадовало:


ГДЕ
   ЕСТЬNULL(ОстаткиРегистратор.Регистратор, 0) <> 0
4 maxt
 
20.03.12
09:42
(3) да. настолько круто, что я долго был уверен, что в этом что-то есть.
консоль запросов затер до дыр
5 pessok
 
20.03.12
09:45
тешишь ЧСВ, разглядывая код предыдущего программиста? :) запрос, конечно, мощен, спору нет
6 Explorer1c
 
20.03.12
09:47
Ниче не понял зачем по периоду и по регистратору объединять два запроса
7 maxt
 
20.03.12
09:51
(5) что такое ЧСВ не понял, но просто запрос в обработке, обработка работает не правильно. мне нужно разобраться и исправить. исправить это я не могу, просто напишу свою обработку с нуля
8 pessok
 
20.03.12
09:54
(7) запрос монструозный. какой цели пытался добиться программист то? проще, наверное, действительно переписать
9 Explorer1c
 
20.03.12
09:54
(7)Погоди,новое написать всегда успеем,что работает неправильно? Что требуется от запроса?
10 Нуф-Нуф
 
20.03.12
09:56
тут недавно тоже один фанат вложенных проскакивал...
я бы руки отрубал.

(3)+1. феерично
11 maxt
 
20.03.12
09:56
(8) сам не знаю. мозг уже кипит, потому спросил здесь, может, я чего не догоняю???
но видимо, так и есть, лажа полная
кстати, в обработке 3 таких "шедевра".

ЧСВ - чувство собственного величия?
12 maxt
 
20.03.12
09:57
(9) все неправильно! :)
обработка должна закрывать реализацию товаров и поступление оплаты в разрезе контрагентов и договоров за период.
13 АцкийЖипер
 
20.03.12
09:59
(6) Где ты в коде увидел объединение двух запросов?
14 Explorer1c
 
20.03.12
10:04
(12)Послушай ,интресный запрос-ошибка в том,что в первом соединении используется периодничность "период" а во втором "регистратор"-очевидно ,что достаточно лишь второго соединения по регистратору,с сустановкой итогов по Регистратор.Дата,Ура,я крут!
15 Explorer1c
 
20.03.12
10:05
(13)Левое соединение-это объединение двух запросов
16 maxt
 
20.03.12
10:07
(14) :)
подкинуть тебе еще 2 шедевра?
17 БибиГон
 
20.03.12
10:15
(16) давай :) только выкладывай сюда http://govnokod.ru в разделе 1с чтобы код был читаемый
18 АцкийЖипер
 
20.03.12
10:20
(15) Это соединение, а объединение - это совсем другое. На курсы тебе.
19 АцкийЖипер
 
20.03.12
10:31
+(18) Причем СОединяются они по полям - счет, субконто1, субконто2. А по периоду верхний запрос УПОРЯДОЧИВАЕТСЯ.
20 Explorer1c
 
20.03.12
10:48
(16)Напиши здесь,очень интересно
21 Ненавижу 1С
 
гуру
20.03.12
10:52
к дождю
22 maxt
 
20.03.12
12:19
(17,20) да нет, извините, не буду форум засорять.
смысла править никакого нет, перепишу все заново.

если хотите поржать, могу выслать обработку челиком на мыло
23 maxt
 
20.03.12
12:20
(22) целиком
24 Explorer1c
 
20.03.12
12:43
(23)Куле ты ломаешься как девочка ,мне итак плохо- в столовке накормили какой то куйней,еще ты меня злишь,выкладывай тебе говорят!
25 maxt
 
20.03.12
13:08
(24) ты смайлик забыл поставить?