День добрый!
Есть запрос:
Все хорошо, но...
Период запрос - год, а сотрудник пришел в феврале (другом месяце - не важно) - нет ни должности, ни подразделения.
Как выкрутиться?
Спасибо.
Есть запрос:
ВЫБРАТЬ
КадроваяИсторияСотрудников.Сотрудник КАК Сотрудник,
КадроваяИсторияСотрудников.Регистратор КАК Регистратор,
КадроваяИсторияСотрудников.Период КАК Период,
КадроваяИсторияСотрудников.ДействуетДо КАК ДействуетДо,
ВложенныйЗапрос.Должность КАК Должность,
ВложенныйЗапрос.Подразделение КАК Подразделение,
КадроваяИсторияСотрудников.Должность КАК ДолжностьПеревода,
КадроваяИсторияСотрудников.Подразделение КАК ПодразделениеПеревода
ИЗ
РегистрСведений.КадроваяИсторияСотрудников КАК КадроваяИсторияСотрудников
ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
КадроваяИсторияСотрудниковСрезПоследних.ФизическоеЛицо КАК ФизическоеЛицо,
КадроваяИсторияСотрудниковСрезПоследних.Подразделение КАК Подразделение,
КадроваяИсторияСотрудниковСрезПоследних.Должность КАК Должность
ИЗ
РегистрСведений.КадроваяИсторияСотрудников.СрезПоследних(&ДатаНачала, ДействуетДо = ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)) КАК КадроваяИсторияСотрудниковСрезПоследних) КАК ВложенныйЗапрос
ПО (КадроваяИсторияСотрудников.ФизическоеЛицо = ВложенныйЗапрос.ФизическоеЛицо)
ГДЕ
КадроваяИсторияСотрудников.Период МЕЖДУ &ДатаНачала И &ДатаОкончания
И КадроваяИсторияСотрудников.ВидСобытия = ЗНАЧЕНИЕ(перечисление.ВидыКадровыхСобытий.Перемещение)
УПОРЯДОЧИТЬ ПО
КадроваяИсторияСотрудников.Сотрудник.ФизическоеЛицо.Наименование
ПоказатьВсе хорошо, но...
Период запрос - год, а сотрудник пришел в феврале (другом месяце - не важно) - нет ни должности, ни подразделения.
Как выкрутиться?
Спасибо.
По теме из базы знаний
- Представления в запросах. ЗУП
- Кадровые данные сотрудников ЗУП 3.1 в запросе
- PrintWizard: поддержка представлений ЗУП в конструкторе
- Консоль запросов ЗУП с поддержкой обращения к методам программного интерфейса в запросах
- Универсальный отчёт для ЗУП: как сократить время разработки сложных отчётов в разы
Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
сделать ВТ с приёмами на работу больше начала периода. и если сотрудник в этой ВТ то подставлять дату приёма из неё, а не начало периода.
это на словах. примера прям-вот-под-рукой нет
это на словах. примера прям-вот-под-рукой нет
Выбрать
Период,
Сотрудник
Поместить ВТФильтр
Из РегистрСведений.КадроваяИсторияСотрудников
Где &ВсеУсловияОтбора
;
Выбрать
ДобавитьКДате(Период, День, -1) КАК Период,
Сотрудник КАК Сотрудник
Поместить ВТСотрудники
Из ВТФильтр
Объединить все
Выбрать
Период,
Сотрудник
Из ВТФильтр
;
Выбрать
Сотрудники.Период,
Значение(Справочник.Сотрудники.ПустаяСсылка) КАК Сотрудник,
Значение(Справочник.ПодразделенияОрганизаций.ПустаяСсылка) КАК Подразделение,
Значение(Справочник.Должности.ПустаяСсылка) КАК Должность
Поместить Представления_КадровыеДанныеСотрудников
из ВтСотрудники как Сотрудники
;
Выбрать
Фильтр.Сотрудник,
КадровыеДанныеСотрудниковДО.Подразделение КАК ПодразделениеДо,
КадровыеДанныеСотрудниковДО.Должность КАК ДолжностьДо,
КадровыеДанныеСотрудниковПосле.Подразделение как ПодразделениеПосле,
КадровыеДанныеСотрудниковПосле.Должность КАК ДолжностьПосле
Из ВТФильтр как Фильтр
Левое соединение Представления_КадровыеДанныеСотрудников как КадровыеДанныеСотрудниковДО
ПО Фильтр.Сотрудник = КадровыеДанныеСотрудниковДО.Сотрудник
и ДобавитьКДате(Фильтр.Период, День, -1) = КадровыеДанныеСотрудниковДО.Период
Левое соединение Представления_КадровыеДанныеСотрудников как КадровыеДанныеСотрудниковПосле
ПО Фильтр.Сотрудник = КадровыеДанныеСотрудниковПосле.Сотрудник
и Фильтр.Период = КадровыеДанныеСотрудниковПосле.Период
ПоказатьСкормить текст запросе процедуре
ЗарплатаКадрыОбщиеНаборыДанных.ЗаменитьЗапросыКПредставлениямВиртуальныхТаблиц(Запрос.Текст, Запрос)
Пишу с телефона, прошу прощения за оформление
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот