Untitled diff

Created Diff never expires


// Функция предназначена для получения значений показателей
// Функция предназначена для получения значений показателей
// начислений сотрудников.
// начислений сотрудников.
//
//
// Параметры:
// Параметры:
// ИсходныеДанные - таблица значений с колонками:
// ИсходныеДанные - таблица значений с колонками:
// - Сотрудник,
// - Сотрудник,
// - Начисление,
// - Начисление,
// - ДатаНачала,
// - ДатаНачала,
// - ДатаОкончания
// - ДатаОкончания
// ИзвестныеЗначенияПоказателей - необязательный, таблица значений,
// ИзвестныеЗначенияПоказателей - необязательный, таблица значений,
// значения показателей, которые не нужно выявлять
// значения показателей, которые не нужно выявлять
// (они уже известны потребителю,
// (они уже известны потребителю,
// например, показатель «Средний заработок» в документе «Больничный лист»).
// например, показатель «Средний заработок» в документе «Больничный лист»).
//
//
// Параметры:
// Параметры:
// Таблица значений, аналогичная исходной,
// Таблица значений, аналогичная исходной,
// добавляются колонки с показателями начислений, их значениями, сопутствующими сведениями.
// добавляются колонки с показателями начислений, их значениями, сопутствующими сведениями.
//
//
Функция ЗначенияПоказателейНачислений(ИсходныеДанные, ИзвестныеЗначенияПоказателей = Неопределено) Экспорт
Функция ЗначенияПоказателейНачислений(ИсходныеДанные, ИзвестныеЗначенияПоказателей = Неопределено) Экспорт
МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
Запрос = Новый Запрос;
Запрос = Новый Запрос;
Запрос.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц;
Запрос.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц;
// Создаем таблицу значений с типизированными колонками и заполняем ее.
// Создаем таблицу значений с типизированными колонками и заполняем ее.
СотрудникиНачисления = ПустаяТаблицаСотрудниковНачислений();
СотрудникиНачисления = ПустаяТаблицаСотрудниковНачислений();
ОбщегоНазначенияКлиентСервер.ДополнитьТаблицу(ИсходныеДанные, СотрудникиНачисления);
ОбщегоНазначенияКлиентСервер.ДополнитьТаблицу(ИсходныеДанные, СотрудникиНачисления);
Запрос.Текст =
Запрос.Текст =
"ВЫБРАТЬ
"ВЫБРАТЬ
| СотрудникиНачисления.Сотрудник,
| СотрудникиНачисления.Сотрудник,
| СотрудникиНачисления.Начисление,
| СотрудникиНачисления.Начисление,
| СотрудникиНачисления.ДокументОснование,
| СотрудникиНачисления.ДокументОснование,
| СотрудникиНачисления.ДатаНачала,
| СотрудникиНачисления.ДатаНачала,
| СотрудникиНачисления.ДатаОкончания
| СотрудникиНачисления.ДатаОкончания
|ПОМЕСТИТЬ ВТСотрудникиНачисления
|ПОМЕСТИТЬ ВТСотрудникиНачисления
|ИЗ
|ИЗ
| &ИсходныеДанные КАК СотрудникиНачисления
| &ИсходныеДанные КАК СотрудникиНачисления
|;
|;
|
|
|////////////////////////////////////////////////////////////////////////////////
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ РАЗЛИЧНЫЕ
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| Сотрудники.Сотрудник,
| Сотрудники.Сотрудник,
| Сотрудники.ДатаНачала,
| Сотрудники.ДатаНачала,
| Сотрудники.ДатаОкончания
| Сотрудники.ДатаОкончания
|ПОМЕСТИТЬ ВТСотрудникиПериоды
|ПОМЕСТИТЬ ВТСотрудникиПериоды
|ИЗ
|ИЗ
| ВТСотрудникиНачисления КАК Сотрудники";
| ВТСотрудникиНачисления КАК Сотрудники";
Запрос.УстановитьПараметр("ИсходныеДанные", СотрудникиНачисления);
Запрос.УстановитьПараметр("ИсходныеДанные", СотрудникиНачисления);
Запрос.Выполнить();
Запрос.Выполнить();
// Определяем минимальную и максимальную даты для оптимизации последующих запросов.
// Определяем минимальную и максимальную даты для оптимизации последующих запросов.
Запрос.Текст =
Запрос.Текст =
"ВЫБРАТЬ
"ВЫБРАТЬ
| МИНИМУМ(Сотрудники.ДатаНачала) КАК МинимальнаяДата,
| МИНИМУМ(Сотрудники.ДатаНачала) КАК МинимальнаяДата,
| МАКСИМУМ(Сотрудники.ДатаОкончания) КАК МаксимальнаяДата
| МАКСИМУМ(Сотрудники.ДатаОкончания) КАК МаксимальнаяДата
|ИЗ
|ИЗ
| ВТСотрудникиПериоды КАК Сотрудники";
| ВТСотрудникиПериоды КАК Сотрудники";
Выборка = Запрос.Выполнить().Выбрать();
Выборка = Запрос.Выполнить().Выбрать();
МинимальнаяДата = Неопределено;
МинимальнаяДата = Неопределено;
МаксимальнаяДата = Неопределено;
МаксимальнаяДата = Неопределено;
Если Выборка.Следующий() Тогда
Если Выборка.Следующий() Тогда
МинимальнаяДата = Выборка.МинимальнаяДата;
МинимальнаяДата = Выборка.МинимальнаяДата;
МаксимальнаяДата = Выборка.МаксимальнаяДата;
МаксимальнаяДата = Выборка.МаксимальнаяДата;
КонецЕсли;
КонецЕсли;
// Получаем ВТРабочиеМестаСотрудников для определения организации и подразделения на конкретные даты.
// Получаем ВТРабочиеМестаСотрудников для определения организации и подразделения на конкретные даты.
ПараметрыВТРабочиеМеста = КадровыйУчет.ПараметрыДляЗапросВТРабочиеМестаСотрудниковПоВременнойТаблице(
ПараметрыВТРабочиеМеста = КадровыйУчет.ПараметрыДляЗапросВТРабочиеМестаСотрудниковПоВременнойТаблице(
"ВТСотрудникиПериоды", "Сотрудник", "ДатаНачала", "ДатаОкончания");
"ВТСотрудникиПериоды", "Сотрудник", "ДатаНачала", "ДатаОкончания");
ПараметрыВТРабочиеМеста.ПодработкиРаботниковПоТрудовымДоговорам = ПолучитьФункциональнуюОпцию("ИспользоватьПодработки");
ПараметрыВТРабочиеМеста.ПодработкиРаботниковПоТрудовымДоговорам = ПолучитьФункциональнуюОпцию("ИспользоватьПодработки");
УстановитьПривилегированныйРежим(Истина);
УстановитьПривилегированныйРежим(Истина);
ЗапросВТРабочиеМеста = КадровыйУчет.ЗапросВТРабочиеМестаСотрудниковПоВременнойТаблице(Истина, "ВТРабочиеМестаСотрудников", ПараметрыВТРабочиеМеста);
ЗапросВТРабочиеМеста = КадровыйУчет.ЗапросВТРабочиеМестаСотрудниковПоВременнойТаблице(Истина, "ВТРабочиеМестаСотрудников", ПараметрыВТРабочиеМеста);
ЗапросВТРабочиеМеста.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц;
ЗапросВТРабочиеМеста.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц;
ЗапросВТРабочиеМеста.Выполнить();
ЗапросВТРабочиеМеста.Выполнить();
// Получаем "кадровый" график работы.
// Получаем "кадровый" график работы.
ОписательВременныхТаблиц = КадровыйУчет.ОписательВременныхТаблицДляСоздатьВТКадровыеДанныеСотрудников(
ОписательВременныхТаблиц = КадровыйУчет.ОписательВременныхТаблицДляСоздатьВТКадровыеДанныеСотрудников(
МенеджерВременныхТаблиц, "ВТСотрудникиПериоды", "Сотрудник,ДатаНачала");
МенеджерВременныхТаблиц, "ВТСотрудникиПериоды", "Сотрудник,ДатаНачала");
КадровыйУчет.СоздатьВТКадровыеДанныеСотрудников(ОписательВременныхТаблиц, Истина, "ГрафикРаботы, СуммированныйУчетРабочегоВремени, Организация, Подразделение");
КадровыйУчет.СоздатьВТКадровыеДанныеСотрудников(ОписательВременныхТаблиц, Истина, "ГрафикРаботы, СуммированныйУчетРабочегоВремени, Организация, Подразделение");
УстановитьПривилегированныйРежим(Ложь);
УстановитьПривилегированныйРежим(Ложь);
СоздатьВТПочасоваяОплатаТруда(МенеджерВременныхТаблиц, "ВТСотрудникиПериоды");
СоздатьВТПочасоваяОплатаТруда(МенеджерВременныхТаблиц, "ВТСотрудникиПериоды");
// Пересоздаем таблицу ВТРабочиеМестаСотрудников, чтобы включить в нее еще и неработающих сотрудников.
// Пересоздаем таблицу ВТРабочиеМестаСотрудников, чтобы включить в нее еще и неработающих сотрудников.
Запрос.Текст =
Запрос.Текст =
"ВЫБРАТЬ
"ВЫБРАТЬ
| РабочиеМестаСотрудников.Период,
| РабочиеМестаСотрудников.Период,
| РабочиеМестаСотрудников.Сотрудник,
| РабочиеМестаСотрудников.Сотрудник,
| РабочиеМестаСотрудников.Организация,
| РабочиеМестаСотрудников.Организация,
| РабочиеМестаСотрудников.Подразделение
| РабочиеМестаСотрудников.Подразделение
|ПОМЕСТИТЬ ВТПрежняяТаблицаРабочиеМестаСотрудников
|ПОМЕСТИТЬ ВТПрежняяТаблицаРабочиеМестаСотрудников
|ИЗ
|ИЗ
| ВТРабочиеМестаСотрудников КАК РабочиеМестаСотрудников
| ВТРабочиеМестаСотрудников КАК РабочиеМестаСотрудников
|;
|;
|
|
|////////////////////////////////////////////////////////////////////////////////
|////////////////////////////////////////////////////////////////////////////////
|УНИЧТОЖИТЬ ВТРабочиеМестаСотрудников
|УНИЧТОЖИТЬ ВТРабочиеМестаСотрудников
|;
|;
|
|
|////////////////////////////////////////////////////////////////////////////////
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
|ВЫБРАТЬ
| РабочиеМестаРаботающихСотрудников.Период,
| РабочиеМестаРаботающихСотрудников.Период,
| РабочиеМестаРаботающихСотрудников.Сотрудник,
| РабочиеМестаРаботающихСотрудников.Сотрудник,
| РабочиеМестаРаботающихСотрудников.Организация,
| РабочиеМестаРаботающихСотрудников.Организация,
| РабочиеМестаРаботающихСотрудников.Подразделение
| РабочиеМестаРаботающихСотрудников.Подразделение
|ПОМЕСТИТЬ ВТРабочиеМестаСотрудников
|ПОМЕСТИТЬ ВТРабочиеМестаСотрудников
|ИЗ
|ИЗ
| ВТПрежняяТаблицаРабочиеМестаСотрудников КАК РабочиеМестаРаботающихСотрудников
| ВТПрежняяТаблицаРабочиеМестаСотрудников КАК РабочиеМестаРаботающихСотрудников
|
|
|ОБЪЕДИНИТЬ ВСЕ
|ОБЪЕДИНИТЬ ВСЕ
|
|
|ВЫБРАТЬ
|ВЫБРАТЬ
| РабочиеМестаНеработающихСотрудников.Период,
| РабочиеМестаНеработающихСотрудников.Период,
| РабочиеМестаНеработающихСотрудников.Сотрудник,
| РабочиеМестаНеработающихСотрудников.Сотрудник,
| РабочиеМестаНеработающихСотрудников.Организация,
| РабочиеМестаНеработающихСотрудников.Организация,
| РабочиеМестаНеработающихСотрудников.Подразделение
| РабочиеМестаНеработающихСотрудников.Подразделение
|ИЗ
|ИЗ
| ВТКадровыеДанныеСотрудников КАК РабочиеМестаНеработающихСотрудников
| ВТКадровыеДанныеСотрудников КАК РабочиеМестаНеработающихСотрудников
| ЛЕВОЕ СОЕДИНЕНИЕ ВТПрежняяТаблицаРабочиеМестаСотрудников КАК РабочиеМестаСотрудников
| ЛЕВОЕ СОЕДИНЕНИЕ ВТПрежняяТаблицаРабочиеМестаСотрудников КАК РабочиеМестаСотрудников
| ПО (РабочиеМестаСотрудников.Сотрудник = РабочиеМестаНеработающихСотрудников.Сотрудник)
| ПО (РабочиеМестаСотрудников.Сотрудник = РабочиеМестаНеработающихСотрудников.Сотрудник)
|ГДЕ
|ГДЕ
| РабочиеМестаСотрудников.Сотрудник ЕСТЬ NULL ";
| РабочиеМестаСотрудников.Сотрудник ЕСТЬ NULL ";
Запрос.Выполнить();
Запрос.Выполнить();
// Формируем ВТ с организацией для корректного выявления значений показателей.
// Формируем ВТ с организацией для корректного выявления значений показателей.
Запрос.Текст =
Запрос.Текст =
"ВЫБРАТЬ РАЗЛИЧНЫЕ
"ВЫБРАТЬ РАЗЛИЧНЫЕ
| РабочиеМеста.Организация,
| РабочиеМеста.Организация,
| РабочиеМеста.Сотрудник,
| РабочиеМеста.Сотрудник,
| МИНИМУМ(СотрудникиНачисления.ДатаНачала) КАК ДатаНачала,
| МИНИМУМ(СотрудникиНачисления.ДатаНачала) КАК ДатаНачала,
| МАКСИМУМ(СотрудникиНачисления.ДатаОкончания) КАК ДатаОкончания
| МАКСИМУМ(СотрудникиНачисления.ДатаОкончания) КАК ДатаОкончания
|ПОМЕСТИТЬ ВТСотрудникиОрганизации
|ПОМЕСТИТЬ ВТСотрудникиОрганизации
|ИЗ
|ИЗ
| ВТРабочиеМестаСотрудников КАК РабочиеМеста
| ВТРабочиеМестаСотрудников КАК РабочиеМеста
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТСотрудникиНачисления КАК СотрудникиНачисления
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТСотрудникиНачисления КАК СотрудникиНачисления
| ПО РабочиеМеста.Сотрудник = СотрудникиНачисления.Сотрудник
| ПО РабочиеМеста.Сотрудник = СотрудникиНачисления.Сотрудник
|
|
|СГРУППИРОВАТЬ ПО
|СГРУППИРОВАТЬ ПО
| РабочиеМеста.Организация,
| РабочиеМеста.Организация,
| РабочиеМеста.Сотрудник";
| РабочиеМеста.Сотрудник";
Запрос.Выполнить();
Запрос.Выполнить();
ПараметрыПостроения = ЗарплатаКадрыОбщиеНаборыДанных.ПараметрыПостроенияДляСоздатьВТИмяРегистра();
ПараметрыПостроения = ЗарплатаКадрыОбщиеНаборыДанных.ПараметрыПостроенияДляСоздатьВТИмяРегистра();
ПараметрыПостроения.ВключатьЗаписиНаНачалоПериода = Истина;
ПараметрыПостроения.ВключатьЗаписиНаНачалоПериода = Истина;
ОписаниеФильтра = ЗарплатаКадрыОбщиеНаборыДанных.ОписаниеФильтраДляСоздатьВТИмяРегистра("ВТСотрудникиОрганизации", "Сотрудник,Организация");
ОписаниеФильтра = ЗарплатаКадрыОбщиеНаборыДанных.ОписаниеФильтраДляСоздатьВТИмяРегистра("ВТСотрудникиОрганизации", "Сотрудник,Организация");
ЗарплатаКадрыОбщиеНаборыДанных.СоздатьВТИмяРегистра(
ЗарплатаКадрыОбщиеНаборыДанных.СоздатьВТИмяРегистра(
"ЗначенияПериодическихПоказателейРасчетаЗарплатыСотрудников",
"ЗначенияПериодическихПоказателейРасчетаЗарплатыСотрудников",
МенеджерВременныхТаблиц,
МенеджерВременныхТаблиц,
Истина,
Истина,
ОписаниеФильтра,
ОписаниеФильтра,
ПараметрыПостроения,
ПараметрыПостроения,
"ВТЗначенияПериодическихПоказателейСотрудниковСрезИДвижения");
"ВТЗначенияПериодическихПоказателейСотрудниковСрезИДвижения");
// Применение начислений
// Применение начислений
Запрос.Текст =
Запрос.Текст =
"ВЫБРАТЬ РАЗЛИЧНЫЕ
"ВЫБРАТЬ РАЗЛИЧНЫЕ
| Сотрудники.Сотрудник,
| Сотрудники.Сотрудник,
| Сотрудники.Начисление,
| Сотрудники.Начисление,
| Сотрудники.ДатаНачала КАК ДатаНачала,
| Сотрудники.ДатаНачала КАК ДатаНачала,
| Сотрудники.ДатаОкончания
| Сотрудники.ДатаОкончания
|ПОМЕСТИТЬ ВТСотрудники
|ПОМЕСТИТЬ ВТСотрудники
|ИЗ
|ИЗ
| ВТСотрудникиНачисления КАК Сотрудники";
| ВТСотрудникиНачисления КАК Сотрудники";
Запрос.Выполнить();
Запрос.Выполнить();
ПараметрыПостроения = ЗарплатаКадрыОбщиеНаборыДанных.ПараметрыПостроенияДляСоздатьВТИмяРегистра();
ПараметрыПостроения = ЗарплатаКадрыОбщиеНаборыДанных.ПараметрыПостроенияДляСоздатьВТИмяРегистра();
ПараметрыПостроения.ВключатьЗаписиНаНачалоПериода = Истина;
ПараметрыПостроения.ВключатьЗаписиНаНачалоПериода = Истина;
// Организации и подразделения.
// Организации и подразделения.
ТекстЗапроса =
ТекстЗапроса =
"ВЫБРАТЬ РАЗЛИЧНЫЕ
"ВЫБРАТЬ РАЗЛИЧНЫЕ
| РабочиеМеста.Организация,
| РабочиеМеста.Организация,
| РабочиеМеста.Подразделение,
| РабочиеМеста.Подразделение,
| СотрудникиНачисления.ДатаНачала КАК ДатаНачала,
| СотрудникиНачисления.ДатаНачала КАК ДатаНачала,
| СотрудникиНачисления.ДатаОкончания КАК ДатаОкончания
| СотрудникиНачисления.ДатаОкончания КАК ДатаОкончания
|ПОМЕСТИТЬ ВТОрганизацииПодразделения
|ПОМЕСТИТЬ ВТОрганизацииПодразделения
|ИЗ
|ИЗ
| ВТРабочиеМестаСотрудников КАК РабочиеМеста
| ВТРабочиеМестаСотрудников КАК РабочиеМеста
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТСотрудникиНачисления КАК СотрудникиНачисления
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТСотрудникиНачисления КАК СотрудникиНачисления
| ПО РабочиеМеста.Сотрудник = СотрудникиНачисления.Сотрудник";
| ПО РабочиеМеста.Сотрудник = СотрудникиНачисления.Сотрудник";
Запрос = Новый Запрос(ТекстЗапроса);
Запрос = Новый Запрос(ТекстЗапроса);
Запрос.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц;
Запрос.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц;
Запрос.Выполнить();
Запрос.Выполнить();
// Таблицы периодических показателей организации.
// Таблицы периодических показателей организации.
ЗарплатаКадрыОбщиеНаборыДанных.СоздатьВТИмяРегистра(
ЗарплатаКадрыОбщиеНаборыДанных.СоздатьВТИмяРегистра(
"ЗначенияПериодическихПоказателейРасчетаЗарплатыОрганизаций",
"ЗначенияПериодическихПоказателейРасчетаЗарплатыОрганизаций",
МенеджерВременныхТаблиц,
МенеджерВременныхТаблиц,
Истина,
Истина,
ЗарплатаКадрыОбщиеНаборыДанных.ОписаниеФильтраДляСоздатьВТИмяРегистра(
ЗарплатаКадрыОбщиеНаборыДанных.ОписаниеФильтраДляСоздатьВТИмяРегистра(
"ВТОрганизацииПодразделения",
"ВТОрганизацииПодразделения",
"Организация"),
"Организация"),
ПараметрыПостроения,
ПараметрыПостроения,
"ВТЗначенияПериодическихПоказателейОрганизацийСрезИДвижения");
"ВТЗначенияПериодическихПоказателейОрганизацийСрезИДвижения");
// Таблицы периодических показателей подразделения.
// Таблицы периодических показателей подразделения.
ЗарплатаКадрыОбщиеНаборыДанных.СоздатьВТИмяРегистра(
ЗарплатаКадрыОбщиеНаборыДанных.СоздатьВТИмяРегистра(
"ЗначенияПериодическихПоказателейРасчетаЗарплатыПодразделений",
"ЗначенияПериодическихПоказателейРасчетаЗарплатыПодразделений",
МенеджерВременныхТаблиц,
МенеджерВременныхТаблиц,
Истина,
Истина,
ЗарплатаКадрыОбщиеНаборыДанных.ОписаниеФильтраДляСоздатьВТИмяРегистра(
ЗарплатаКадрыОбщиеНаборыДанных.ОписаниеФильтраДляСоздатьВТИмяРегистра(
"ВТОрганизацииПодразделения",
"ВТОрганизацииПодразделения",
"Подразделение"),
"Подразделение"),
ПараметрыПостроения,
ПараметрыПостроения,
"ВТЗначенияПериодическихПоказателейПодразделенийСрезИДвижения");
"ВТЗначенияПериодическихПоказателейПодразделенийСрезИДвижения");
Запрос.УстановитьПараметр("Праздники", Справочники.ВидыИспользованияРабочегоВремени.ВидыВремениРаботаВыходныеПраздничные());
Запрос.УстановитьПараметр("Праздники", Справочники.ВидыИспользованияРабочегоВремени.ВидыВремениРаботаВыходныеПраздничные());
Запрос.Текст =
Запрос.Текст =
"ВЫБРАТЬ РАЗЛИЧНЫЕ
"ВЫБРАТЬ РАЗЛИЧНЫЕ
| КадровыеДанныеСотрудников.Сотрудник,
| КадровыеДанныеСотрудников.Сотрудник,
| НАЧАЛОПЕРИОДА(КадровыеДанныеСотрудников.Период, МЕСЯЦ) КАК Месяц
| НАЧАЛОПЕРИОДА(КадровыеДанныеСотрудников.Период, МЕСЯЦ) КАК Месяц
|ПОМЕСТИТЬ ВТМесяцыКадровыхДанных
|ПОМЕСТИТЬ ВТМесяцыКадровыхДанных
|ИЗ
|ИЗ
| ВТКадровыеДанныеСотрудников КАК КадровыеДанныеСотрудников
| ВТКадровыеДанныеСотрудников КАК КадровыеДанныеСотрудников
|;
|;
|
|
|////////////////////////////////////////////////////////////////////////////////
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ РАЗЛИЧНЫЕ
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| ИндивидуальныеГрафики.Сотрудник КАК ГрафикРаботы,
| ИндивидуальныеГрафики.Сотрудник КАК ГрафикРаботы,
| ИндивидуальныеГрафики.Месяц
| ИндивидуальныеГрафики.Месяц
|ПОМЕСТИТЬ ВТИндивидуальныеГрафики
|ПОМЕСТИТЬ ВТИндивидуальныеГрафики
|ИЗ
|ИЗ
| ВТМесяцыКадровыхДанных КАК ИндивидуальныеГрафики
| ВТМесяцыКадровыхДанных КАК ИндивидуальныеГрафики
|ГДЕ
|ГДЕ
| ИСТИНА В
| ИСТИНА В
| (ВЫБРАТЬ ПЕРВЫЕ 1
| (ВЫБРАТЬ ПЕРВЫЕ 1
| ИСТИНА
| ИСТИНА
| ИЗ
| ИЗ
| РегистрСведений.ГрафикиРаботыПоВидамВремени КАК ГрафикиРаботыПоВидамВремени
| РегистрСведений.ГрафикиРаботыПоВидамВремени КАК ГрафикиРаботыПоВидамВремени
| ГДЕ
| ГДЕ
| ГрафикиРаботыПоВидамВремени.ГрафикРаботы = ИндивидуальныеГрафики.Сотрудник
| ГрафикиРаботыПоВидамВремени.ГрафикРаботы = ИндивидуальныеГрафики.Сотрудник
| И ГрафикиРаботыПоВидамВремени.Месяц = ИндивидуальныеГрафики.Месяц)
| И ГрафикиРаботыПоВидамВремени.Месяц = ИндивидуальныеГрафики.Месяц)
|;
|;
|
|
|////////////////////////////////////////////////////////////////////////////////
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
|ВЫБРАТЬ
| КадровыеДанныеСотрудников.Сотрудник,
| КадровыеДанныеСотрудников.Сотрудник,
| КадровыеДанныеСотрудников.Период,
| КадровыеДанныеСотрудников.Период,
| ЕСТЬNULL(ИндивидуальныйГрафик.ГрафикРаботы, КадровыеДанныеСотрудников.ГрафикРаботы) КАК ГрафикРаботы,
| ЕСТЬNULL(ИндивидуальныйГрафик.ГрафикРаботы, КадровыеДанныеСотрудников.ГрафикРаботы) КАК ГрафикРаботы,
| ВЫБОР
| ВЫБОР
| КОГДА ИндивидуальныйГрафик.ГрафикРаботы ЕСТЬ НЕ NULL
| КОГДА ИндивидуальныйГрафик.ГрафикРаботы ЕСТЬ НЕ NULL
| ТОГДА ИндивидуальныйГрафик.ГрафикРаботы
| ТОГДА ИндивидуальныйГрафик.ГрафикРаботы
| ИНАЧЕ ВЫБОР
| ИНАЧЕ ВЫБОР
| КОГДА ГрафикиРаботыСотрудников.ГрафикПолногоРабочегоВремени <> ЗНАЧЕНИЕ(Справочник.ГрафикиРаботыСотрудников.ПустаяСсылка)
| КОГДА ГрафикиРаботыСотрудников.ГрафикПолногоРабочегоВремени <> ЗНАЧЕНИЕ(Справочник.ГрафикиРаботыСотрудников.ПустаяСсылка)
| ТОГДА ГрафикиРаботыСотрудников.ГрафикПолногоРабочегоВремени
| ТОГДА ГрафикиРаботыСотрудников.ГрафикПолногоРабочегоВремени
| ИНАЧЕ ГрафикиРаботыСотрудников.Ссылка
| ИНАЧЕ ГрафикиРаботыСотрудников.Ссылка
| КОНЕЦ
| КОНЕЦ
| КОНЕЦ КАК ГрафикРаботыНорма,
| КОНЕЦ КАК ГрафикРаботыНорма,
| ГрафикиРаботыСотрудников.СуммированныйУчетРабочегоВремени КАК СуммированныйУчетРабочегоВремени
| ГрафикиРаботыСотрудников.СуммированныйУчетРабочегоВремени КАК СуммированныйУчетРабочегоВремени
|ПОМЕСТИТЬ ВТГрафикиРаботы
|ПОМЕСТИТЬ ВТГрафикиРаботы
|ИЗ
|ИЗ
| ВТКадровыеДанныеСотрудников КАК КадровыеДанныеСотрудников
| ВТКадровыеДанныеСотрудников КАК КадровыеДанныеСотрудников
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.ГрафикиРаботыСотрудников КАК ГрафикиРаботыСотрудников
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.ГрафикиРаботыСотрудников КАК ГрафикиРаботыСотрудников
| ПО (ГрафикиРаботыСотрудников.Ссылка = КадровыеДанныеСотрудников.ГрафикРаботы)
| ПО (ГрафикиРаботыСотрудников.Ссылка = КадровыеДанныеСотрудников.ГрафикРаботы)
| ЛЕВОЕ СОЕДИНЕНИЕ ВТИндивидуальныеГрафики КАК ИндивидуальныйГрафик
| ЛЕВОЕ СОЕДИНЕНИЕ ВТИндивидуальныеГрафики КАК ИндивидуальныйГрафик
| ПО (ИндивидуальныйГрафик.ГрафикРаботы = КадровыеДанныеСотрудников.Сотрудник)
| ПО (ИндивидуальныйГрафик.ГрафикРаботы = КадровыеДанныеСотрудников.Сотрудник)
| И (ИндивидуальныйГрафик.Месяц = НАЧАЛОПЕРИОДА(КадровыеДанныеСотрудников.Период, МЕСЯЦ))
| И (ИндивидуальныйГрафик.Месяц = НАЧАЛОПЕРИОДА(КадровыеДанныеСотрудников.Период, МЕСЯЦ))
|;
|;
|
|
|////////////////////////////////////////////////////////////////////////////////
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
|ВЫБРАТЬ
| НачисленияЗаПериод.Сотрудник,
| НачисленияЗаПериод.Сотрудник,
| НачисленияЗаПериод.ДатаНачала,
| НачисленияЗаПериод.ДатаНачала,
| НачисленияЗаПериод.ДатаОкончания,
| НачисленияЗаПериод.ДатаОкончания,
| НачисленияЗаПериод.Начисление,
| НачисленияЗаПериод.Начисление,
| НачисленияЗаПериод.ДокументОснование,
| НачисленияЗаПериод.ДокументОснование,
| НАЧАЛОПЕРИОДА(НачисленияЗаПериод.ДатаНачала, МЕСЯЦ) КАК Месяц,
| НАЧАЛОПЕРИОДА(НачисленияЗаПериод.ДатаНачала, МЕСЯЦ) КАК Месяц,
| Начисления.ОбозначениеВТабелеУчетаРабочегоВремени КАК ВидУчетаВремени,
| Начисления.ОбозначениеВТабелеУчетаРабочегоВремени КАК ВидУчетаВремени,
| ГрафикиРаботы.ГрафикРаботы
| ГрафикиРаботы.ГрафикРаботы
|ПОМЕСТИТЬ ВТИнтервалыОплатыПраздничныхДней
|ПОМЕСТИТЬ ВТИнтервалыОплатыПраздничныхДней
|ИЗ
|ИЗ
| ВТСотрудникиНачисления КАК НачисленияЗаПериод
| ВТСотрудникиНачисления КАК НачисленияЗаПериод
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ПланВидовРасчета.Начисления КАК Начисления
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ПланВидовРасчета.Начисления КАК Начисления
| ПО (Начисления.Ссылка = НачисленияЗаПериод.Начисление)
| ПО (Начисления.Ссылка = НачисленияЗаПериод.Начисление)
| И (Начисления.ОбозначениеВТабелеУчетаРабочегоВремени В (&Праздники))
| И (Начисления.ОбозначениеВТабелеУчетаРабочегоВремени В (&Праздники))
| ЛЕВОЕ СОЕДИНЕНИЕ ВТГрафикиРаботы КАК ГрафикиРаботы
| ЛЕВОЕ СОЕДИНЕНИЕ ВТГрафикиРаботы КАК ГрафикиРаботы
| ПО НачисленияЗаПериод.Сотрудник = ГрафикиРаботы.Сотрудник
| ПО НачисленияЗаПериод.Сотрудник = ГрафикиРаботы.Сотрудник
| И НачисленияЗаПериод.ДатаНачала = ГрафикиРаботы.Период
| И НачисленияЗаПериод.ДатаНачала = ГрафикиРаботы.Период
|;
|;
|
|
|////////////////////////////////////////////////////////////////////////////////
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ РАЗЛИЧНЫЕ
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| Интервалы.Сотрудник,
| Интервалы.Сотрудник,
| Интервалы.ДатаНачала,
| Интервалы.ДатаНачала,
| Интервалы.Начисление,
| Интервалы.Начисление,
| ВЫБОР
| ВЫБОР
| КОГДА ИСТИНА В
| КОГДА ИСТИНА В
| (ВЫБРАТЬ ПЕРВЫЕ 1
| (ВЫБРАТЬ ПЕРВЫЕ 1
| ИСТИНА
| ИСТИНА
| ИЗ
| ИЗ
| РегистрСведений.ГрафикиРаботыПоВидамВремени КАК ГрафикиРаботыПоВидамВремени
| РегистрСведений.ГрафикиРаботыПоВидамВремени КАК ГрафикиРаботыПоВидамВремени
| ГДЕ
| ГДЕ
| ГрафикиРаботыПоВидамВремени.ГрафикРаботы = Интервалы.ГрафикРаботы
| ГрафикиРаботыПоВидамВремени.ГрафикРаботы = Интервалы.ГрафикРаботы
| И ГрафикиРаботыПоВидамВремени.Месяц = Интервалы.Месяц
| И ГрафикиРаботыПоВидамВремени.Месяц = Интервалы.Месяц
| И ГрафикиРаботыПоВидамВремени.Дата МЕЖДУ Интервалы.ДатаНачала И Интервалы.ДатаОкончания
| И ГрафикиРаботыПоВидамВремени.Дата МЕЖДУ Интервалы.ДатаНачала И Интервалы.ДатаОкончания
| И ГрафикиРаботыПоВидамВремени.ВидУчетаВремени = Интервалы.ВидУчетаВремени
| И ГрафикиРаботыПоВидамВремени.ВидУчетаВремени = Интервалы.ВидУчетаВремени
| И ГрафикиРаботыПоВидамВремени.ВремяВЧасах = ЛОЖЬ
| И ГрафикиРаботыПоВидамВремени.ВремяВЧасах = ЛОЖЬ
| И ГрафикиРаботыПоВидамВремени.ДополнительноеЗначение > 0)
| И ГрафикиРаботыПоВидамВремени.ДополнительноеЗначение > 0)
| ТОГДА ИСТИНА
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ КАК ВремяВЧасах
| КОНЕЦ КАК ВремяВЧасах
|ПОМЕСТИТЬ ВТСпособыОплатыПраздничныхДней
|ПОМЕСТИТЬ ВТСпособыОплатыПраздничныхДней
|ИЗ
|ИЗ
| ВТИнтервалыОплатыПраздничныхДней КАК Интервалы
| ВТИнтервалыОплатыПраздничныхДней КАК Интервалы
|;
|;
|
|
|////////////////////////////////////////////////////////////////////////////////
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ РАЗЛИЧНЫЕ
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| ПоказателиПроизвольнойФормулы.Ссылка КАК Начисление,
| ПоказателиПроизвольнойФормулы.Ссылка КАК Начисление,
| ПоказателиПроизвольнойФормулы.Показатель,
| ПоказателиПроизвольнойФормулы.Показатель,
| ПоказателиПроизвольнойФормулы.ЗапрашиватьПриВводе,
| ПоказателиПроизвольнойФормулы.ЗапрашиватьПриВводе,
| ПоказателиПроизвольнойФормулы.НомерСтроки
| ПоказателиПроизвольнойФормулы.НомерСтроки
|ПОМЕСТИТЬ ВТНачисленияПоказатели
|ПОМЕСТИТЬ ВТНачисленияПоказатели
|ИЗ
|ИЗ
| ПланВидовРасчета.Начисления.Показатели КАК ПоказателиПроизвольнойФормулы
| ПланВидовРасчета.Начисления.Показатели КАК ПоказателиПроизвольнойФормулы
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТСотрудникиНачисления КАК СотрудникиНачисления
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТСотрудникиНачисления КАК СотрудникиНачисления
| ПО (СотрудникиНачисления.Начисление = ПоказателиПроизвольнойФормулы.Ссылка)
| ПО (СотрудникиНачисления.Начисление = ПоказателиПроизвольнойФормулы.Ссылка)
|ГДЕ
|ГДЕ
| ПоказателиПроизвольнойФормулы.ИспользоватьПриРасчете
| ПоказателиПроизвольнойФормулы.ИспользоватьПриРасчете
|;
|;
|
|
|////////////////////////////////////////////////////////////////////////////////
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
|ВЫБРАТЬ
| Интервалы.Сотрудник,
| Интервалы.Сотрудник,
| Интервалы.ДатаНачала,
| Интервалы.ДатаНачала,
| МАКСИМУМ(КадроваяИсторияСотрудников.Период) КАК КадроваяИсторияСотрудниковПериод
| МАКСИМУМ(КадроваяИсторияСотрудников.Период) КАК КадроваяИсторияСотрудниковПериод
|ПОМЕСТИТЬ ВТДатыКадровойИстории
|ПОМЕСТИТЬ ВТДатыКадровойИстории
|ИЗ
|ИЗ
| ВТСотрудникиНачисления КАК Интервалы
| ВТСотрудникиНачисления КАК Интервалы
| ЛЕВОЕ СОЕДИНЕНИЕ ВТРабочиеМестаСотрудников КАК КадроваяИсторияСотрудников
| ЛЕВОЕ СОЕДИНЕНИЕ ВТРабочиеМестаСотрудников КАК КадроваяИсторияСотрудников
| ПО (КадроваяИсторияСотрудников.Сотрудник = Интервалы.Сотрудник)
| ПО (КадроваяИсторияСотрудников.Сотрудник = Интервалы.Сотрудник)
| И (КадроваяИсторияСотрудников.Период <= Интервалы.ДатаНачала)
| И (КадроваяИсторияСотрудников.Период <= Интервалы.ДатаНачала)
|
|
|СГРУППИРОВАТЬ ПО
|СГРУППИРОВАТЬ ПО
| Интервалы.Сотрудник,
| Интервалы.Сотрудник,
| Интервалы.ДатаНачала";
| Интервалы.ДатаНачала";
Запрос.Выполнить();
Запрос.Выполнить();
Запрос.Текст =
Запрос.Текст =
"ВЫБРАТЬ
"ВЫБРАТЬ
| Интервалы.Сотрудник,
| Интервалы.Сотрудник,
| Сотрудники.ФизическоеЛицо,
| Сотрудники.ФизическоеЛицо,
| Интервалы.ДатаНачала,
| Интервалы.ДатаНачала,
| Интервалы.ДатаОкончания,
| Интервалы.ДатаОкончания,
| НАЧАЛОПЕРИОДА(Интервалы.ДатаНачала, МЕСЯЦ) КАК Месяц,
| НАЧАЛОПЕРИОДА(Интервалы.ДатаНачала, МЕСЯЦ) КАК Месяц,
| Интервалы.Начисление,
| Интервалы.Начисление,
| Интервалы.Начисление.ИспользоватьОперативныеПоказателиВЦеломЗаМесяц КАК ИспользоватьОперативныеПоказателиВЦеломЗаМесяц,
| Интервалы.Начисление.ИспользоватьОперативныеПоказателиВЦеломЗаМесяц КАК ИспользоватьОперативныеПоказателиВЦеломЗаМесяц,
| Интервалы.ДокументОснование,
| Интервалы.ДокументОснование,
| НачисленияПоказатели.Показатель,
| НачисленияПоказатели.Показатель,
| НачисленияПоказатели.ЗапрашиватьПриВводе,
| НачисленияПоказатели.ЗапрашиватьПриВводе,
| КадроваяИсторияСотрудников.Организация,
| КадроваяИсторияСотрудников.Организация,
| КадроваяИсторияСотрудников.Подразделение,
| КадроваяИсторияСотрудников.Подразделение,
| МАКСИМУМ(ЗначенияПериодическихПоказателейСотрудников.Период) КАК ЗначенияПериодическихПоказателейСотрудниковПериод,
| МАКСИМУМ(ЗначенияПериодическихПоказателейСотрудников.Период) КАК ЗначенияПериодическихПоказателейСотрудниковПериод,
| МАКСИМУМ(ЗначенияПериодическихПоказателейПодразделений.Период) КАК ЗначенияПериодическихПоказателейПодразделенийПериод,
| МАКСИМУМ(ЗначенияПериодическихПоказателейПодразделений.Период) КАК ЗначенияПериодическихПоказателейПодразделенийПериод,
| МАКСИМУМ(ЗначенияПериодическихПоказателейОрганизаций.Период) КАК ЗначенияПериодическихПоказателейОрганизацийПериод
| МАКСИМУМ(ЗначенияПериодическихПоказателейОрганизаций.Период) КАК ЗначенияПериодическихПоказателейОрганизацийПериод
|ПОМЕСТИТЬ ВТИнтервалыИДатыСрезов
|ПОМЕСТИТЬ ВТИнтервалыИДатыСрезов
|ИЗ
|ИЗ
| ВТСотрудникиНачисления КАК Интервалы
| ВТСотрудникиНачисления КАК Интервалы
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТДатыКадровойИстории КАК ДатыКадровойИстории
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТДатыКадровойИстории КАК ДатыКадровойИстории
| ПО (ДатыКадровойИстории.Сотрудник = Интервалы.Сотрудник)
| ПО (ДатыКадровойИстории.Сотрудник = Интервалы.Сотрудник)
| И (ДатыКадровойИстории.ДатаНачала = Интервалы.ДатаНачала)
| И (ДатыКадровойИстории.ДатаНачала = Интервалы.ДатаНачала)
| ЛЕВОЕ СОЕДИНЕНИЕ ВТРабочиеМестаСотрудников КАК КадроваяИсторияСотрудников
| ЛЕВОЕ СОЕДИНЕНИЕ ВТРабочиеМестаСотрудников КАК КадроваяИсторияСотрудников
| ПО Интервалы.Сотрудник = КадроваяИсторияСотрудников.Сотрудник
| ПО Интервалы.Сотрудник = КадроваяИсторияСотрудников.Сотрудник
| И (ДатыКадровойИстории.Сотрудник = КадроваяИсторияСотрудников.Сотрудник)
| И (ДатыКадровойИстории.Сотрудник = КадроваяИсторияСотрудников.Сотрудник)
| И (ДатыКадровойИстории.КадроваяИсторияСотрудниковПериод = КадроваяИсторияСотрудников.Период)
| И (ДатыКадровойИстории.КадроваяИсторияСотрудниковПериод = КадроваяИсторияСотрудников.Период)
| ЛЕВОЕ СОЕДИНЕНИЕ ВТНачисленияПоказатели КАК НачисленияПоказатели
| ЛЕВОЕ СОЕДИНЕНИЕ ВТНачисленияПоказатели КАК НачисленияПоказатели
| ПО (НачисленияПоказатели.Начисление = Интервалы.Начисление)
| ПО (НачисленияПоказатели.Начисление = Интервалы.Начисление)
| ЛЕВОЕ СОЕДИНЕНИЕ ВТЗначенияПериодическихПоказателейСотрудниковСрезИДвижения КАК ЗначенияПериодическихПоказателейСотрудников
| ЛЕВОЕ СОЕДИНЕНИЕ ВТЗначенияПериодическихПоказателейСотрудниковСрезИДвижения КАК ЗначенияПериодическихПоказателейСотрудников
| ПО (ЗначенияПериодическихПоказателейСотрудников.Сотрудник = Интервалы.Сотрудник)
| ПО (ЗначенияПериодическихПоказателейСотрудников.Сотрудник = Интервалы.Сотрудник)
| И (НЕ НачисленияПоказатели.ЗапрашиватьПриВводе
| И (НЕ НачисленияПоказатели.ЗапрашиватьПриВводе
| ИЛИ ЗначенияПериодическихПоказателейСотрудников.ДокументОснование = Интервалы.ДокументОснование)
| ИЛИ ЗначенияПериодическихПоказателейСотрудников.ДокументОснование = Интервалы.ДокументОснование)
| И (ЗначенияПериодическихПоказателейСотрудников.Показатель = НачисленияПоказатели.Показатель)
| И (ЗначенияПериодическихПоказателейСотрудников.Показатель = НачисленияПоказатели.Показатель)
| И (ВЫБОР
| И (ВЫБОР
| КОГДА Интервалы.Начисление.НачисляетсяВЦеломЗаМесяц
| КОГДА Интервалы.Начисление.НачисляетсяВЦеломЗаМесяц
| ТОГДА ЗначенияПериодическихПоказателейСотрудников.Период <= Интервалы.ДатаОкончания
| ТОГДА ЗначенияПериодическихПоказателейСотрудников.Период <= Интервалы.ДатаОкончания
| ИНАЧЕ ЗначенияПериодическихПоказателейСотрудников.Период <= Интервалы.ДатаНачала
| ИНАЧЕ ЗначенияПериодическихПоказателейСотрудников.Период <= Интервалы.ДатаНачала
| КОНЕЦ)
| КОНЕЦ)
| ЛЕВОЕ СОЕДИНЕНИЕ ВТЗначенияПериодическихПоказателейПодразделенийСрезИДвижения КАК ЗначенияПериодическихПоказателейПодразделений
| ЛЕВОЕ СОЕДИНЕНИЕ ВТЗначенияПериодическихПоказателейПодразделенийСрезИДвижения КАК ЗначенияПериодическихПоказателейПодразделений
| ПО (ЗначенияПериодическихПоказателейПодразделений.Подразделение = КадроваяИсторияСотрудников.Подразделение)
| ПО (ЗначенияПериодическихПоказателейПодразделений.Подразделение = КадроваяИсторияСотрудников.Подразделение)
| И (ЗначенияПериодическихПоказателейПодразделений.Показатель = НачисленияПоказатели.Показатель)
| И (ЗначенияПериодическихПоказателейПодразделений.Показатель = НачисленияПоказатели.Показатель)
| И (ЗначенияПериодическихПоказателейПодразделений.Период <= Интервалы.ДатаНачала)
| И (ЗначенияПериодическихПоказателейПодразделений.Период <= Интервалы.ДатаНачала)
| ЛЕВОЕ СОЕДИНЕНИЕ ВТЗначенияПериодическихПоказателейОрганизацийСрезИДвижения КАК ЗначенияПериодическихПоказателейОрганизаций
| ЛЕВОЕ СОЕДИНЕНИЕ ВТЗначенияПериодическихПоказателейОрганизацийСрезИДвижения КАК ЗначенияПериодическихПоказателейОрганизаций
| ПО (ЗначенияПериодическихПоказателейОрганизаций.Организация = КадроваяИсторияСотрудников.Организация)
| ПО (ЗначенияПериодическихПоказателейОрганизаций.Организация = КадроваяИсторияСотрудников.Организация)
| И (ЗначенияПериодическихПоказателейОрганизаций.Показатель = НачисленияПоказатели.Показатель)
| И (ЗначенияПериодическихПоказателейОрганизаций.Показатель = НачисленияПоказатели.Показатель)
| И (ЗначенияПериодическихПоказателейОрганизаций.Период <= Интервалы.ДатаНачала)
| И (ЗначенияПериодическихПоказателейОрганизаций.Период <= Интервалы.ДатаНачала)
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Сотрудники КАК Сотрудники
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Сотрудники КАК Сотрудники
| ПО Интервалы.Сотрудник = Сотрудники.Ссылка
| ПО Интервалы.Сотрудник = Сотрудники.Ссылка
|
|
|СГРУППИРОВАТЬ ПО
|СГРУППИРОВАТЬ ПО
| Интервалы.Сотрудник,
| Интервалы.Сотрудник,
| Интервалы.ДатаНачала,
| Интервалы.ДатаНачала,
| Интервалы.ДатаОкончания,
| Интервалы.ДатаОкончания,
| Интервалы.Начисление,
| Интервалы.Начисление,
| Интервалы.Начисление.ИспользоватьОперативныеПоказателиВЦеломЗаМесяц,
| Интервалы.Начисление.ИспользоватьОперативныеПоказателиВЦеломЗаМесяц,
| Интервалы.ДокументОснование,
| Интервалы.ДокументОснование,
| НачисленияПоказатели.Показатель,
| НачисленияПоказатели.Показатель,
| НачисленияПоказатели.ЗапрашиватьПриВводе,
| НачисленияПоказатели.ЗапрашиватьПриВводе,
| КадроваяИсторияСотрудников.Организация,
| КадроваяИсторияСотрудников.Организация,
| КадроваяИсторияСотрудников.Подразделение,
| КадроваяИсторияСотрудников.Подразделение,
| Сотрудники.ФизическоеЛицо";
| Сотрудники.ФизическоеЛицо";
УстановитьПривилегированныйРежим(Истина);
УстановитьПривилегированныйРежим(Истина);
Запрос.Выполнить();
Запрос.Выполнить();
УстановитьПривилегированныйРежим(Ложь);
УстановитьПривилегированныйРежим(Ложь);
Запрос.Текст =
Запрос.Текст =
"ВЫБРАТЬ
"ВЫБРАТЬ
| ЗначенияРазовыхОрганизации.ПериодДействия,
| ЗначенияРазовыхОрганизации.ПериодДействия,
| ЗначенияРазовыхОрганизации.Организация,
| ЗначенияРазовыхОрганизации.Организация,
| ЗначенияРазовыхОрганизации.Показатель,
| ЗначенияРазовыхОрганизации.Показатель,
| ЗначенияРазовыхОрганизации.Значение
| ЗначенияРазовыхОрганизации.Значение
|ПОМЕСТИТЬ ВТЗначенияРазовыхОрганизации
|ПОМЕСТИТЬ ВТЗначенияРазовыхОрганизации
|ИЗ
|ИЗ
| ВТИнтервалыИДатыСрезов КАК Интервалы
| ВТИнтервалыИДатыСрезов КАК Интервалы
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияРазовыхПоказателейРасчетаЗарплатыОрганизаций КАК ЗначенияРазовыхОрганизации
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияРазовыхПоказателейРасчетаЗарплатыОрганизаций КАК ЗначенияРазовыхОрганизации
| ПО Интервалы.Организация = ЗначенияРазовыхОрганизации.Организация
| ПО Интервалы.Организация = ЗначенияРазовыхОрганизации.Организация
| И Интервалы.Месяц = ЗначенияРазовыхОрганизации.ПериодДействия
| И Интервалы.Месяц = ЗначенияРазовыхОрганизации.ПериодДействия
|;
|;
|
|
|////////////////////////////////////////////////////////////////////////////////
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
|ВЫБРАТЬ
| ЗначенияРазовыхПодразделения.ПериодДействия,
| ЗначенияРазовыхПодразделения.ПериодДействия,
| ЗначенияРазовыхПодразделения.Подразделение,
| ЗначенияРазовыхПодразделения.Подразделение,
| ЗначенияРазовыхПодразделения.Показатель,
| ЗначенияРазовыхПодразделения.Показатель,
| ЗначенияРазовыхПодразделения.Организация,
| ЗначенияРазовыхПодразделения.Организация,
| ЗначенияРазовыхПодразделения.Значение
| ЗначенияРазовыхПодразделения.Значение
|ПОМЕСТИТЬ ВТЗначенияРазовыхПодразделения
|ПОМЕСТИТЬ ВТЗначенияРазовыхПодразделения
|ИЗ
|ИЗ
| ВТИнтервалыИДатыСрезов КАК Интервалы
| ВТИнтервалыИДатыСрезов КАК Интервалы
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияРазовыхПоказателейРасчетаЗарплатыПодразделений КАК ЗначенияРазовыхПодразделения
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияРазовыхПоказателейРасчетаЗарплатыПодразделений КАК ЗначенияРазовыхПодразделения
| ПО Интервалы.Подразделение = ЗначенияРазовыхПодразделения.Подразделение
| ПО Интервалы.Подразделение = ЗначенияРазовыхПодразделения.Подразделение
| И Интервалы.Месяц = ЗначенияРазовыхПодразделения.ПериодДействия
| И Интервалы.Месяц = ЗначенияРазовыхПодразделения.ПериодДействия
|;
|;
|
|
|////////////////////////////////////////////////////////////////////////////////
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
|ВЫБРАТЬ
| ЗначенияРазовыхСотрудники.ПериодДействия,
| ЗначенияРазовыхСотрудники.ПериодДействия,
| ЗначенияРазовыхСотрудники.Сотрудник,
| ЗначенияРазовыхСотрудники.Сотрудник,
| ЗначенияРазовыхСотрудники.Показатель,
| ЗначенияРазовыхСотрудники.Показатель,
| ЗначенияРазовыхСотрудники.Значение
| ЗначенияРазовыхСотрудники.Значение
|ПОМЕСТИТЬ ВТЗначенияРазовыхСотрудники
|ПОМЕСТИТЬ ВТЗначенияРазовыхСотрудники
|ИЗ
|ИЗ
| ВТИнтервалыИДатыСрезов КАК Интервалы
| ВТИнтервалыИДатыСрезов КАК Интервалы
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияРазовыхПоказателейРасчетаЗарплатыСотрудников КАК ЗначенияРазовыхСотрудники
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияРазовыхПоказателейРасчетаЗарплатыСотрудников КАК ЗначенияРазовыхСотрудники
| ПО Интервалы.Сотрудник = ЗначенияРазовыхСотрудники.Сотрудник
| ПО Интервалы.Сотрудник = ЗначенияРазовыхСотрудники.Сотрудник
| И Интервалы.Месяц = ЗначенияРазовыхСотрудники.ПериодДействия";
| И Интервалы.Месяц = ЗначенияРазовыхСотрудники.ПериодДействия";
Запрос.Выполнить();
Запрос.Выполнить();
Запрос.УстановитьПараметр("МинимальнаяДата", МинимальнаяДата);
Запрос.УстановитьПараметр("МинимальнаяДата", МинимальнаяДата);
Запрос.УстановитьПараметр("МаксимальнаяДата", МаксимальнаяДата);
Запрос.УстановитьПараметр("МаксимальнаяДата", МаксимальнаяДата);
Запрос.Текст =
Запрос.Текст =
"ВЫБРАТЬ
"ВЫБРАТЬ
| Интервалы.Сотрудник КАК Сотрудник,
| Интервалы.Сотрудник КАК Сотрудник,

