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