|
Как правильно поправить запрос по итогам | ☑ | ||
---|---|---|---|---|
0
Tolstiy Beremenniy
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 |
|||
1
tty12
03.10.18
✎
15:24
|
Вкладка "Итоги" в конструкторе запросов и ОбходРезультатаЗапроса.ПоГруппировкам.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |