Вход | Регистрация
 

помогите с грамотным запросом о кадровом переводе сотрудника

помогите с грамотным запросом о кадровом переводе сотрудника
Я
   aser_1488
 
28.01.20 - 10:02
Друзья, подскажите, пожалуйста, как решить данную задачу с наименьшей нагрузкой на систему.
есть такой запрос, который выдает информацию о кадровом переводе сотрудника, от меня требуют чтоб в результате была информация не только о подразделении в которое перешел сотрудник, но и подразделении ИЗ которого он перешел. как это осуществить?


Функция ТекстЗапросаКадровыйПеревод()
    Возврат "ВЫБРАТЬ
            |    КадровыйПеревод.Сотрудник.Код КАК СотрудникКод,
            |    КадровыйПеревод.Номер КАК Номер,
            |    КадровыйПеревод.Дата КАК Дата,
            |    КадровыйПеревод.Сотрудник КАК Сотрудник,
            |    КадровыйПеревод.ДатаНачала КАК ДатаДвижения,
            |    ВЫБОР
            |        КОГДА КадроваяИсторияСотрудников.ДолжностьПоШтатномуРасписанию ЕСТЬ NULL
            |            ТОГДА КадроваяИсторияСотрудниковПенсионеры.ДолжностьПоШтатномуРасписанию
            |        ИНАЧЕ КадроваяИсторияСотрудников.ДолжностьПоШтатномуРасписанию
            |    КОНЕЦ КАК ТекущаяДолжность,
            |    ВЫБОР
            |        КОГДА КадроваяИсторияСотрудников.Подразделение ЕСТЬ NULL
            |            ТОГДА КадроваяИсторияСотрудниковПенсионеры.Подразделение
            |        ИНАЧЕ КадроваяИсторияСотрудников.Подразделение
            |    КОНЕЦ КАК ТекущееПодразделение
            |ИЗ
            |    Документ.КадровыйПеревод КАК КадровыйПеревод
            |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КадроваяИсторияСотрудников КАК КадроваяИсторияСотрудников
            |        ПО (КадроваяИсторияСотрудников.Регистратор = КадровыйПеревод.Ссылка)
            |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.БИТ_КадроваяИсторияСотрудниковПенсионеры КАК КадроваяИсторияСотрудниковПенсионеры
            |        ПО (КадроваяИсторияСотрудниковПенсионеры.Регистратор = КадровыйПеревод.Ссылка)
            |ГДЕ
            |    КадровыйПеревод.Проведен = ИСТИНА
            |    И НАЧАЛОПЕРИОДА(КадровыйПеревод.ДатаНачала, ДЕНЬ) = НАЧАЛОПЕРИОДА(&ТекущаяДата, ДЕНЬ)
            |
            |ОБЪЕДИНИТЬ ВСЕ
            |
            |ВЫБРАТЬ РАЗЛИЧНЫЕ
            |    КадровыйПереводСпискомСотрудники.Сотрудник.Код,
            |    КадровыйПереводСписком.Номер,
            |    КадровыйПереводСписком.Дата,
            |    КадровыйПереводСпискомСотрудники.Сотрудник,
            |    КадровыйПереводСпискомСотрудники.ДатаНачала,
            |    КадроваяИсторияСотрудников.ДолжностьПоШтатномуРасписанию,
            |    КадроваяИсторияСотрудников.Подразделение
            |ИЗ
            |    Документ.КадровыйПереводСписком.Сотрудники КАК КадровыйПереводСпискомСотрудники
            |        ЛЕВОЕ СОЕДИНЕНИЕ Документ.КадровыйПереводСписком КАК КадровыйПереводСписком
            |        ПО КадровыйПереводСпискомСотрудники.Ссылка = КадровыйПереводСписком.Ссылка
            |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КадроваяИсторияСотрудников КАК КадроваяИсторияСотрудников
            |        ПО (КадроваяИсторияСотрудников.Регистратор = КадровыйПереводСписком.Ссылка)
            |            И (КадроваяИсторияСотрудников.Сотрудник = КадровыйПереводСпискомСотрудники.Сотрудник)
            |ГДЕ
            |    КадровыйПереводСписком.Проведен = ИСТИНА
            |    И НАЧАЛОПЕРИОДА(КадровыйПереводСписком.Дата, ДЕНЬ) = НАЧАЛОПЕРИОДА(&ТекущаяДата, ДЕНЬ)";
КонецФункции
   dka80
 
1 - 28.01.20 - 10:05
Левое соединение в регистром кадровая история (сейчас не рекомендуется использовать этот регистр) или кадровая история интервальный по дате перевода > период регистра, далее максимум по период регистра, далее все это снова соединяеш с регистром кадровая история или кадровая история интервальный по максимум(период)=период регистра и сотрудник=сотрудник.
Но я бы воспользовался программным интерфейсом, получил данные на дату перевода, а затем данные на дату, предшествующую переводу.
   aser_1488
 
2 - 28.01.20 - 16:31
(1) а почему не рекомендуется использовать этот регистр?
   piter3
 
3 - 28.01.20 - 16:32
(2) Все меняется быстро и после обновления ты можешь получит тыкву

Список тем форума
Рекламное место пустует  Рекламное место пустует
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.