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