Имя: Пароль:
1C
1С v8
помогите с запросом
0 Paradox
 
31.07.12
11:24
Запрос.Текст =
   "ВЫБРАТЬ
   |    ТЗ.РБП,
   |    ТЗ.НаименованиеРасходаСсылка КАК НаименованиеРасходаСсылка,
   |    ТЗ.НаименованиеРасхода,
   |    СУММА(ТЗ.Сумма) КАК Сумма,
   //|    ВЫБОР
   //|        КОГДА ТЗ.Подразделение.Родитель = ЗНАЧЕНИЕ(Справочник.ПодразделенияОрганизаций.ПустаяСсылка)
   //|            ТОГДА ТЗ.Подразделение
   //|        ИНАЧЕ ВЫБОР
   //|                КОГДА ТЗ.Подразделение.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.ПодразделенияОрганизаций.ПустаяСсылка)
   //|                    ТОГДА ТЗ.Подразделение.Родитель
   //|                ИНАЧЕ ВЫБОР
   //|                        КОГДА ТЗ.Подразделение.Родитель.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.ПодразделенияОрганизаций.ПустаяСсылка)
   //|                            ТОГДА ТЗ.Подразделение.Родитель.Родитель
   //|                        ИНАЧЕ ТЗ.Подразделение
   //|                    КОНЕЦ
   //|            КОНЕЦ
   //|    КОНЕЦ КАК Подразделение,
   |    ТЗ.Дебет,
   |    ТЗ.НачалоСписания,
   |    ТЗ.ОкончаниеСписания,
   |    ТЗ.СтрокаНачалоСписанияОкончаниеСписания КАК СтрокаНачалоСписанияОкончаниеСписания,
   |    СУММА(ТЗ.ЕжемесячнаяСуммаРасхода) КАК ЕжемесячнаяСуммаРасхода
   |ИЗ
   |    ТЗ КАК ТЗ
   |
   |СГРУППИРОВАТЬ ПО
   |    ТЗ.РБП,
   |    ТЗ.НаименованиеРасходаСсылка,
   |    ТЗ.НаименованиеРасхода,
   //|    ВЫБОР
   //|        КОГДА ТЗ.Подразделение.Родитель = ЗНАЧЕНИЕ(Справочник.ПодразделенияОрганизаций.ПустаяСсылка)
   //|            ТОГДА ТЗ.Подразделение
   //|        ИНАЧЕ ВЫБОР
   //|                КОГДА ТЗ.Подразделение.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.ПодразделенияОрганизаций.ПустаяСсылка)
   //|                    ТОГДА ТЗ.Подразделение.Родитель
   //|                ИНАЧЕ ВЫБОР
   //|                        КОГДА ТЗ.Подразделение.Родитель.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.ПодразделенияОрганизаций.ПустаяСсылка)
   //|                            ТОГДА ТЗ.Подразделение.Родитель.Родитель
   //|                        ИНАЧЕ ТЗ.Подразделение
   //|                    КОНЕЦ
   //|            КОНЕЦ
   //|    КОНЕЦ,
   |    ТЗ.Дебет,
   |    ТЗ.НачалоСписания,
   |    ТЗ.ОкончаниеСписания,
   |    ТЗ.СтрокаНачалоСписанияОкончаниеСписания
   |ИТОГИ
   |    СУММА(Сумма),
   |    СУММА(ЕжемесячнаяСуммаРасхода)
   |ПО
   |    НаименованиеРасходаСсылка,
   |    СтрокаНачалоСписанияОкончаниеСписания";

SQL-сервер при выполнении этого запроса выдает ошибку: http://i42.fastpic.ru/big/2012/0731/a8/3689b57e5c3cbd781d0bc4e76ec9e8a8.jpg
Если в запросе убрать комментарий, то выведется ошибка. SQL грит что превышенно количество регулярных выражений.
Как можно оптимизировать данный участок в запросе, подскажите плиз. Запрос не мой, написан конечно немного кривовато по отношению к полю "Родитель"...
1 szhukov
 
31.07.12
11:25
Что такое ТЗ?
2 Paradox
 
31.07.12
11:26
блин, криво ссылку вставил...
(1) В ТЗ находятся данные из таблицы оборотов регистра бухгалтерии...могу привести и этот запрос, если он требуется.
3 szhukov
 
31.07.12
11:28
(2)не надо
А если просто пишешь
Выбор
 Когда
 Когда
Конец

без иначе?
4 Paradox
 
31.07.12
11:32
чудеса, поправил и заработало...интересно чем ему мешало ИНАЧЕ...
5 Paradox
 
31.07.12
11:32
(3) Спасибо большое за помощь!
6 ILM
 
гуру
31.07.12
11:33
В пакет засунь.  
1) Сначала без итогов в темп.
2) Потом уже сгруппировать и итоги.
Будет легче и быстрее. При группировке не будет делать разбор 2-й раз.
7 szhukov
 
31.07.12
11:35
(4) Ограничение на количество вложенных Выбор'ов в запросе
8 Paradox
 
31.07.12
11:35
(6) тоже попробую, спасибо
9 Paradox
 
31.07.12
11:38
проблема решена, спасибо друзья. Оба варианта рабочие, проверил.
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.