Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Произвольный запрос в бюджетировании

Произвольный запрос в бюджетировании
Я
   Stanislav_134
 
29.07.19 - 12:56
Всем привет!

Возникла задача получения фактических данных с помощью произвольного запроса в бюджетировании (ЕРП_2).

Написал запрос, в консоли всё верно выбирает. Но при подстановке этого запроса в схему получения данных в бюджетировании вылазиет ошибка "В схеме источника данных отсутствует поле периода. Получение данных в разрезе периода невозможно".

В интернете есть несколько упоминаний у том, что в бюджетировании запрос пишется с определенными оговорками (обязательное наличие поля Период и СуммаУпр, снятие роли с Периода в ПоляхЗапроса и пр.). На демке стал пробовать простейшие запросы, типа:
    ВЫБРАТЬ
    ДенежныеСредстваБезналичные.Период,
    ДенежныеСредстваБезналичные.СуммаУпр
    ИЗ
    РегистрНакопления.ДенежныеСредстваБезналичные КАК ДенежныеСредстваБезналичные
та же самая ошибка.
Я уже период и как параметр выводил - безрезультатно.(((((

Подскажите, пожалуйста, куда смотреть, что менять.
 
 
   Ботаник Гарден Меран
 
1 - 29.07.19 - 13:12
   shuhard
 
2 - 29.07.19 - 13:27
(0)[В интернете есть несколько упоминаний у том, что в бюджетировании запрос пишется с определенными оговорками (обязательное наличие поля Период и СуммаУпр, снятие роли с Периода в ПоляхЗапроса и пр.).]
все верно, в твоем запросе нет ни одной {
   Stanislav_134
 
3 - 29.07.19 - 13:46
(2) Видимо, я чего-то недопонимаю
Согласно тексту моего запроса в конструкторе СКД появляются поля "Период" и "СуммаУпр". Или речь не о тех полях?

(1) Эту статью изучал. Но, например, мне виртуальные таблицы регистров накопления не дают выбирать поля ПериодМинута, ПериодЧас и т.п. Может это ограничения демо?
   palsergeich
 
4 - 29.07.19 - 13:50
(3) периодичность авто поставь, тогда эти периоды появятся
   shuhard
 
5 - 29.07.19 - 14:13
(3) текст запроса покажи целиком
   Stanislav_134
 
6 - 29.07.19 - 14:20
(5) Как пример я говорил про этот текст
    ВЫБРАТЬ 
       ДенежныеСредстваБезналичные.Период, 
       ДенежныеСредстваБезналичные.СуммаУпр 
    ИЗ 
       РегистрНакопления.ДенежныеСредстваБезналичные КАК ДенежныеСредстваБезналичные

Но вообще изначально запрос, который работает в консоли, но не работает в бюджетировании:

ВЫБРАТЬ
    ЕСТЬNULL(СУММА(ВЫБОР
                КОГДА ДанныеПроизводственногоКалендаря.ВидДня = ЗНАЧЕНИЕ(Перечисление.ВидыДнейПроизводственногоКалендаря.Рабочий)
                        ИЛИ ДанныеПроизводственногоКалендаря.ВидДня = ЗНАЧЕНИЕ(Перечисление.ВидыДнейПроизводственногоКалендаря.Предпраздничный)
                    ТОГДА 1
                ИНАЧЕ 0
            КОНЕЦ), 0) КАК ЧислоРабочихДнейВМесяце
ПОМЕСТИТЬ ДанныеПоМесяцу
ИЗ
    РегистрСведений.ДанныеПроизводственногоКалендаря КАК ДанныеПроизводственногоКалендаря
ГДЕ
    ДанныеПроизводственногоКалендаря.Дата МЕЖДУ НАЧАЛОПЕРИОДА(&НачалоПериода, МЕСЯЦ) И КОНЕЦПЕРИОДА(&КонецПериода, МЕСЯЦ)
;

////////////////////////////////////////////////////////////////////////////////

ВЫБРАТЬ
    ЕСТЬNULL(СУММА(ВЫБОР
                КОГДА ДанныеПроизводственногоКалендаря.ВидДня = ЗНАЧЕНИЕ(Перечисление.ВидыДнейПроизводственногоКалендаря.Рабочий)
                        ИЛИ ДанныеПроизводственногоКалендаря.ВидДня = ЗНАЧЕНИЕ(Перечисление.ВидыДнейПроизводственногоКалендаря.Предпраздничный)
                    ТОГДА 1
                ИНАЧЕ 0
            КОНЕЦ), 0) КАК ЧислоРабочихДнейВПериоде
ПОМЕСТИТЬ ДанныеПоКонкретномуПериоду
ИЗ
    РегистрСведений.ДанныеПроизводственногоКалендаря КАК ДанныеПроизводственногоКалендаря
ГДЕ
    ДанныеПроизводственногоКалендаря.Дата МЕЖДУ &НачалоПериода И КОНЕЦПЕРИОДА(&КонецПериода, ДЕНЬ)
;

////////////////////////////////////////////////////////////////////////////////

ВЫБРАТЬ
    ГруппируемыеПоля.Подразделение,
    СУММА(ГруппируемыеПоля.СуммаПрихода) КАК СуммаПоПодразделениям
ПОМЕСТИТЬ ТаблицаССуммами
ИЗ
    (ВЫБРАТЬ
        ДенежныеСредстваБезналичные.БанковскийСчет.Подразделение КАК Подразделение,
        ДенежныеСредстваБезналичные.СуммаУпр КАК СуммаПрихода
    ИЗ
        РегистрНакопления.ДенежныеСредстваБезналичные КАК ДенежныеСредстваБезналичные
    ГДЕ
        ДенежныеСредстваБезналичные.СтатьяДвиженияДенежныхСредств = &СтатьяДДС
        И ДенежныеСредстваБезналичные.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
        И ДенежныеСредстваБезналичные.Период МЕЖДУ НАЧАЛОПЕРИОДА(&НачалоПериода, МЕСЯЦ) И КОНЕЦПЕРИОДА(&КонецПериода, МЕСЯЦ)
    
    ОБЪЕДИНИТЬ ВСЕ
    
    ВЫБРАТЬ
        ДенежныеСредстваНаличные.Касса.Подразделение,
        ДенежныеСредстваНаличные.СуммаУпр
    ИЗ
        РегистрНакопления.ДенежныеСредстваНаличные КАК ДенежныеСредстваНаличные
    ГДЕ
        ДенежныеСредстваНаличные.СтатьяДвиженияДенежныхСредств = &СтатьяДДС
        И ДенежныеСредстваНаличные.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
        И ДенежныеСредстваНаличные.Период МЕЖДУ НАЧАЛОПЕРИОДА(&НачалоПериода, МЕСЯЦ) И КОНЕЦПЕРИОДА(&КонецПериода, МЕСЯЦ)) КАК ГруппируемыеПоля

СГРУППИРОВАТЬ ПО
    ГруппируемыеПоля.Подразделение
;

////////////////////////////////////////////////////////////////////////////////

ВЫБРАТЬ
    ТаблицаССуммами.Подразделение,
    ТаблицаССуммами.СуммаПоПодразделениям / ДанныеПоМесяцу.ЧислоРабочихДнейВМесяце КАК ПриходНаОдинРабочийДень
ПОМЕСТИТЬ ТаблицаНаОдинРабочийДень
ИЗ
    ТаблицаССуммами КАК ТаблицаССуммами,
    ДанныеПоМесяцу КАК ДанныеПоМесяцу
;

////////////////////////////////////////////////////////////////////////////////

ВЫБРАТЬ
    ТаблицаНаОдинРабочийДень.Подразделение,
    ТаблицаНаОдинРабочийДень.ПриходНаОдинРабочийДень * ДанныеПоКонкретномуПериоду.ЧислоРабочихДнейВПериоде КАК СуммаУпр
ИЗ
    ТаблицаНаОдинРабочийДень КАК ТаблицаНаОдинРабочийДень,
    ДанныеПоКонкретномуПериоду КАК ДанныеПоКонкретномуПериоду
   shuhard
 
7 - 29.07.19 - 14:23
(6) ещё раз, нет раздела с {
   Stanislav_134
 
8 - 29.07.19 - 14:28
(7) Блин, ну покажи новичку пальчиком, где в моём запросе  эти {} устанавливать...

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.