| Интервалы.Организация КАК Организация,

| Интервалы.Месяц КАК Месяц,

| Интервалы.ДатаНачала КАК ДатаНачала,

| Интервалы.ДатаОкончания КАК ДатаОкончания,

| Интервалы.Начисление КАК Начисление,

| Интервалы.Показатель КАК Показатель

|ПОМЕСТИТЬ ВТИнтервалыИДатыСрезов_Экзамен

|ИЗ

| ВТИнтервалыИДатыСрезов КАК Интервалы

|ГДЕ

| Интервалы.Показатель = ЗНАЧЕНИЕ(Справочник.ПоказателиРасчетаЗарплаты.ПроцентНадбавкиЗаРаботуВОсобыхУсловияхЗаМесяц)

|;

|

|////////////////////////////////////////////////////////////////////////////////

|ВЫБРАТЬ

| ВТИнтервалыИДатыСрезов_Экзамен.Сотрудник КАК Сотрудник,

| ВТИнтервалыИДатыСрезов_Экзамен.Организация КАК Организация,

| ВТИнтервалыИДатыСрезов_Экзамен.Месяц,

| ВТИнтервалыИДатыСрезов_Экзамен.ДатаНачала КАК ДатаНачала,

| ВТИнтервалыИДатыСрезов_Экзамен.ДатаОкончания КАК ДатаОкончания,

