Создать выборку, используя регистры сведений
Задание было таким:Используя регистры Сведений.
Сделать выборку, содержащую следующие данные:
Сотрудник
Подразделение
Должность
Количество занимаемых ставок
Вид занятости
Дата приёма на работу
Состояние (работа, болезнь, отпуск и т.д.)
Предусмотреть возможность делать выборку на определенную дату.
У меня получилось реализовать запрос почти идеально,но осталась единственная проблема,которую я не знаю,как решить
Вот текст запроса
Проблема в том,что если Дата Приёма сотрудника будет больше параметра Дата,то в таком случае, в дате приёма в выборке у всех таких сотрудников будет 25.10.2010.
Но по идее,мне нужно сделать так,чтобы записей с такими сотрудниками вообще не было. Помогите оптимизировать запрос,пожалуйста!
Сделать выборку, содержащую следующие данные:
Сотрудник
Подразделение
Должность
Количество занимаемых ставок
Вид занятости
Дата приёма на работу
Состояние (работа, болезнь, отпуск и т.д.)
Предусмотреть возможность делать выборку на определенную дату.
У меня получилось реализовать запрос почти идеально,но осталась единственная проблема,которую я не знаю,как решить
Вот текст запроса
ВЫБРАТЬ
КадроваяИсторияСотрудников.Сотрудник КАК Сотрудник,
КадроваяИсторияСотрудников.Подразделение КАК Подразделение,
КадроваяИсторияСотрудников.Должность КАК Должность,
КадроваяИсторияСотрудников.КоличествоСтавок КАК КоличествоСтавок,
КадроваяИсторияСотрудников.Период КАК Период
ПОМЕСТИТЬ ВтПриёмНаРаботу
ИЗ
РегистрСведений.КадроваяИсторияСотрудников КАК КадроваяИсторияСотрудников
ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
КадроваяИсторияСотрудников.Сотрудник КАК Сотрудник,
МАКСИМУМ(КадроваяИсторияСотрудников.Период) КАК Период
ИЗ
РегистрСведений.КадроваяИсторияСотрудников КАК КадроваяИсторияСотрудников
ГДЕ
КадроваяИсторияСотрудников.Период <= &Дата
СГРУППИРОВАТЬ ПО
КадроваяИсторияСотрудников.Сотрудник) КАК ВЗ1
ПО (КадроваяИсторияСотрудников.Сотрудник = ВЗ1.Сотрудник)
И (КадроваяИсторияСотрудников.Период = ВЗ1.Период)
ГДЕ
КадроваяИсторияСотрудников.Период <= &Дата
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ВидыЗанятостиСотрудников.Сотрудник КАК Сотрудник,
ВидыЗанятостиСотрудников.ВидЗанятости КАК ВидЗанятости,
ВидыЗанятостиСотрудников.Период КАК Период
ПОМЕСТИТЬ ВтВидыЗанятости
ИЗ
РегистрСведений.ВидыЗанятостиСотрудников КАК ВидыЗанятостиСотрудников
ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
ВидыЗанятостиСотрудников.Сотрудник КАК Сотрудник,
МАКСИМУМ(ВидыЗанятостиСотрудников.Период) КАК Период
ИЗ
РегистрСведений.ВидыЗанятостиСотрудников КАК ВидыЗанятостиСотрудников
ГДЕ
ВидыЗанятостиСотрудников.Период <= &Дата
СГРУППИРОВАТЬ ПО
ВидыЗанятостиСотрудников.Сотрудник) КАК ВЗ2
ПО ВидыЗанятостиСотрудников.Сотрудник = ВЗ2.Сотрудник
И ВидыЗанятостиСотрудников.Период = ВЗ2.Период
ГДЕ
ВидыЗанятостиСотрудников.Период <= &Дата
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ВтПриёмНаРаботу.Сотрудник КАК Сотрудник,
ВтПриёмНаРаботу.Подразделение КАК Подразделение,
ВтПриёмНаРаботу.Должность КАК Должность,
ВтПриёмНаРаботу.КоличествоСтавок КАК КоличествоСтавок,
ВтПриёмНаРаботу.Период КАК Период,
ВтВидыЗанятости.ВидЗанятости КАК ВидЗанятости
ПОМЕСТИТЬ ВтСбор
ИЗ
ВтПриёмНаРаботу КАК ВтПриёмНаРаботу
ЛЕВОЕ СОЕДИНЕНИЕ ВтВидыЗанятости КАК ВтВидыЗанятости
ПО ВтПриёмНаРаботу.Сотрудник = ВтВидыЗанятости.Сотрудник
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
СостоянияСотрудников.Сотрудник КАК Сотрудник,
СостоянияСотрудников.Состояние КАК ТекущееСостояние,
СостоянияСотрудников.Период КАК Период
ПОМЕСТИТЬ ВтСостояния
ИЗ
РегистрСведений.СостоянияСотрудников КАК СостоянияСотрудников
ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
СостоянияСотрудников.Сотрудник КАК Сотрудник,
МАКСИМУМ(СостоянияСотрудников.Период) КАК Период
ИЗ
РегистрСведений.СостоянияСотрудников КАК СостоянияСотрудников
ГДЕ
СостоянияСотрудников.Период <= &Дата
СГРУППИРОВАТЬ ПО
СостоянияСотрудников.Сотрудник) КАК ВЗ3
ПО СостоянияСотрудников.Сотрудник = ВЗ3.Сотрудник
И СостоянияСотрудников.Период = ВЗ3.Период
ГДЕ
СостоянияСотрудников.Период <= &Дата
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ВтСбор.Сотрудник КАК Сотрудник,
ВтСбор.Подразделение КАК Подразделение,
ВтСбор.Должность КАК Должность,
ВтСбор.КоличествоСтавок КАК КоличествоСтавок,
ВтСбор.ВидЗанятости КАК ВидЗанятости,
ВтСбор.Период КАК ДатаПриёма,
ВтСостояния.ТекущееСостояние КАК ТекущееСостояние
ИЗ
ВтСбор КАК ВтСбор
ПОЛНОЕ СОЕДИНЕНИЕ ВтСостояния КАК ВтСостояния
ПО (ВтСбор.Сотрудник = ВтСостояния.Сотрудник)
ПоказатьПроблема в том,что если Дата Приёма сотрудника будет больше параметра Дата,то в таком случае, в дате приёма в выборке у всех таких сотрудников будет 25.10.2010.
Но по идее,мне нужно сделать так,чтобы записей с такими сотрудниками вообще не было. Помогите оптимизировать запрос,пожалуйста!
Прикрепленные файлы:
ВтороеЗаданиеИсправленное.q1c
По теме из базы знаний
- Как спроектировать структуру регистра сведений
- Выборка данных из периодических регистров, используя фильтры отбора через менеджер временных таблиц в ЗУП 3.1
- Быстрое копирование независимых регистров сведений между схожими базами данных
- Передача удаления записей независимого регистра сведений через типовой обмен
- Разбор задачи с собеседования: раскрытие потенциала Списка значений
Найденные решения
(19)
ВЫБРАТЬ
КадроваяИсторияСотрудников.Сотрудник КАК Сотрудник,
КадроваяИсторияСотрудников.Подразделение КАК Подразделение,
КадроваяИсторияСотрудников.Должность КАК Должность,
КадроваяИсторияСотрудников.КоличествоСтавок КАК КоличествоСтавок,
КадроваяИсторияСотрудников.Период КАК Период
ПОМЕСТИТЬ ВтПриёмНаРаботу
ИЗ
РегистрСведений.КадроваяИсторияСотрудников.СрезПоследних(&Дата, ) КАК КадроваяИсторияСотрудников
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
КадроваяИсторияСотрудников.Сотрудник КАК Сотрудник,
КадроваяИсторияСотрудников.Подразделение КАК Подразделение,
КадроваяИсторияСотрудников.Должность КАК Должность,
КадроваяИсторияСотрудников.КоличествоСтавок КАК КоличествоСтавок,
КадроваяИсторияСотрудников.Период КАК Период,
Приемы.Период КАК ДатаПриема
ПОМЕСТИТЬ ВтПриемы
ИЗ
РегистрСведений.КадроваяИсторияСотрудников.СрезПоследних(&Дата, ) КАК КадроваяИсторияСотрудников
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КадроваяИсторияСотрудников.СрезПоследних(&Дата, ВидСобытия = ЗНАЧЕНИЕ(Перечисление.ВидыКадровыхСобытий.Прием)) КАК Приемы
ПО КадроваяИсторияСотрудников.Сотрудник = Приемы.Сотрудник
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ВидыЗанятостиСотрудников.Сотрудник КАК Сотрудник,
ВидыЗанятостиСотрудников.ВидЗанятости КАК ВидЗанятости,
ВидыЗанятостиСотрудников.Период КАК Период
ПОМЕСТИТЬ ВтВидыЗанятости
ИЗ
РегистрСведений.ВидыЗанятостиСотрудников.СрезПоследних(&Дата, ) КАК ВидыЗанятостиСотрудников
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ВтПриёмНаРаботу.Сотрудник КАК Сотрудник,
ВтПриёмНаРаботу.Подразделение КАК Подразделение,
ВтПриёмНаРаботу.Должность КАК Должность,
ВтПриёмНаРаботу.КоличествоСтавок КАК КоличествоСтавок,
ВтПриёмНаРаботу.Период КАК Период,
ВтВидыЗанятости.ВидЗанятости КАК ВидЗанятости,
ВтПриемы.ДатаПриема КАК ДатаПриема
ПОМЕСТИТЬ ВтСбор
ИЗ
ВтПриёмНаРаботу КАК ВтПриёмНаРаботу
ЛЕВОЕ СОЕДИНЕНИЕ ВтВидыЗанятости КАК ВтВидыЗанятости
ПО (ВтПриёмНаРаботу.Сотрудник = ВтВидыЗанятости.Сотрудник)
ЛЕВОЕ СОЕДИНЕНИЕ ВтПриемы КАК ВтПриемы
ПО (ВтПриёмНаРаботу.Сотрудник = ВтПриемы.Сотрудник)
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
СостоянияСотрудников.Сотрудник КАК Сотрудник,
СостоянияСотрудников.Состояние КАК ТекущееСостояние,
СостоянияСотрудников.Период КАК Период
ПОМЕСТИТЬ ВтСостояния
ИЗ
РегистрСведений.СостоянияСотрудников.СрезПоследних(&Дата, ) КАК СостоянияСотрудников
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ВтСбор.Сотрудник КАК Сотрудник,
ВтСбор.Подразделение КАК Подразделение,
ВтСбор.Должность КАК Должность,
ВтСбор.КоличествоСтавок КАК КоличествоСтавок,
ВтСбор.ВидЗанятости КАК ВидЗанятости,
ВтСбор.ДатаПриема КАК ДатаПриема,
ВтСостояния.ТекущееСостояние КАК ТекущееСостояние
ИЗ
ВтСбор КАК ВтСбор
ЛЕВОЕ СОЕДИНЕНИЕ ВтСостояния КАК ВтСостояния
ПО ВтСбор.Сотрудник = ВтСостояния.Сотрудник
ГДЕ
ВтСбор.Период <= &Дата
ПоказатьОстальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(2)
(2)Ты кажется не совсем понял проблему.
Мне не нужно выводить эти записи(только с такой датой).
У меня всё выводится как надо. Проблема в том,что если например у чела дата приёма 10.10.2016, и в параметре Дата написать любую дату до этого,то у него на месте даты приёма будет 25.10.2010.
То есть он не работал тогда ещё,мне нужно,чтобы в таком случае,записи не отображались
(2)Ты кажется не совсем понял проблему.
Мне не нужно выводить эти записи(только с такой датой).
У меня всё выводится как надо. Проблема в том,что если например у чела дата приёма 10.10.2016, и в параметре Дата написать любую дату до этого,то у него на месте даты приёма будет 25.10.2010.
То есть он не работал тогда ещё,мне нужно,чтобы в таком случае,записи не отображались
(7)Если не используются временные перемещения/совмещения, задача решается следующим запросом:
При использовании временных перемещений/совмещений необходимо накладывать дополнительный отбор ДатаВремя(1, 1, 1) ИЛИ >= &Дата по полю ДействуетДо у КадроваяИсторияСотрудников
ВЫБРАТЬ
КадроваяИсторияСотрудников.Сотрудник КАК Сотрудник,
КадроваяИсторияСотрудников.Подразделение КАК Подразделение,
КадроваяИсторияСотрудников.Должность КАК Должность,
КадроваяИсторияСотрудников.КоличествоСтавок КАК КоличествоСтавок,
КадроваяИсторияСотрудников.Период КАК Период,
Приемы.Период КАК ДатаПриема,
ВидыЗанятости.ВидЗанятости КАК ВидЗанятости,
Состояния.Состояние КАК Состояние
ИЗ
РегистрСведений.КадроваяИсторияСотрудников.СрезПоследних(&Дата, ) КАК КадроваяИсторияСотрудников
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КадроваяИсторияСотрудников.СрезПервых(&Дата, ВидСобытия = ЗНАЧЕНИЕ(Перечисление.ВидыКадровыхСобытий.Прием)) КАК Приемы
ПО КадроваяИсторияСотрудников.Сотрудник = Приемы.Сотрудник
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ВидыЗанятостиСотрудников.СрезПоследних(&Дата) КАК ВидыЗанятости
ПО КадроваяИсторияСотрудников.Сотрудник = ВидыЗанятости.Сотрудник
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СостоянияСотрудников.СрезПоследних(&Дата) КАК Состояния
ПО КадроваяИсторияСотрудников.Сотрудник = Состояния.Сотрудник
ГДЕ
НЕ КадроваяИсторияСотрудников.ВидСобытия = ЗНАЧЕНИЕ(Перечисление.ВидыКадровыхСобытий.Увольнение)
ПоказатьПри использовании временных перемещений/совмещений необходимо накладывать дополнительный отбор ДатаВремя(1, 1, 1) ИЛИ >= &Дата по полю ДействуетДо у КадроваяИсторияСотрудников
(9)
РегистрСведений.КадроваяИсторияСотрудников.СрезПоследних(&Дата, ) КАК КадроваяИсторияСотрудников
Конечно проблему с выводом актуальных сотрудников это решило,но ДатаПриёма до сих пор выводится не корректно. Вернее её тут совсем нет,весь столбец просто пустой.
РегистрСведений.КадроваяИсторияСотрудников.СрезПоследних(&Дата, ) КАК КадроваяИсторияСотрудников
Конечно проблему с выводом актуальных сотрудников это решило,но ДатаПриёма до сих пор выводится не корректно. Вернее её тут совсем нет,весь столбец просто пустой.
(13)
ВЫБРАТЬ
КадроваяИсторияСотрудников.Сотрудник КАК Сотрудник,
КадроваяИсторияСотрудников.Подразделение КАК Подразделение,
КадроваяИсторияСотрудников.Должность КАК Должность,
КадроваяИсторияСотрудников.КоличествоСтавок КАК КоличествоСтавок,
КадроваяИсторияСотрудников.Период КАК Период
ПОМЕСТИТЬ ВтПриёмНаРаботу
ИЗ
РегистрСведений.КадроваяИсторияСотрудников.СрезПоследних(&Дата, ) КАК КадроваяИсторияСотрудников
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ВидыЗанятостиСотрудников.Сотрудник КАК Сотрудник,
ВидыЗанятостиСотрудников.ВидЗанятости КАК ВидЗанятости,
ВидыЗанятостиСотрудников.Период КАК Период
ПОМЕСТИТЬ ВтВидыЗанятости
ИЗ
РегистрСведений.ВидыЗанятостиСотрудников.СрезПоследних(&Дата, ) КАК ВидыЗанятостиСотрудников;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ВтПриёмНаРаботу.Сотрудник КАК Сотрудник,
ВтПриёмНаРаботу.Подразделение КАК Подразделение,
ВтПриёмНаРаботу.Должность КАК Должность,
ВтПриёмНаРаботу.КоличествоСтавок КАК КоличествоСтавок,
ВтПриёмНаРаботу.Период КАК Период,
ВтВидыЗанятости.ВидЗанятости КАК ВидЗанятости
ПОМЕСТИТЬ ВтСбор
ИЗ
ВтПриёмНаРаботу КАК ВтПриёмНаРаботу
ЛЕВОЕ СОЕДИНЕНИЕ ВтВидыЗанятости КАК ВтВидыЗанятости
ПО ВтПриёмНаРаботу.Сотрудник = ВтВидыЗанятости.Сотрудник
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
СостоянияСотрудников.Сотрудник КАК Сотрудник,
СостоянияСотрудников.Состояние КАК ТекущееСостояние,
СостоянияСотрудников.Период КАК Период
ПОМЕСТИТЬ ВтСостояния
ИЗ
РегистрСведений.СостоянияСотрудников.СрезПоследних(&Дата, ) КАК СостоянияСотрудников;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ВтСбор.Сотрудник КАК Сотрудник,
ВтСбор.Подразделение КАК Подразделение,
ВтСбор.Должность КАК Должность,
ВтСбор.КоличествоСтавок КАК КоличествоСтавок,
ВтСбор.ВидЗанятости КАК ВидЗанятости,
ВтСбор.Период КАК ДатаПриёма,
ВтСостояния.ТекущееСостояние КАК ТекущееСостояние
ИЗ
ВтСбор КАК ВтСбор
ПОЛНОЕ СОЕДИНЕНИЕ ВтСостояния КАК ВтСостояния
ПО (ВтСбор.Сотрудник = ВтСостояния.Сотрудник)
Показать
(17)Добавил это в свой запрос,получилось так:
Но теперь некоторые записи дублируются
ВЫБРАТЬ
КадроваяИсторияСотрудников.Сотрудник КАК Сотрудник,
КадроваяИсторияСотрудников.Подразделение КАК Подразделение,
КадроваяИсторияСотрудников.Должность КАК Должность,
КадроваяИсторияСотрудников.КоличествоСтавок КАК КоличествоСтавок,
КадроваяИсторияСотрудников.Период КАК Период
ПОМЕСТИТЬ ВтПриёмНаРаботу
ИЗ
РегистрСведений.КадроваяИсторияСотрудников.СрезПоследних(&Дата, ) КАК КадроваяИсторияСотрудников
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
КадроваяИсторияСотрудников.Сотрудник КАК Сотрудник,
КадроваяИсторияСотрудников.Подразделение КАК Подразделение,
КадроваяИсторияСотрудников.Должность КАК Должность,
КадроваяИсторияСотрудников.КоличествоСтавок КАК КоличествоСтавок,
КадроваяИсторияСотрудников.Период КАК Период,
Приемы.Период КАК ДатаПриема
ПОМЕСТИТЬ ВтПриемы
ИЗ
РегистрСведений.КадроваяИсторияСотрудников.СрезПоследних(&Дата, ) КАК КадроваяИсторияСотрудников
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КадроваяИсторияСотрудников.СрезПоследних(&Дата, ВидСобытия = ЗНАЧЕНИЕ(Перечисление.ВидыКадровыхСобытий.Прием)) КАК Приемы
ПО КадроваяИсторияСотрудников.Сотрудник = Приемы.Сотрудник
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ВидыЗанятостиСотрудников.Сотрудник КАК Сотрудник,
ВидыЗанятостиСотрудников.ВидЗанятости КАК ВидЗанятости,
ВидыЗанятостиСотрудников.Период КАК Период
ПОМЕСТИТЬ ВтВидыЗанятости
ИЗ
РегистрСведений.ВидыЗанятостиСотрудников.СрезПоследних(&Дата, ) КАК ВидыЗанятостиСотрудников
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ВтПриёмНаРаботу.Сотрудник КАК Сотрудник,
ВтПриёмНаРаботу.Подразделение КАК Подразделение,
ВтПриёмНаРаботу.Должность КАК Должность,
ВтПриёмНаРаботу.КоличествоСтавок КАК КоличествоСтавок,
ВтПриёмНаРаботу.Период КАК Период,
ВтВидыЗанятости.ВидЗанятости КАК ВидЗанятости,
ВтПриемы.ДатаПриема КАК ДатаПриема
ПОМЕСТИТЬ ВтСбор
ИЗ
ВтПриёмНаРаботу КАК ВтПриёмНаРаботу
ЛЕВОЕ СОЕДИНЕНИЕ ВтВидыЗанятости КАК ВтВидыЗанятости
ПО ВтПриёмНаРаботу.Сотрудник = ВтВидыЗанятости.Сотрудник,
ВтПриемы КАК ВтПриемы
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
СостоянияСотрудников.Сотрудник КАК Сотрудник,
СостоянияСотрудников.Состояние КАК ТекущееСостояние,
СостоянияСотрудников.Период КАК Период
ПОМЕСТИТЬ ВтСостояния
ИЗ
РегистрСведений.СостоянияСотрудников.СрезПоследних(&Дата, ) КАК СостоянияСотрудников
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ВтСбор.Сотрудник КАК Сотрудник,
ВтСбор.Подразделение КАК Подразделение,
ВтСбор.Должность КАК Должность,
ВтСбор.КоличествоСтавок КАК КоличествоСтавок,
ВтСбор.ВидЗанятости КАК ВидЗанятости,
ВтСбор.ДатаПриема КАК ДатаПриема,
ВтСостояния.ТекущееСостояние КАК ТекущееСостояние
ИЗ
ВтСбор КАК ВтСбор
ПОЛНОЕ СОЕДИНЕНИЕ ВтСостояния КАК ВтСостояния
ПО (ВтСбор.Сотрудник = ВтСостояния.Сотрудник)
ПоказатьНо теперь некоторые записи дублируются
Прикрепленные файлы:

