|
Платежный календарь | ☑ | ||
---|---|---|---|---|
0
STAYEKR
04.06.12
✎
19:33
|
Господа, помогите разобраться. Не могу сформировать отчет ПлатежныйКлендарь. Выдает ошибку: "Совместная группировка по периодам с другими выражениями запрещена". Группирую по колонкам "ПК_Дата, ПК_ДеньНедели", "КолонкаИтогов", "КолонкаДанныеБДДС", "КолонкаОтклонение". Поля "ПК_Дата" и "ПК_День" недели имеют роль "Период,1" и "Период,2" соответственно. Пробовал менять роли на "измерение", ошибка повторялась. Отчет должен выводить фактические данные до текущей даты и плановые после текущей даты. Полный код запроса приведен ниже. За любую помщь буду безмерно благодарен! Заранее спасибО!
ВЫБРАТЬ РАЗРЕШЕННЫЕ ОперативныйПланДвиженияДенежныхСредств.Период КАК ПК_Дата, ДЕНЬНЕДЕЛИ(ОперативныйПланДвиженияДенежныхСредств.Период) КАК ПК_ДеньНедели, ОперативныйПланДвиженияДенежныхСредств.СтатьяБДДС КАК ПК_СтатьяБДДС, ОперативныйПланДвиженияДенежныхСредств.Предприятие КАК ПК_Предприятие, 0 КАК ПК_План, ОперативныйПланДвиженияДенежныхСредств.СуммаОборот КАК ПК_ПланФакт, 0 КАК ПК_ДанныеБДДС, 0 КАК ПК_ФактическийПлатеж ПОМЕСТИТЬ СписокДанных ИЗ РегистрНакопления.ОперативныйПланДвиженияДенежныхСредств.Обороты(&ДатаНач, &ДатаКон, Регистратор) КАК ОперативныйПланДвиженияДенежныхСредств ГДЕ ОперативныйПланДвиженияДенежныхСредств.Тип <> ЗНАЧЕНИЕ(Справочник.ТипыЗаявок.Трансферт) ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ Остатки.ДатаПлатежа КАК ПК_Дата, ДЕНЬНЕДЕЛИ(Остатки.ДатаПлатежа) КАК ПК_ДеньНедели, Остатки.СтатьяБДДС КАК ПК_СтатьяБДДС, Остатки.Предприятие КАК ПК_Предприятие, ВЫБОР КОГДА &ТекДата < &ДатаКон ТОГДА Остатки.СуммаОстаток ИНАЧЕ 0 КОНЕЦ КАК ПК_План, Остатки.СуммаОстаток КАК ПК_ПланФакт, 0 КАК ПК_ДанныеБДДС, 0 КАК ПК_ФактическийПлатеж ИЗ РегистрНакопления.ОстаткиПоБюджету.Остатки КАК Остатки ГДЕ Остатки.ДатаПлатежа МЕЖДУ &ДатаНач И &ДатаКон И Остатки.ТипЗаявки <> ЗНАЧЕНИЕ(Справочник.ТипыЗаявок.Трансферт) ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ БюджетныеЗаявкиОбороты.Период КАК ПК_Дата, ДЕНЬНЕДЕЛИ(БюджетныеЗаявкиОбороты.Период) КАК ПК_ДеньНедели, БюджетныеЗаявкиОбороты.СтатьяБДДС КАК ПК_СтатьяБДДС, БюджетныеЗаявкиОбороты.Предприятие КАК ПК_Предприятие, 0 КАК ПК_План, 0 КАК ПК_ПланФакт, ВЫБОР КОГДА БюджетныеЗаявкиОбороты.СтатьяБДДС.ВидДвижения = ЗНАЧЕНИЕ(Перечисление.ВидЗаявок.Расходные) ТОГДА -БюджетныеЗаявкиОбороты.СуммаОборот КОГДА БюджетныеЗаявкиОбороты.СтатьяБДДС.ВидДвижения = ЗНАЧЕНИЕ(Перечисление.ВидЗаявок.Приходные) ТОГДА БюджетныеЗаявкиОбороты.СуммаОборот КОНЕЦ КАК ПК_ДанныеБДДС, 0 КАК ПК_ФактическийПлатеж ИЗ РегистрНакопления.БюджетныеЗаявки.Обороты(&ДатаНач, &ДатаКон,Регистратор ) КАК БюджетныеЗаявкиОбороты ГДЕ БюджетныеЗаявкиОбороты.Тип <> ЗНАЧЕНИЕ(Справочник.ТипыЗаявок.Трансферт) ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ДвижениеДенежныхСредствОбороты.Период КАК ПК_Дата, ДЕНЬНЕДЕЛИ(ДвижениеДенежныхСредствОбороты.Период) КАК ПК_ДеньНедели, ДвижениеДенежныхСредствОбороты.СтатьяБДДС КАК ПК_СтатьяБДДС, ДвижениеДенежныхСредствОбороты.Предприятие КАК ПК_Предприятие, 0 КАК ПК_План, 0 КАК ПК_ПланФакт, 0 КАК ПК_ДанныеБДДС, ВЫБОР //КОГДА ДвижениеДенежныхСредствОбороты.СтатьяБДДС.ВидДвижения = ЗНАЧЕНИЕ(Перечисление.ВидЗаявок.Расходные) ТОГДА -ДвижениеДенежныхСредствОбороты.СуммаОборот //КОГДА ДвижениеДенежныхСредствОбороты.СтатьяБДДС.ВидДвижения = ЗНАЧЕНИЕ(Перечисление.ВидЗаявок.Приходные) ТОГДА ДвижениеДенежныхСредствОбороты.СуммаОборот КОГДА ДвижениеДенежныхСредствОбороты.Движение = ЗНАЧЕНИЕ(Перечисление.ВидЗаявок.Расходные) ТОГДА -ДвижениеДенежныхСредствОбороты.СуммаОборот КОГДА ДвижениеДенежныхСредствОбороты.Движение = ЗНАЧЕНИЕ(Перечисление.ВидЗаявок.Приходные) ТОГДА ДвижениеДенежныхСредствОбороты.СуммаОборот КОНЕЦ КАК ПК_ФактическийПлатеж ИЗ РегистрНакопления.ДвижениеДенежныхСредств.Обороты(&ДатаНач, &ДатаКон, Регистратор) КАК ДвижениеДенежныхСредствОбороты ГДЕ ДвижениеДенежныхСредствОбороты.Тип <> ЗНАЧЕНИЕ(Справочник.ТипыЗаявок.Трансферт) ; ВЫБРАТЬ РАЗРЕШЕННЫЕ Данные.ПК_Дата КАК ПК_Дата, Данные.ПК_ДеньНедели КАК ПК_ДеньНедели, Данные.ПК_СтатьяБДДС КАК ПК_СтатьяБДДС, Данные.ПК_Предприятие КАК ПК_Предприятие, СУММА(Данные.ПК_План) КАК ПК_План, СУММА(Данные.ПК_ПланФакт) КАК ПК_ПланФакт, СУММА(Данные.ПК_ДанныеБДДС) КАК ПК_ДанныеБДДС, СУММА(Данные.ПК_ФактическийПлатеж) КАК ПК_ФактическийПлатеж, ОтклонениеВремени.ПК_ДатаФактическихПлатежей КАК ПК_ДатаФактическихПлатежей, ПК_РабочийКалендарь.ПК_ПоследнийРабочийДеньМесяца КАК ПК_ПоследнийРабочийДеньМесяца ПОМЕСТИТЬ _СписокСводный ИЗ СписокДанных КАК Данные ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ ВЫБОР КОГДА Настройки.ЗначениеНастройки > 0 ТОГДА Настройки.ЗначениеНастройки ИНАЧЕ 0 КОНЕЦ КАК ПК_ДатаФактическихПлатежей ИЗ Справочник.эф_Настройки КАК Настройки ГДЕ Настройки.Ссылка = ЗНАЧЕНИЕ(Справочник.эф_Настройки.СтандартнаяЗадержкаФактаПлатежей) ) КАК ОтклонениеВремени ПО ИСТИНА ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ МАКСИМУМ(РабочийКалендарь.Дата) КАК ПК_ПоследнийРабочийДеньМесяца ИЗ РегистрСведений.эф_РабочийКалендарь КАК РабочийКалендарь ГДЕ РабочийКалендарь.Дата МЕЖДУ ДОБАВИТЬКДАТЕ(КОНЕЦПЕРИОДА(&ДатаКон, МЕСЯЦ), ДЕНЬ, -5) И КОНЕЦПЕРИОДА(&ДатаКон, МЕСЯЦ) И РабочийКалендарь.СтатусДня = ЗНАЧЕНИЕ(Перечисление.СтатусыДня.РабочийДень) ) КАК ПК_РабочийКалендарь ПО ИСТИНА СГРУППИРОВАТЬ ПО Данные.ПК_Дата, ОтклонениеВремени.ПК_ДатаФактическихПлатежей, ПК_РабочийКалендарь.ПК_ПоследнийРабочийДеньМесяца, Данные.ПК_ДеньНедели, Данные.ПК_СтатьяБДДС, Данные.ПК_Предприятие ; ВЫБРАТЬ РАЗРЕШЕННЫЕ _СписокСводный.ПК_Дата КАК ПК_Дата, _СписокСводный.ПК_ДеньНедели КАК ПК_ДеньНедели, _СписокСводный.ПК_СтатьяБДДС КАК ПК_СтатьяБДДС, _СписокСводный.ПК_Предприятие КАК ПК_Предприятие, _СписокСводный.ПК_План КАК ПК_План, _СписокСводный.ПК_ПланФакт КАК ПК_ПланФакт, _СписокСводный.ПК_ДанныеБДДС КАК ПК_ДанныеБДДС, _СписокСводный.ПК_ФактическийПлатеж КАК ПК_ФактическийПлатеж, _СписокСводный.ПК_ДатаФактическихПлатежей КАК ПК_ДатаФактическихПлатежей, _СписокСводный.ПК_ПоследнийРабочийДеньМесяца КАК ПК_ПоследнийРабочийДеньМесяца ПОМЕСТИТЬ СписокСводный ИЗ _СписокСводный КАК _СписокСводный ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ __СписокСводный.ПК_ПоследнийРабочийДеньМесяца КАК ПК_Дата, ДЕНЬНЕДЕЛИ(__СписокСводный.ПК_ПоследнийРабочийДеньМесяца ) КАК ПК_ДеньНедели, __СписокСводный.ПК_СтатьяБДДС КАК ПК_СтатьяБДДС, __СписокСводный.ПК_Предприятие КАК ПК_Предприятие, 0 КАК ПК_План, __СписокСводный.ПК_План - __СписокСводный.ПК_ПланФакт КАК ПК_ПланФакт, 0 КАК ПК_ДанныеБДДС, 0 КАК ПК_ФактическийПлатеж, __СписокСводный.ПК_ДатаФактическихПлатежей КАК ПК_ДатаФактическихПлатежей, __СписокСводный.ПК_ПоследнийРабочийДеньМесяца КАК ПК_ПоследнийРабочийДеньМесяца ИЗ _СписокСводный КАК __СписокСводный ГДЕ __СписокСводный.ПК_Дата <= &ТекДата И (__СписокСводный.ПК_План > 0 И __СписокСводный.ПК_План - __СписокСводный.ПК_ПланФакт <> 0) ; ВЫБРАТЬ РАЗРЕШЕННЫЕ СписокСводный.ПК_Дата КАК ПК_Дата, СписокСводный.ПК_ДеньНедели КАК ПК_ДеньНедели, СписокСводный.ПК_СтатьяБДДС КАК ПК_СтатьяБДДС, СписокСводный.ПК_Предприятие КАК ПК_Предприятие, ВЫБОР КОГДА СписокСводный.ПК_План <> 0 ТОГДА ЕстьNULL(СписокСводный.ПК_План,0) КОНЕЦ КАК ПК_План, ВЫБОР КОГДА СписокСводный.ПК_Дата <= ДОБАВИТЬКДАТЕ(&ТекДата,ДЕНЬ,-ВЫРАЗИТЬ(СписокСводный.ПК_ДатаФактическихПлатежей КАК ЧИСЛО)) ТОГДА СписокСводный.ПК_ФактическийПлатеж ИНАЧЕ СписокСводный.ПК_ПланФакт КОНЕЦ КАК ПК_ПланФакт, СписокСводный.ПК_ДанныеБДДС КАК ПК_ДанныеБДДС, ВЫБОР КОГДА СписокСводный.ПК_Дата <= ДОБАВИТЬКДАТЕ(&ТекДата,ДЕНЬ,-ВЫРАЗИТЬ(СписокСводный.ПК_ДатаФактическихПлатежей КАК ЧИСЛО)) ТОГДА СписокСводный.ПК_ФактическийПлатеж ИНАЧЕ СписокСводный.ПК_ПланФакт КОНЕЦ - СписокСводный.ПК_ДанныеБДДС КАК ПК_Отклонение, СписокСводный.ПК_ФактическийПлатеж КАК ПК_ФактическийПлатеж, СписокСводный.ПК_ДатаФактическихПлатежей КАК ПК_ДатаФактическихПлатежей ПОМЕСТИТЬ ИтоговыйСписок ИЗ СписокСводный КАК СписокСводный ; //////////////////////////////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ РАЗРЕШЕННЫЕ _ИтоговыйСписок.ПК_Дата КАК ПК_Дата, _ИтоговыйСписок.ПК_ДеньНедели КАК ПК_ДеньНедели, _ИтоговыйСписок.ПК_СтатьяБДДС КАК ПК_СтатьяБДДС, _ИтоговыйСписок.ПК_Предприятие КАК ПК_Предприятие, _ИтоговыйСписок.ПК_План КАК ПК_План, ВЫБОР КОГДА _ИтоговыйСписок.ПК_Дата <= &ТекДата ТОГДА _ИтоговыйСписок.ПК_ФактическийПлатеж ИНАЧЕ _ИтоговыйСписок.ПК_ПланФакт КОНЕЦ КАК ПК_ПланФакт, _ИтоговыйСписок.ПК_ДанныеБДДС КАК ПК_ДанныеБДДС, ВЫБОР КОГДА _ИтоговыйСписок.ПК_Дата <= &ТекДата ТОГДА _ИтоговыйСписок.ПК_ФактическийПлатеж - _ИтоговыйСписок.ПК_ДанныеБДДС ИНАЧЕ _ИтоговыйСписок.ПК_ПланФакт - _ИтоговыйСписок.ПК_ДанныеБДДС КОНЕЦ КАК ПК_Отклонение, _ИтоговыйСписок.ПК_ФактическийПлатеж КАК ПК_ФактическийПлатеж, _ИтоговыйСписок.ПК_ДатаФактическихПлатежей КАК ПК_ДатаФактическихПлатежей ИЗ СписокСводный КАК _ИтоговыйСписок |
|||
1
vudo
04.06.12
✎
20:33
|
Там еще он обычно пишет в какой строке ошибка.
А то влом всю твою радость разума читать. :) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |