Имя: Пароль:
1C
1С v8
Произвольный запрос в бюджетировании
0 Stanislav_134
 
29.07.19
12:56
Всем привет!

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

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

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

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

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

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

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

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

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

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

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

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