| ВТИнтервалыИДатыСрезов_Экзамен.Начисление КАК Начисление,

| ВТИнтервалыИДатыСрезов_Экзамен.Показатель КАК Показатель,

| ВЫБОР

| КОГДА НЕ МАКСИМУМ(ДанныеТабельногоУчетаРабочегоВремениСотрудниковОбороты.Период) ЕСТЬ NULL

| ТОГДА СУММА(ЕСТЬNULL(ЗначенияПериодическихПоказателейРасчетаЗарплатыОрганизаций.Значение, 0) * ЕСТЬNULL(ДанныеТабельногоУчетаРабочегоВремениСотрудниковОбороты.ДниОборот, 0)) / КОЛИЧЕСТВО(ДанныеТабельногоУчетаРабочегоВремениСотрудниковОбороты.Период)

| ИНАЧЕ 0

| КОНЕЦ КАК Значение

|ПОМЕСТИТЬ ВТДанныеПоказателяПроцентЗаМесяц

|ИЗ

| ВТИнтервалыИДатыСрезов_Экзамен КАК ВТИнтервалыИДатыСрезов_Экзамен

| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияПериодическихПоказателейРасчетаЗарплатыОрганизаций КАК ЗначенияПериодическихПоказателейРасчетаЗарплатыОрганизаций