(19)
ВЫБРАТЬ
КадроваяИсторияСотрудников.Сотрудник КАК Сотрудник,
КадроваяИсторияСотрудников.Подразделение КАК Подразделение,
КадроваяИсторияСотрудников.Должность КАК Должность,
КадроваяИсторияСотрудников.КоличествоСтавок КАК КоличествоСтавок,
КадроваяИсторияСотрудников.Период КАК Период
ПОМЕСТИТЬ ВтПриёмНаРаботу
ИЗ
РегистрСведений.КадроваяИсторияСотрудников.СрезПоследних(&Дата, ) КАК КадроваяИсторияСотрудников
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
КадроваяИсторияСотрудников.Сотрудник КАК Сотрудник,
КадроваяИсторияСотрудников.Подразделение КАК Подразделение,
КадроваяИсторияСотрудников.Должность КАК Должность,
КадроваяИсторияСотрудников.КоличествоСтавок КАК КоличествоСтавок,
КадроваяИсторияСотрудников.Период КАК Период,
Приемы.Период КАК ДатаПриема
ПОМЕСТИТЬ ВтПриемы
ИЗ
РегистрСведений.КадроваяИсторияСотрудников.СрезПоследних(&Дата, ) КАК КадроваяИсторияСотрудников
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КадроваяИсторияСотрудников.СрезПоследних(&Дата, ВидСобытия = ЗНАЧЕНИЕ(Перечисление.ВидыКадровыхСобытий.Прием)) КАК Приемы
ПО КадроваяИсторияСотрудников.Сотрудник = Приемы.Сотрудник
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ВидыЗанятостиСотрудников.Сотрудник КАК Сотрудник,
ВидыЗанятостиСотрудников.ВидЗанятости КАК ВидЗанятости,
ВидыЗанятостиСотрудников.Период КАК Период
ПОМЕСТИТЬ ВтВидыЗанятости
ИЗ
РегистрСведений.ВидыЗанятостиСотрудников.СрезПоследних(&Дата, ) КАК ВидыЗанятостиСотрудников
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ВтПриёмНаРаботу.Сотрудник КАК Сотрудник,
ВтПриёмНаРаботу.Подразделение КАК Подразделение,
ВтПриёмНаРаботу.Должность КАК Должность,
ВтПриёмНаРаботу.КоличествоСтавок КАК КоличествоСтавок,
ВтПриёмНаРаботу.Период КАК Период,
ВтВидыЗанятости.ВидЗанятости КАК ВидЗанятости,
ВтПриемы.ДатаПриема КАК ДатаПриема
ПОМЕСТИТЬ ВтСбор
ИЗ
ВтПриёмНаРаботу КАК ВтПриёмНаРаботу
ЛЕВОЕ СОЕДИНЕНИЕ ВтВидыЗанятости КАК ВтВидыЗанятости
ПО (ВтПриёмНаРаботу.Сотрудник = ВтВидыЗанятости.Сотрудник)
ЛЕВОЕ СОЕДИНЕНИЕ ВтПриемы КАК ВтПриемы
ПО (ВтПриёмНаРаботу.Сотрудник = ВтПриемы.Сотрудник)
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
СостоянияСотрудников.Сотрудник КАК Сотрудник,
СостоянияСотрудников.Состояние КАК ТекущееСостояние,
СостоянияСотрудников.Период КАК Период
ПОМЕСТИТЬ ВтСостояния
ИЗ
РегистрСведений.СостоянияСотрудников.СрезПоследних(&Дата, ) КАК СостоянияСотрудников
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ВтСбор.Сотрудник КАК Сотрудник,
ВтСбор.Подразделение КАК Подразделение,
ВтСбор.Должность КАК Должность,
ВтСбор.КоличествоСтавок КАК КоличествоСтавок,
ВтСбор.ВидЗанятости КАК ВидЗанятости,
ВтСбор.ДатаПриема КАК ДатаПриема,
ВтСостояния.ТекущееСостояние КАК ТекущееСостояние
ИЗ
ВтСбор КАК ВтСбор
ЛЕВОЕ СОЕДИНЕНИЕ ВтСостояния КАК ВтСостояния
ПО ВтСбор.Сотрудник = ВтСостояния.Сотрудник
ГДЕ
ВтСбор.Период <= &Дата
ПоказатьИли в зупе получать к.д. так |
---|
КадровыеДанныеСотрудников = КадровыйУчет.КадровыеДанныеСотрудников(Истина,
ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве(Строка),
"Организация,ФизическоеЛицо,ТабельныйНомер,Подразделение,Должность,ВидЗанятости,ДолжностьПоШтатномуРасписанию,КоличествоСтавок,ДатаПриема,ДатаУвольнения,ГрафикРаботы,СтатьяФинансирования, РазрядКатегория ", ТекущаяДата()); |
(6)
Такой формат слишком сложный для меня, я пользуюсь конструктором запросов сейчас, у меня правильно написан сам запрос, мне нужно исправить конкретную проблему, с актуальностью информации.
КадровыеДанныеСотрудников = КадровыйУчет.КадровыеДанныеСотрудников(Истина,
ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве(Строка),
"Организация,ФизическоеЛицо,ТабельныйНомер,Подразделение,Должность,ВидЗанятости,ДолжностьПоШтатномуРасписанию,КоличествоСтавок,ДатаПриема,ДатаУвольнения,ГрафикРаботы,СтатьяФинансирования, РазрядКатегория ", ТекущаяДата());
ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве(Строка),
"Организация,ФизическоеЛицо,ТабельныйНомер,Подразделение,Должность,ВидЗанятости,ДолжностьПоШтатномуРасписанию,КоличествоСтавок,ДатаПриема,ДатаУвольнения,ГрафикРаботы,СтатьяФинансирования, РазрядКатегория ", ТекущаяДата());
Такой формат слишком сложный для меня, я пользуюсь конструктором запросов сейчас, у меня правильно написан сам запрос, мне нужно исправить конкретную проблему, с актуальностью информации.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот