Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
20 мая 2024, 09:50

Запрос

Автор Ивашка, 10 мар 2021, 10:15

0 Пользователей и 1 гость просматривают эту тему.

Ивашка

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

УПОРЯДОЧИТЬ ПО
    Проект

как получить фактическое время из регистра накопления по проектам, как связать правильно?
факт я взглянул не 7.780 часов, а 124 часа

Ивашка

ВЫБРАТЬ
АИ_ПланВыработкиОбороты.Проект КАК Проект,
АИ_БюджетПроектаСрезПоследних.Часы * АИ_БюджетПроектаСрезПоследних.СтавкаСтоимостиЧаса КАК Бюджет,
СУММА(АИ_ПланВыработкиОбороты.ЧасыОборот) КАК План,
СУММА(ОборотыПоЭлементамБэклогаОбороты.ФактОборот) КАК Факт
ИЗ
РегистрНакопления.АИ_ПланВыработки.Обороты(&НачалоПериода, &КонецПериода, Месяц, {(Проект = &Проект) КАК Поле2}) КАК АИ_ПланВыработкиОбороты
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АИ_БюджетПроекта.СрезПоследних(&КонецПериода, ) КАК АИ_БюджетПроектаСрезПоследних
ПО (АИ_ПланВыработкиОбороты.Проект = АИ_БюджетПроектаСрезПоследних.Проект)
ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ОборотыПоЭлементамБэклога.Обороты(&НачалоПериода, &КонецПериода, , {(ЭлементБэклога.Проект = &Проект) КАК Поле2}) КАК ОборотыПоЭлементамБэклогаОбороты
ПО (ОборотыПоЭлементамБэклогаОбороты.ЭлементБэклога.Проект = АИ_ПланВыработкиОбороты.Проект)

СГРУППИРОВАТЬ ПО
АИ_ПланВыработкиОбороты.Проект,
АИ_БюджетПроектаСрезПоследних.Часы * АИ_БюджетПроектаСрезПоследних.СтавкаСтоимостиЧаса

УПОРЯДОЧИТЬ ПО
Проект

записал так, но план че то двоит, т.е план в два раза меньше должно быть

LexaK

добавьте в условие связи таблиц
равенство по Период,
должно быть примерно так:

  РегистрНакопления.АИ_ПланВыработки.Обороты(&НачалоПериода, &КонецПериода, Месяц, {(Проект = &Проект) КАК Поле2}) КАК АИ_ПланВыработкиОбороты
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АИ_БюджетПроекта.СрезПоследних(&КонецПериода, ) КАК АИ_БюджетПроектаСрезПоследних
        ПО (АИ_ПланВыработкиОбороты.Проект = АИ_БюджетПроектаСрезПоследних.Проект)
        И (АИ_ПланВыработкиОбороты.Период = АИ_БюджетПроектаСрезПоследних.Период )

либо (если Период не нужен) убирайте его из виртуальных таблиц, вот это не надо ...,Месяц,...
если помогло нажмите: Спасибо!

Ивашка

Цитата: LexaK от 10 мар 2021, 13:24
добавьте в условие связи таблиц
равенство по Период,
должно быть примерно так:

  РегистрНакопления.АИ_ПланВыработки.Обороты(&НачалоПериода, &КонецПериода, Месяц, {(Проект = &Проект) КАК Поле2}) КАК АИ_ПланВыработкиОбороты
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АИ_БюджетПроекта.СрезПоследних(&КонецПериода, ) КАК АИ_БюджетПроектаСрезПоследних
        ПО (АИ_ПланВыработкиОбороты.Проект = АИ_БюджетПроектаСрезПоследних.Проект)
        И (АИ_ПланВыработкиОбороты.Период = АИ_БюджетПроектаСрезПоследних.Период )

либо (если Период не нужен) убирайте его из виртуальных таблиц, вот это не надо ...,Месяц,...
не помогло
и еще сейчас в в регистр накопления заполняются движение по двум документам(планирование выработки по ресурсам и проектам), как записать условие в запросе, чтоб в отчет заполнялся только проектам?
на картинке,где проект пустым отображается это ресурс, его быть не должно
Добавлено: 12 мар 2021, 11:04


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

СГРУППИРОВАТЬ ПО
НАЧАЛОПЕРИОДА(Рег.Период, МЕСЯЦ),
Рег.Проект
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
АИ_ПланВыработкиОбороты.Проект КАК Проект,
ВТ_Бюджет.Бюджет КАК Бюджет,
АИ_ПланВыработкиОбороты.ЧасыОборот КАК План,
ВТ_Бюджет.Период КАК Период
ПОМЕСТИТЬ ВТ_ПланВыработки
ИЗ
РегистрНакопления.АИ_ПланВыработки.Обороты(&НачалоПериода, &КонецПериода, , Проект <> ЗНАЧЕНИЕ(Справочник.Проекты.ПустаяСсылка)) КАК АИ_ПланВыработкиОбороты
ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Бюджет КАК ВТ_Бюджет
ПО АИ_ПланВыработкиОбороты.Проект = ВТ_Бюджет.Проект
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ВТ_ПланВыработки.Проект КАК Проект,
ВТ_ПланВыработки.Бюджет КАК Бюджет,
ВТ_ПланВыработки.План КАК План,
СУММА(РасчетТрудозатратОбороты.ФактОборот) КАК Факт,
ВТ_ПланВыработки.Период КАК Период
ИЗ
ВТ_ПланВыработки КАК ВТ_ПланВыработки
ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.РасчетТрудозатрат.Обороты(&НачалоПериода, &КонецПериода, , ) КАК РасчетТрудозатратОбороты
ПО ВТ_ПланВыработки.Проект = РасчетТрудозатратОбороты.ЭлементБэклога.Проект

СГРУППИРОВАТЬ ПО
ВТ_ПланВыработки.Проект,
ВТ_ПланВыработки.Период,
ВТ_ПланВыработки.План,
ВТ_ПланВыработки.Бюджет

УПОРЯДОЧИТЬ ПО
Проект

переделал запрос используя временные таблицы, теперь план не двоится , но факт не разделяется по месяцам, сейчас отчет выглядит:
по проекту "Обучение стажеров" должно быть за январь 117,7 часов, а за февраль 35,72 часа, за март ничего нету(выводит правильно), помогите пожалуйста, может неправильно группирую или соединяю не так?

LexaK

вот примерный отчет СКД, сильно отличается от того что на картинке, так как совсем другие данные
это пример, возможны другие варианты
если помогло нажмите: Спасибо!

Ивашка

Цитата: LexaK от 12 мар 2021, 16:18
вот примерный отчет СКД, сильно отличается от того что на картинке, так как совсем другие данные
это пример, возможны другие варианты
спасибо

LexaK

по структуре получилось вроде то что надо
см.рис.
если помогло нажмите: Спасибо!

Ивашка

Цитата: LexaK от 12 мар 2021, 16:32
по структуре получилось вроде то что надо
см.рис.
да, спасибо))

Dethmontt

Ивашка, ивашка все форумы бомбит
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

LexaK

другой вариант
если помогло нажмите: Спасибо!

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск