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

Исправить колонку в отчете

Автор Kerbert, 16 авг 2017, 17:26

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

Kerbert

Есть отчет "по выработке" ,в нем есть колонка результативность , как сделать так чтобы :
Сумма результативности по определенному документам 1 проекта делилась на число этих документов.
Т.е. сумма результативности на этот день в по данному проекту 3 документа предположим в каждом результативность равна 0,5 , то в отчет подставлялось бы в поле результативность ,как (0,5+0,5+0,5)/3 , т е 0,5.
Я не знаю как это реализовать в запросе.
Результативность это доработанное поле.
Код запроса в отчете:

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

СГРУППИРОВАТЬ ПО
    ВыработкаОбороты.Сотрудник,
    ВыработкаОбороты.Проект,
    ВыработкаОбороты.Операция,
    ВыработкаОбороты.Операция.ТипОперации,
    ВыработкаОбороты.Регистратор

AIFrame

Цитировать(0,5+0,5+0,5)/3 , т е 0,5.
Это называется средняя.
Результат можно сгруппировать с итогом в виде СРЕД этих значений.

Kerbert

Цитата: AIFrame от 16 авг 2017, 17:57
Цитировать(0,5+0,5+0,5)/3 , т е 0,5.
Это называется средняя.
Результат можно сгруппировать с итогом в виде СРЕД этих значений.
Да, спасибо

Теги:

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

Рейтинг@Mail.ru

Поиск