Вход | Регистрация


Как правильно поправить запрос по итогам

Как правильно поправить запрос по итогам
Я
   TolstiyBeremenniy
 
03.10.18 - 15:14
Подскажите пожалуйста, как правильно поправить запрос по итогам.
Результат запроса, вывожу в дерево значений в табличной части
документа. Получается в ветки, по критериям я могу вывести данные.
А что бы выводить итоговые значения по должности и сотруднику,
как то нужно делать иначе запрос. Ну или дополнительные обработки,
этого. Не подскажите ли как правильно ли это сделать запросом?


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

    Запрос.УстановитьПараметр("Организация",   Объект.Организация);
    Запрос.УстановитьПараметр("Подразделение", Объект.Подразделение);
    Запрос.УстановитьПараметр("Руководитель",  Объект.РуководительЗаполняющийБаллы);
    //Запрос.УстановитьПараметр("Руководитель",  Объект.РуководительЗаполняющийБаллы);

    Рез = Запрос.Выполнить(); 
    ТзИтогов = Запрос.Выполнить().Выгрузить(); 
    //

    ТекСотр = "";
    Если Не Рез.Пустой() Тогда
        тДерево = РеквизитФормыВЗначение("ДеревоКритериев");
        тДерево.Строки.Очистить();
        Выборка = Рез.Выбрать();
        ТекСотр = "";
        Пока Выборка.Следующий() Цикл
            Если ТекСотр = "" или ТекСотр <> Выборка.Сотрудник Тогда
                нСтр1                               = тДерево.Строки.Добавить();
                нСтр1.СтрСотрудникДолжностьКритерий = Выборка.Должность.Наименование +"-"+ Выборка.Сотрудник.Наименование;
                //

                ТзИтогов.Свернуть("Сотрудник, Должность", "КБалл");
                //

                нСтр1.КбаллМакс                     = Выборка.КБалл;
                нСтр1.КбаллФакт                     = 0.0;
                нСтр1.КдисМакс                      = Выборка.КДис;
                нСтр1.КдисФакт                      = 0.0;
                нСтр1.ЭтоСотрудник                  = Истина;
                нСтр1.Критерий                      = Справочники.C05_КритерииОценкиКачестваРаботыСотрудника.ПустаяСсылка();
                нСтр1.Сотрудник                     = Выборка.Сотрудник;
                нСтр1.Должность                     = Выборка.Должность;
                //

                нСтр2                               = нСтр1.Строки.Добавить();
                нСтр2.СтрСотрудникДолжностьКритерий = Выборка.Критерий.Наименование;
                нСтр2.КбаллМакс                     = Выборка.КБалл;
                нСтр2.КбаллФакт                     = 0.0;
                нСтр2.КдисМакс                      = Выборка.КДис;
                нСтр2.КдисФакт                      = 0.0;
                нСтр2.ЭтоСотрудник                  = Ложь;
                нСтр2.Критерий                      = Выборка.Критерий;
                нСтр2.Сотрудник                     = Справочники.Сотрудники.ПустаяСсылка();
                нСтр2.Должность                     = Справочники.Должности.ПустаяСсылка();
                //

            ИначеЕсли ТекСотр = Выборка.Сотрудник Тогда
                //

                нСтр2                               = нСтр1.Строки.Добавить();
                нСтр2.СтрСотрудникДолжностьКритерий = Выборка.Критерий.Наименование;
                нСтр2.КбаллМакс                     = Выборка.КБалл;
                нСтр2.КбаллФакт                     = 0.0;
                нСтр2.КдисМакс                      = Выборка.КДис;
                нСтр2.КдисФакт                      = 0.0;
                нСтр2.ЭтоСотрудник                  = Ложь;
                нСтр2.Критерий                      = Выборка.Критерий;
                нСтр2.Сотрудник                     = Справочники.Сотрудники.ПустаяСсылка();
                нСтр2.Должность                     = Справочники.Должности.ПустаяСсылка();
                //

                //нСтр1.Колонка1 = "Колонка 1";

                //нСтр1.Колонка2 = "Колонка 2";

                //

                //нСтр2 = нСтр1.Строки.Добавить();

                //нСтр2.Колонка1 = "Колонка 1";

                //нСтр2.Колонка2 = "Колонка 2";

            КонецЕсли;
            ТекСотр = Выборка.Сотрудник;
        КонецЦикла;
    КонецЕсли;


http://joxi.ru/Dr8XEbyU4lKRGr
 
 
   tty12
 
1 - 03.10.18 - 15:24
Вкладка "Итоги" в конструкторе запросов и ОбходРезультатаЗапроса.ПоГруппировкам.

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