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