![]() |
![]() |
|
Ошибка SQL при выполнении запроса в СКД | ☑ | ||
---|---|---|---|---|
0
animatic
17.06.14
✎
16:53
|
Добрый день, столкнулся с такой проблемой, есть запрос
ВЫБРАТЬ МЕСЯЦ(ТоварыНаСкладахОбороты.Период) КАК Месяц, ВЫБОР КОГДА ТИПЗНАЧЕНИЯ(ТоварыНаСкладахОбороты.Регистратор) = ТИП(Документ.ПоступлениеТоваровУслуг) ТОГДА ТоварыНаСкладахОбороты.Регистратор.Контрагент ИНАЧЕ ВЫБОР КОГДА ТИПЗНАЧЕНИЯ(ТоварыНаСкладахОбороты.Регистратор) = ТИП(Документ.ПеремещениеТоваров) И ТоварыНаСкладахОбороты.КоличествоПриход > 0 ТОГДА ТоварыНаСкладахОбороты.Регистратор.СкладОтправитель ИНАЧЕ ВЫБОР КОГДА ТИПЗНАЧЕНИЯ(ТоварыНаСкладахОбороты.Регистратор) = ТИП(Документ.ОтчетПроизводстваЗаСмену) ТОГДА ТоварыНаСкладахОбороты.Регистратор.Склад ИНАЧЕ ВЫБОР КОГДА ТИПЗНАЧЕНИЯ(ТоварыНаСкладахОбороты.Регистратор) = ТИП(Документ.ПеремещениеТоваров) И ТоварыНаСкладахОбороты.КоличествоРасход > 0 ТОГДА ТоварыНаСкладахОбороты.Регистратор.СкладПолучатель ИНАЧЕ ВЫБОР КОГДА ТИПЗНАЧЕНИЯ(ТоварыНаСкладахОбороты.Регистратор) = ТИП(Документ.ТребованиеНакладная) ТОГДА ТоварыНаСкладахОбороты.Регистратор.Склад ИНАЧЕ ВЫБОР КОГДА ТИПЗНАЧЕНИЯ(ТоварыНаСкладахОбороты.Регистратор) = ТИП(Документ.КомплектацияНоменклатуры) ТОГДА ТоварыНаСкладахОбороты.Регистратор.Номенклатура КОНЕЦ КОНЕЦ КОНЕЦ КОНЕЦ КОНЕЦ КОНЕЦ КАК Содержание, ТоварыНаСкладахОбороты.КоличествоПриход КАК КоличествоПриход, ТоварыНаСкладахОбороты.КоличествоДопПриход КАК КоличествоДопПриход, ВЫБОР КОГДА НЕ ТИПЗНАЧЕНИЯ(ТоварыНаСкладахОбороты.Регистратор) = ТИП(Документ.РегистрацияПотерь) ТОГДА ТоварыНаСкладахОбороты.КоличествоРасход КОНЕЦ КАК КоличествоРасход, ТоварыНаСкладахОбороты.КоличествоДопРасход КАК КоличествоДопРасход, ВЫБОР КОГДА ТИПЗНАЧЕНИЯ(ТоварыНаСкладахОбороты.Регистратор) = ТИП(Документ.РегистрацияПотерь) ТОГДА ТоварыНаСкладахОбороты.КоличествоРасход КОНЕЦ КАК Потери ИЗ РегистрНакопления.ТоварыНаСкладах.Обороты( &НачалоПериода, &КонецПериода, Регистратор, Склад = &Склад И Номенклатура = &Номенклатура) КАК ТоварыНаСкладахОбороты ГДЕ ТИПЗНАЧЕНИЯ(ТоварыНаСкладахОбороты.Регистратор) <> ТИП(Документ.КорректировкаЗаписейРегистров) В консоли запросов нормально работает, если же делаю его в СКД, то программа вылетает с ошибкой СУБД MS SQL "Выражения CASE могут быть только до 10 уровня". Что не так в запросе, почему не работает в СКД? До этого каждое поле с условием выбирал отдельно, но не нашел в СКД возможности выводить это потом в одно поле, например "Содержание". Поэтому решил выбирать таким способом. Вообще нужен отчет о движение ТМЦ, такого вида: месяц, потом содержание, где указывается с какого склада или от какого поставщика или из производства пришли ТМЦ, затем количество с суммой, то же самое по расходу. (Еще потом нужны будут потери и накладные расходы, но до этого потом дойду) |
|||
1
МихаилМ
17.06.14
✎
16:57
|
замените
"ИНАЧЕ ВЫБОР" на просто "ИНАЧЕ" |
|||
2
DS
17.06.14
✎
16:58
|
ВЫБОР
КОГДА ТОГДА КОГДА ТОГДА КОГДА ТОГДА КОГДА ТОГДА КОГДА ТОГДА КОГДА ТОГДА ... ИНАЧЕ КОНЕЦ ? |
|||
3
animatic
17.06.14
✎
17:02
|
Спасибо за советы, давно не работал с запросами уже)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |