Ошибка: Выражения case могут быть вложенными только до уровня 10 #639121


#0 by Хрущёв
При формировании отчета на СКД появляется такая ошибка. Отчет типовой и в демо базе при таких же настройках всё работает нормально. Смотрел запрос, 10 case там нет. Есть идеи в чём может быть дело?
#1 by shuhard
[Смотрел запрос, 10 case там нет.] смотреть надо на сиквеле
#2 by Хрущёв
Подскажете как до него там добраться?
#3 by rs_trade
раздел замечания
#4 by shuhard
ты про DB2 конечно ?
#5 by МихаилМ
либо настроить технологический журнал либо запустить трассировку субд
#6 by rs_trade
покажи запрос.
#7 by Хрущёв
ВЫБРАТЬ                        СчетаРасчетов)                ИЛИ ЕПСБУ.Ссылка В                    (ВЫБРАТЬ                        СчетаАвансов.СчетЕПСБУ    ВЫБОР        КОГДА ЕПСБУДвиженияССубконто.СчетКт В                    (ВЫБРАТЬ                        СчетаРасчетов.СчетЕПСБУ                    ИЗ                        СчетаРасчетов)                ИЛИ ЕПСБУДвиженияССубконто.СчетКт В                    (ВЫБРАТЬ                        СчетаАвансов.СчетЕПСБУ                    ИЗ    ВЫБОР        КОГДА ЕПСБУДвиженияССубконто.СчетКт В                    (ВЫБРАТЬ                        СчетаРасчетов.СчетЕПСБУ                    ИЗ                        СчетаРасчетов)                ИЛИ ЕПСБУДвиженияССубконто.СчетКт В                    (ВЫБРАТЬ                        СчетаАвансов.СчетЕПСБУ                    ИЗ                    КОГДА ЕПСБУДвиженияССубконто.СубконтоКт3 ССЫЛКА Справочник.Договоры                КОГДА ЕПСБУДвиженияССубконто.СубконтоДт3 ССЫЛКА Справочник.Договоры    ВЫБОР        КОГДА ЕПСБУДвиженияССубконто.СчетКт В                    (ВЫБРАТЬ                        СчетаРасчетов.СчетЕПСБУ                    ИЗ                        СчетаРасчетов)                ИЛИ ЕПСБУДвиженияССубконто.СчетКт В                    (ВЫБРАТЬ                        СчетаАвансов.СчетЕПСБУ                    ИЗ                    КОГДА ЕПСБУДвиженияССубконто.СубконтоКт2 ССЫЛКА Справочник.Контрагенты                КОГДА ЕПСБУДвиженияССубконто.СубконтоДт2 ССЫЛКА Справочник.Контрагенты    ВЫБОР        КОГДА ЕПСБУДвиженияССубконто.СчетКт В                (ВЫБРАТЬ                    СчетаРасчетов.СчетЕПСБУ                ИЗ                    КОГДА ЕПСБУДвиженияССубконто.СубконтоДт2 ССЫЛКА Справочник.Номенклатура                            КОГДА ЕПСБУДвиженияССубконто.СубконтоДт2 ССЫЛКА Справочник.ОсновныеСредства                                    КОГДА ЕПСБУДвиженияССубконто.СубконтоДт3 ССЫЛКА Справочник.Номенклатура                                            КОГДА ЕПСБУДвиженияССубконто.СубконтоДт3 ССЫЛКА Справочник.ОсновныеСредства    ВЫБОР        КОГДА ЕПСБУДвиженияССубконто.СубконтоКт3 ССЫЛКА Справочник.ВидыЦелевыхСредств        ИНАЧЕ ВЫБОР                КОГДА ЕПСБУДвиженияССубконто.СубконтоКт4 ССЫЛКА Справочник.ВидыЦелевыхСредств                        КОГДА ЕПСБУДвиженияССубконто.СубконтоДт3 ССЫЛКА Справочник.ВидыЦелевыхСредств                                КОГДА ЕПСБУДвиженияССубконто.СубконтоДт4 ССЫЛКА Справочник.ВидыЦелевыхСредств    ВЫБОР        КОГДА ЕПСБУДвиженияССубконто.СубконтоКт3 ССЫЛКА Справочник.Мероприятия        ИНАЧЕ ВЫБОР                КОГДА ЕПСБУДвиженияССубконто.СубконтоКт4 ССЫЛКА Справочник.Мероприятия                        КОГДА ЕПСБУДвиженияССубконто.СубконтоДт3 ССЫЛКА Справочник.Мероприятия                                КОГДА ЕПСБУДвиженияССубконто.СубконтоДт4 ССЫЛКА Справочник.Мероприятия    ВЫБОР        КОГДА ЕПСБУДвиженияССубконто.СубконтоКт3 ССЫЛКА Справочник.ДополнительнаяБюджетнаяКлассификация        ИНАЧЕ ВЫБОР                КОГДА ЕПСБУДвиженияССубконто.СубконтоКт4 ССЫЛКА Справочник.ДополнительнаяБюджетнаяКлассификация                        КОГДА ЕПСБУДвиженияССубконто.СубконтоДт3 ССЫЛКА Справочник.ДополнительнаяБюджетнаяКлассификация                                КОГДА ЕПСБУДвиженияССубконто.СубконтоДт4 ССЫЛКА Справочник.ДополнительнаяБюджетнаяКлассификация    ВЫБОР        КОГДА ЕПСБУДвиженияССубконто.СубконтоКт3 ССЫЛКА Справочник.НаправленияДеятельности        ИНАЧЕ ВЫБОР                КОГДА ЕПСБУДвиженияССубконто.СубконтоКт4 ССЫЛКА Справочник.НаправленияДеятельности                        КОГДА ЕПСБУДвиженияССубконто.СубконтоДт3 ССЫЛКА Справочник.НаправленияДеятельности                                КОГДА ЕПСБУДвиженияССубконто.СубконтоДт4 ССЫЛКА Справочник.НаправленияДеятельности    ВЫБОР        КОГДА ЕПСБУДвиженияССубконто.СчетКт В                (ВЫБРАТЬ                    СчетаРасчетов.СчетЕПСБУ                ИЗ                    КОГДА ЕПСБУДвиженияССубконто.СубконтоДт2 ССЫЛКА Справочник.Номенклатура                            ИЛИ ЕПСБУДвиженияССубконто.СубконтоДт2 ССЫЛКА Справочник.ОсновныеСредства                            КОГДА ЕПСБУДвиженияССубконто.СубконтоДт3 ССЫЛКА Справочник.Номенклатура                                    ИЛИ ЕПСБУДвиженияССубконто.СубконтоДт3 ССЫЛКА Справочник.ОсновныеСредства                КОГДА ЕПСБУДвиженияССубконто.СчетДт В                            СчетаРасчетов.СчетЕПСБУ                        ИЗ                            КОГДА ЕПСБУДвиженияССубконто.СубконтоКт2 ССЫЛКА Справочник.Номенклатура                                    ИЛИ ЕПСБУДвиженияССубконто.СубконтоКт2 ССЫЛКА Справочник.ОсновныеСредства                                    КОГДА ЕПСБУДвиженияССубконто.СубконтоКт3 ССЫЛКА Справочник.Номенклатура                                            ИЛИ ЕПСБУДвиженияССубконто.СубконтоКт3 ССЫЛКА Справочник.ОсновныеСредства    ВЫБОР        КОГДА ЕПСБУДвиженияССубконто.СчетДт В                    (ВЫБРАТЬ                        СчетаРасчетов.СчетЕПСБУ                    ИЗ                        СчетаРасчетов)                И ЕПСБУДвиженияССубконто.СчетКт В                    (ВЫБРАТЬ                        СчетаОплаты.СчетЕПСБУ                    ИЗ        КОГДА ЕПСБУДвиженияССубконто.СчетКт В                        СчетаРасчетов.СчетЕПСБУ                    ИЗ                        СчетаРасчетов)                И НЕ ЕПСБУДвиженияССубконто.СчетДт В                        (ВЫБРАТЬ                            СчетаАвансов.СчетЕПСБУ                        ИЗ                            СчетаАвансов)                И НЕ ЕПСБУДвиженияССубконто.СчетДт В                        (ВЫБРАТЬ                            СчетаОплаты.СчетЕПСБУ                        ИЗ        КОГДА ЕПСБУДвиженияССубконто.СчетДт В                        СчетаАвансов.СчетЕПСБУ                    ИЗ                        СчетаАвансов)                И ЕПСБУДвиженияССубконто.СчетКт В                    (ВЫБРАТЬ                        СчетаОплаты.СчетЕПСБУ                    ИЗ        КОГДА ЕПСБУДвиженияССубконто.СчетКт В                        СчетаАвансов.СчетЕПСБУ                    ИЗ                        СчетаАвансов)                И ЕПСБУДвиженияССубконто.СчетДт В                    (ВЫБРАТЬ                        СчетаРасчетов.СчетЕПСБУ                    ИЗ                КОГДА ЕПСБУДвиженияССубконто.СчетДт В                                СчетаАвансов.СчетЕПСБУ                            ИЗ                                СчетаАвансов)                        И ЕПСБУДвиженияССубконто.СчетКт В                            (ВЫБРАТЬ                                СчетаРасчетов.СчетЕПСБУ                            ИЗ    ВЫБОР        КОГДА ЕПСБУДвиженияССубконто.СчетКт В                    (ВЫБРАТЬ                        СчетаРасчетов.СчетЕПСБУ                    ИЗ                        СчетаРасчетов)                И ЕПСБУДвиженияССубконто.СчетДт В                    (ВЫБРАТЬ                        СчетаОплаты.СчетЕПСБУ                    ИЗ        КОГДА ЕПСБУДвиженияССубконто.СчетКт В                        СчетаАвансов.СчетЕПСБУ                    ИЗ                        СчетаАвансов)                И ЕПСБУДвиженияССубконто.СчетДт В                    (ВЫБРАТЬ                        СчетаОплаты.СчетЕПСБУ                    ИЗ        КОГДА НЕ ЕПСБУДвиженияССубконто.СчетКт В                            СчетаОплаты.СчетЕПСБУ                        ИЗ                            СчетаОплаты)                И НЕ ЕПСБУДвиженияССубконто.СчетКт В                        (ВЫБРАТЬ                            СчетаАвансов.СчетЕПСБУ                        ИЗ                            СчетаАвансов)                И ЕПСБУДвиженияССубконто.СчетДт В                    (ВЫБРАТЬ                        СчетаРасчетов.СчетЕПСБУ                    ИЗ                            СчетаРасчетов)                    ИЛИ Счет В                        (ВЫБРАТЬ                            СчетаАвансов.СчетЕПСБУ                        ИЗ                            СчетаАвансов))                И Субконто3 ССЫЛКА Справочник.Договоры,                    И НЕ ЕПСБУДвиженияССубконто.СчетДт В                                СчетаРасчетов.СчетЕПСБУ                            ИЗ                ИЛИ ЕПСБУДвиженияССубконто.СчетДт = СоответствияАналитическихСчетовКОСГУ.Счет                    И НЕ ЕПСБУДвиженияССубконто.СчетКт В                            (ВЫБРАТЬ                                СчетаРасчетов.СчетЕПСБУ                            ИЗ    ВЫБОР        КОГДА ЕПСБУОстаткиИОбороты.Счет В                (ВЫБРАТЬ                    СчетаАвансов.СчетЕПСБУ                ИЗ        КОГДА ЕПСБУОстаткиИОбороты.Счет В                    СчетаРасчетов.СчетЕПСБУ                ИЗ    ВЫБОР        КОГДА ЕПСБУОстаткиИОбороты.Субконто4 ССЫЛКА Справочник.ВидыЦелевыхСредств    ВЫБОР        КОГДА ЕПСБУОстаткиИОбороты.Субконто4 ССЫЛКА Справочник.Мероприятия    ВЫБОР        КОГДА ЕПСБУОстаткиИОбороты.Субконто4 ССЫЛКА Справочник.ДополнительнаяБюджетнаяКлассификация    ВЫБОР        КОГДА ЕПСБУОстаткиИОбороты.Субконто4 ССЫЛКА Справочник.НаправленияДеятельности    0,    0,    0,    0,    0,    ВЫБОР        КОГДА ЕПСБУОстаткиИОбороты.Счет В                (ВЫБРАТЬ                    СчетаАвансов.СчетЕПСБУ                ИЗ        КОГДА ЕПСБУОстаткиИОбороты.Счет В                    СчетаАвансов.СчетЕПСБУ                ИЗ        КОГДА ЕПСБУОстаткиИОбороты.Счет В                    СчетаРасчетов.СчетЕПСБУ                ИЗ        КОГДА ЕПСБУОстаткиИОбороты.Счет В                    СчетаРасчетов.СчетЕПСБУ                ИЗ    0,    0,    0,    0,    0 ИЗ    РегистрБухгалтерии.ЕПСБУ.ОстаткиИОбороты(            &НачалоПериода,                        СчетаРасчетов)                ИЛИ Счет В                    (ВЫБРАТЬ                        СчетаАвансов.СчетЕПСБУ                    ИЗ                        СчетаАвансов),            ,    ПланФинансированияОбязательствСрезПоследних.Договор,    ПланФинансированияОбязательствСрезПоследних.Договор.Контрагент,    ПланФинансированияОбязательствСрезПоследних.Номенклатура,    ПланФинансированияОбязательствСрезПоследних.КодЦели,    ПланФинансированияОбязательствСрезПоследних.КодМероприятия,    ПланФинансированияОбязательствСрезПоследних.ДопКлассификация,    ПланФинансированияОбязательствСрезПоследних.Договор.НаправлениеДеятельности,    0,    0,    0,    0,    0,    0,    0,    0,    0,    ПланФинансированияОбязательствСрезПоследних.ПериодПлана,    ПланФинансированияОбязательствСрезПоследних.Количество,    ПланФинансированияОбязательствСрезПоследних.СуммаВРублях,    0,    0,    0 ИЗ    РегистрСведений.ПланФинансированияОбязательств.СрезПоследних(
#8 by H A D G E H O G s
Писец
#9 by H A D G E H O G s
Вооот это убрать сразу ИНДЕКСИРОВАТЬ ПО    СчетЕПСБУ
#10 by H A D G E H O G s
А вообще на месте SQL я бы сказал, что это слишком сложно и послал бы лесом нахер. Представляю в какого монстра он транслируется в SQL
#11 by Хрущёв
а из-за этого данная ошибка может возникать? или просто не нравится?
#12 by Александр_Тверь
"Смотрел запрос, 10 case там нет"  (с) sql сервер считает по другому :) +1
#13 by H A D G E H O G s
Просто бессмысленно.
#14 by Хрущёв
А с чем может быть связано то, что в демо базе этот отчет нормально работает?
#15 by H A D G E H O G s
С отсутствием данных.
#16 by КошерныйТролль
песец запрос
#17 by Хрущёв
В общем задача - сделать так, чтобы всё работало нормально. Кто бы с чего начал?
#18 by КошерныйТролль
для начала еще раз CASE пересчитай
#19 by shuhard
[Кто бы с чего начал] я бы уволил ТС-а
#20 by Хрущёв
Частично решил вопрос, изменив группировку  в настройках с Номенклатура на Номенклатура.Наименовнаие. Но хотелось бы нормально сделать. проблему бы это не решило
#21 by Хрущёв
* проблему бы это не решило
#22 by rs_trade
в запросе не видно 10 кейсов, но мож там платформа че достраивает. скуль то врать не будет. нужно запрос скульный глянуть, найти эту конструкцию и сопоставить с куском запроса 1с.
#23 by Нуф-Нуф
Абссцака
#24 by Хрущёв
спасибо
#25 by КошерныйТролль
настоящий программист сам создает себе проблемы, а потом героически их решает!
#26 by Нуф-Нуф
Посмотри результат этого запроса через профайлер. Потом неделю кошмары снится будут.
#27 by rs_trade
ну его же не надо весь курить. лесенку из кейсов визуально должно быть видно.
#28 by rs_trade
тем более запрос не сложный. просто выглядит все это громоздко очень.
#29 by rs_trade
в ms sms вставить запрос скулевый, так он и строчку покажет.
#30 by Mort
Зачем лестницу из кейсов городить? Может автор не в теме конструкции: ВЫБОР КОГДА х1 ТОГДА у1 КОГДА х2 ТОГДА у2 КОГДА х3 ТОГДА у3 КОГДА х4 ТОГДА у4 КОНЕЦ
#31 by Хрущёв
Отчет типовой из БГУ.
#32 by zak555
перписывай
#33 by zak555
по моему, тут надо знать проводки и из них всё доставать
#34 by Хрущёв
да понятно, что переписать можно. хочется разобраться ещё в том что есть.
#35 by EarthsSoul
а) демонстрационную запускал на той же субд ? б) Пробовал в файловом варианте запустить свой БД ?
#36 by Хрущёв
а) Запускал, нормально работает б) Тоже без проблем формирует
#37 by EarthsSoul
Вывод что дело в учетных данных, ты можешь уменьшать период в котором делаешь выборку, и уменьшать до тех пока не станет ясно о каком документе идете речь. Потом можно посмотреть какие учетные данные в этом документе отличаются от данных в демонстрационной базе, и возможно у тебя в базе данных больше чем в демо (в своей базе можешь начать затирать реквизиты, и там ясно станет какой реквизит документа ведет к большой цепочке), поэтому и кейсов в итоге транслируется в SQl больше. Если выяснишь отпишись, интересно!
#38 by МихаилМ
сравните tsql запросы в базе, где ошибка и базе где нет ошибки. и зона поиска ошибки уменьшится. думаю проблема в запомненых настройках отчета
#39 by Хрущёв
В общем нашёл причину, из-за которой отчет перестал работать. Кто-то поменял тип значения реквизита Номенклатура в регистре,   из которого данные тянутся. Раньше только ссылка была, теперь ещё и строка. Из-за этого и падает.
#40 by EarthsSoul
выходи кто то в конфигураторе поменял ? Или это доступно на уровне пользователя?
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С