public object СформироватьЗапросДиаграммы(/*Диаграмма, Компетенция, НачПериода, КонПериода, Должность*/)
{
//Запрос = Новый Запрос;
//Запрос.УстановитьПараметр("Компетенция", Компетенция);
//Запрос.УстановитьПараметр("ШкалаОценок", Компетенция.ШкалаОценок);
//Запрос.УстановитьПараметр("НачПериода", НачПериода);
//Запрос.УстановитьПараметр("КонПериода", КонПериода);
//Запрос.УстановитьПараметр("Должность", Должность);
/*Запрос.Текст =
"ВЫБРАТЬ
| Шкала.Представление,
| ВЫРАЗИТЬ(Шкала.ВесОценки * ВЫБОР
| КОГДА ИтогиОжидания.ВесОценки = 0
| ТОГДА 1
| ИНАЧЕ ИтогиРезультат.Количество / ИтогиОжидания.ВесОценки
| КОНЕЦ КАК ЧИСЛО(3, 0)) КАК Ожидания,
| ЕСТЬNULL(Данные.Количество, 0) КАК Результат
|ИЗ
| (ВЫБРАТЬ
| СоставОценочныхШкалКомпетенций.Наименование КАК Наименование,
| СоставОценочныхШкалКомпетенций.Ссылка КАК Ссылка,
| СоставОценочныхШкалКомпетенций.ПриоритетОценки КАК ПриоритетОценки,
| СоставОценочныхШкалКомпетенций.Представление КАК Представление,
| Веса.ВесОценки КАК ВесОценки
| ИЗ
| Справочник.СоставОценочныхШкалКомпетенций КАК СоставОценочныхШкалКомпетенций
| ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
| КомпетенцииРаботниковОписаниеОценок.Оценка КАК Оценка,
| КомпетенцииРаботниковОписаниеОценок.ВесОценки КАК ВесОценки
| ИЗ
| Справочник.КомпетенцииРаботников.ОписаниеОценок КАК КомпетенцииРаботниковОписаниеОценок
| ГДЕ
| КомпетенцииРаботниковОписаниеОценок.Ссылка = &Компетенция) КАК Веса
| ПО СоставОценочныхШкалКомпетенций.Ссылка = Веса.Оценка
| ГДЕ
| СоставОценочныхШкалКомпетенций.Владелец = &ШкалаОценок) КАК Шкала
| ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
| ОценкиКомпетенцийРаботников.Оценка КАК Оценка,
| СУММА(1) КАК Количество
| ИЗ
| РегистрСведений.ОценкиКомпетенцийРаботников.СрезПоследних(
| &КонПериода,
| Период МЕЖДУ &НачПериода И &КонПериода
| И Компетенция = &Компетенция) КАК ОценкиКомпетенцийРаботников
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.Работники.СрезПоследних(&КонПериода, ) КАК Работники
| ПО Работники.ФизЛицо = ОценкиКомпетенцийРаботников.ФизЛицо
| ГДЕ
| Работники.ПричинаИзмененияСостояния <> ЗНАЧЕНИЕ(Перечисление.ПричиныИзмененияСостояния.Увольнение)
| //УСЛОВИЕ_ДОЛЖНОСТЬ
|
| СГРУППИРОВАТЬ ПО
| ОценкиКомпетенцийРаботников.Оценка) КАК Данные
| ПО Шкала.Ссылка = Данные.Оценка,
| (ВЫБРАТЬ
| СУММА(1) КАК Количество
| ИЗ
| РегистрСведений.ОценкиКомпетенцийРаботников.СрезПоследних(
| &КонПериода,
| Период МЕЖДУ &НачПериода И &КонПериода
| И Компетенция = &Компетенция) КАК ОценкиКомпетенцийРаботников
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.Работники.СрезПоследних(&КонПериода, ) КАК Работники
| ПО Работники.ФизЛицо = ОценкиКомпетенцийРаботников.ФизЛицо
| ГДЕ
| Работники.ПричинаИзмененияСостояния <> ЗНАЧЕНИЕ(Перечисление.ПричиныИзмененияСостояния.Увольнение)
| //УСЛОВИЕ_ДОЛЖНОСТЬ
|) КАК ИтогиРезультат,
| (ВЫБРАТЬ
| СУММА(КомпетенцииРаботниковОписаниеОценок.ВесОценки) КАК ВесОценки
| ИЗ
| Справочник.КомпетенцииРаботников.ОписаниеОценок КАК КомпетенцииРаботниковОписаниеОценок
| ГДЕ
| КомпетенцииРаботниковОписаниеОценок.Ссылка = &Компетенция) КАК ИтогиОжидания
|
|УПОРЯДОЧИТЬ ПО
| Шкала.ПриоритетОценки";*/
if(true/*ЗначениеЗаполнено(Должность)*/)
{
//Запрос.Текст = СтрЗаменить(Запрос.Текст, "//УСЛОВИЕ_ДОЛЖНОСТЬ", "И Работники.Должность.Должность = &Должность");
}
return null;
}