| ПО ВТИнтервалыИДатыСрезов_Экзамен.Организация = ЗначенияПериодическихПоказателейРасчетаЗарплатыОрганизаций.Организация

| И (ЗначенияПериодическихПоказателейРасчетаЗарплатыОрганизаций.Показатель = ЗНАЧЕНИЕ(Справочник.ПоказателиРасчетаЗарплаты.ПроцентНадбавкиЗаРаботуВОсобыхУсловияхЗаДень))

| И (ЗначенияПериодическихПоказателейРасчетаЗарплатыОрганизаций.Период МЕЖДУ ВТИнтервалыИДатыСрезов_Экзамен.ДатаНачала И ВТИнтервалыИДатыСрезов_Экзамен.ДатаОкончания)

| ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ДанныеТабельногоУчетаРабочегоВремениСотрудников.Обороты(

| &МинимальнаяДата,

| &МаксимальнаяДата,

| День,

| ВидУчетаВремени = ЗНАЧЕНИЕ(Справочник.ВидыИспользованияРабочегоВремени.РаботаВОсобыхУсловиях)

| И Сотрудник В

| (ВЫБРАТЬ РАЗЛИЧНЫЕ

| ВТИнтервалыИДатыСрезов_Экзамен.Сотрудник

| ИЗ

| ВТИнтервалыИДатыСрезов_Экзамен КАК ВТИнтервалыИДатыСрезов_Экзамен)) КАК ДанныеТабельногоУчетаРабочегоВремениСотрудниковОбороты

| ПО ВТИнтервалыИДатыСрезов_Экзамен.Сотрудник = ДанныеТабельногоУчетаРабочегоВремениСотрудниковОбороты.Сотрудник

| И (ЗначенияПериодическихПоказателейРасчетаЗарплатыОрганизаций.Период = ДанныеТабельногоУчетаРабочегоВремениСотрудниковОбороты.Период)

|

|СГРУППИРОВАТЬ ПО

| ВТИнтервалыИДатыСрезов_Экзамен.Сотрудник,

| ВТИнтервалыИДатыСрезов_Экзамен.Организация,

| ВТИнтервалыИДатыСрезов_Экзамен.Месяц,

| ВТИнтервалыИДатыСрезов_Экзамен.ДатаНачала,

| ВТИнтервалыИДатыСрезов_Экзамен.ДатаОкончания,

| ВТИнтервалыИДатыСрезов_Экзамен.Показатель,

| ВТИнтервалыИДатыСрезов_Экзамен.Начисление

|

|ИНДЕКСИРОВАТЬ ПО

| Сотрудник,

| Организация,

| ДатаНачала,

| ДатаОкончания,

| Начисление,

| Показатель";


Запрос.Выполнить();


Запрос.Текст =

"ВЫБРАТЬ

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