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