Создать выборку, используя регистры сведений

1. HarkonLord 17.01.24 19:41 Сейчас в теме
Задание было таким:Используя регистры Сведений.
Сделать выборку, содержащую следующие данные:
Сотрудник
Подразделение
Должность
Количество занимаемых ставок
Вид занятости
Дата приёма на работу
Состояние (работа, болезнь, отпуск и т.д.)
Предусмотреть возможность делать выборку на определенную дату.

У меня получилось реализовать запрос почти идеально,но осталась единственная проблема,которую я не знаю,как решить
Вот текст запроса
ВЫБРАТЬ
	КадроваяИсторияСотрудников.Сотрудник КАК Сотрудник,
	КадроваяИсторияСотрудников.Подразделение КАК Подразделение,
	КадроваяИсторияСотрудников.Должность КАК Должность,
	КадроваяИсторияСотрудников.КоличествоСтавок КАК КоличествоСтавок,
	КадроваяИсторияСотрудников.Период КАК Период
ПОМЕСТИТЬ ВтПриёмНаРаботу
ИЗ
	РегистрСведений.КадроваяИсторияСотрудников КАК КадроваяИсторияСотрудников
		ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
			КадроваяИсторияСотрудников.Сотрудник КАК Сотрудник,
			МАКСИМУМ(КадроваяИсторияСотрудников.Период) КАК Период
		ИЗ
			РегистрСведений.КадроваяИсторияСотрудников КАК КадроваяИсторияСотрудников
		ГДЕ
			КадроваяИсторияСотрудников.Период <= &Дата
		
		СГРУППИРОВАТЬ ПО
			КадроваяИсторияСотрудников.Сотрудник) КАК ВЗ1
		ПО (КадроваяИсторияСотрудников.Сотрудник = ВЗ1.Сотрудник)
			И (КадроваяИсторияСотрудников.Период = ВЗ1.Период)
ГДЕ
	КадроваяИсторияСотрудников.Период <= &Дата
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	ВидыЗанятостиСотрудников.Сотрудник КАК Сотрудник,
	ВидыЗанятостиСотрудников.ВидЗанятости КАК ВидЗанятости,
	ВидыЗанятостиСотрудников.Период КАК Период
ПОМЕСТИТЬ ВтВидыЗанятости
ИЗ
	РегистрСведений.ВидыЗанятостиСотрудников КАК ВидыЗанятостиСотрудников
		ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
			ВидыЗанятостиСотрудников.Сотрудник КАК Сотрудник,
			МАКСИМУМ(ВидыЗанятостиСотрудников.Период) КАК Период
		ИЗ
			РегистрСведений.ВидыЗанятостиСотрудников КАК ВидыЗанятостиСотрудников
		ГДЕ
			ВидыЗанятостиСотрудников.Период <= &Дата
		
		СГРУППИРОВАТЬ ПО
			ВидыЗанятостиСотрудников.Сотрудник) КАК ВЗ2
		ПО ВидыЗанятостиСотрудников.Сотрудник = ВЗ2.Сотрудник
			И ВидыЗанятостиСотрудников.Период = ВЗ2.Период
ГДЕ
	ВидыЗанятостиСотрудников.Период <= &Дата
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	ВтПриёмНаРаботу.Сотрудник КАК Сотрудник,
	ВтПриёмНаРаботу.Подразделение КАК Подразделение,
	ВтПриёмНаРаботу.Должность КАК Должность,
	ВтПриёмНаРаботу.КоличествоСтавок КАК КоличествоСтавок,
	ВтПриёмНаРаботу.Период КАК Период,
	ВтВидыЗанятости.ВидЗанятости КАК ВидЗанятости
ПОМЕСТИТЬ ВтСбор
ИЗ
	ВтПриёмНаРаботу КАК ВтПриёмНаРаботу
		ЛЕВОЕ СОЕДИНЕНИЕ ВтВидыЗанятости КАК ВтВидыЗанятости
		ПО ВтПриёмНаРаботу.Сотрудник = ВтВидыЗанятости.Сотрудник
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	СостоянияСотрудников.Сотрудник КАК Сотрудник,
	СостоянияСотрудников.Состояние КАК ТекущееСостояние,
	СостоянияСотрудников.Период КАК Период
ПОМЕСТИТЬ ВтСостояния
ИЗ
	РегистрСведений.СостоянияСотрудников КАК СостоянияСотрудников
		ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
			СостоянияСотрудников.Сотрудник КАК Сотрудник,
			МАКСИМУМ(СостоянияСотрудников.Период) КАК Период
		ИЗ
			РегистрСведений.СостоянияСотрудников КАК СостоянияСотрудников
		ГДЕ
			СостоянияСотрудников.Период <= &Дата
		
		СГРУППИРОВАТЬ ПО
			СостоянияСотрудников.Сотрудник) КАК ВЗ3
		ПО СостоянияСотрудников.Сотрудник = ВЗ3.Сотрудник
			И СостоянияСотрудников.Период = ВЗ3.Период
ГДЕ
	СостоянияСотрудников.Период <= &Дата
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	ВтСбор.Сотрудник КАК Сотрудник,
	ВтСбор.Подразделение КАК Подразделение,
	ВтСбор.Должность КАК Должность,
	ВтСбор.КоличествоСтавок КАК КоличествоСтавок,
	ВтСбор.ВидЗанятости КАК ВидЗанятости,
	ВтСбор.Период КАК ДатаПриёма,
	ВтСостояния.ТекущееСостояние КАК ТекущееСостояние
ИЗ
	ВтСбор КАК ВтСбор
		ПОЛНОЕ СОЕДИНЕНИЕ ВтСостояния КАК ВтСостояния
		ПО (ВтСбор.Сотрудник = ВтСостояния.Сотрудник)

Показать




Проблема в том,что если Дата Приёма сотрудника будет больше параметра Дата,то в таком случае, в дате приёма в выборке у всех таких сотрудников будет 25.10.2010.
Но по идее,мне нужно сделать так,чтобы записей с такими сотрудниками вообще не было. Помогите оптимизировать запрос,пожалуйста!
Прикрепленные файлы:
ВтороеЗаданиеИсправленное.q1c
По теме из базы знаний
Найденные решения
22. HarkonLord 18.01.24 13:03 Сейчас в теме
(19)
ВЫБРАТЬ
	КадроваяИсторияСотрудников.Сотрудник КАК Сотрудник,
	КадроваяИсторияСотрудников.Подразделение КАК Подразделение,
	КадроваяИсторияСотрудников.Должность КАК Должность,
	КадроваяИсторияСотрудников.КоличествоСтавок КАК КоличествоСтавок,
	КадроваяИсторияСотрудников.Период КАК Период
ПОМЕСТИТЬ ВтПриёмНаРаботу
ИЗ
	РегистрСведений.КадроваяИсторияСотрудников.СрезПоследних(&Дата, ) КАК КадроваяИсторияСотрудников
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	КадроваяИсторияСотрудников.Сотрудник КАК Сотрудник,
	КадроваяИсторияСотрудников.Подразделение КАК Подразделение,
	КадроваяИсторияСотрудников.Должность КАК Должность,
	КадроваяИсторияСотрудников.КоличествоСтавок КАК КоличествоСтавок,
	КадроваяИсторияСотрудников.Период КАК Период,
	Приемы.Период КАК ДатаПриема
ПОМЕСТИТЬ ВтПриемы
ИЗ
	РегистрСведений.КадроваяИсторияСотрудников.СрезПоследних(&Дата, ) КАК КадроваяИсторияСотрудников
		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КадроваяИсторияСотрудников.СрезПоследних(&Дата, ВидСобытия = ЗНАЧЕНИЕ(Перечисление.ВидыКадровыхСобытий.Прием)) КАК Приемы
		ПО КадроваяИсторияСотрудников.Сотрудник = Приемы.Сотрудник
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	ВидыЗанятостиСотрудников.Сотрудник КАК Сотрудник,
	ВидыЗанятостиСотрудников.ВидЗанятости КАК ВидЗанятости,
	ВидыЗанятостиСотрудников.Период КАК Период
ПОМЕСТИТЬ ВтВидыЗанятости
ИЗ
	РегистрСведений.ВидыЗанятостиСотрудников.СрезПоследних(&Дата, ) КАК ВидыЗанятостиСотрудников
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	ВтПриёмНаРаботу.Сотрудник КАК Сотрудник,
	ВтПриёмНаРаботу.Подразделение КАК Подразделение,
	ВтПриёмНаРаботу.Должность КАК Должность,
	ВтПриёмНаРаботу.КоличествоСтавок КАК КоличествоСтавок,
	ВтПриёмНаРаботу.Период КАК Период,
	ВтВидыЗанятости.ВидЗанятости КАК ВидЗанятости,
	ВтПриемы.ДатаПриема КАК ДатаПриема
ПОМЕСТИТЬ ВтСбор
ИЗ
	ВтПриёмНаРаботу КАК ВтПриёмНаРаботу
		ЛЕВОЕ СОЕДИНЕНИЕ ВтВидыЗанятости КАК ВтВидыЗанятости
		ПО (ВтПриёмНаРаботу.Сотрудник = ВтВидыЗанятости.Сотрудник)
		ЛЕВОЕ СОЕДИНЕНИЕ ВтПриемы КАК ВтПриемы
		ПО (ВтПриёмНаРаботу.Сотрудник = ВтПриемы.Сотрудник)
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	СостоянияСотрудников.Сотрудник КАК Сотрудник,
	СостоянияСотрудников.Состояние КАК ТекущееСостояние,
	СостоянияСотрудников.Период КАК Период
ПОМЕСТИТЬ ВтСостояния
ИЗ
	РегистрСведений.СостоянияСотрудников.СрезПоследних(&Дата, ) КАК СостоянияСотрудников
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	ВтСбор.Сотрудник КАК Сотрудник,
	ВтСбор.Подразделение КАК Подразделение,
	ВтСбор.Должность КАК Должность,
	ВтСбор.КоличествоСтавок КАК КоличествоСтавок,
	ВтСбор.ВидЗанятости КАК ВидЗанятости,
	ВтСбор.ДатаПриема КАК ДатаПриема,
	ВтСостояния.ТекущееСостояние КАК ТекущееСостояние
ИЗ
	ВтСбор КАК ВтСбор
		ЛЕВОЕ СОЕДИНЕНИЕ ВтСостояния КАК ВтСостояния
		ПО ВтСбор.Сотрудник = ВтСостояния.Сотрудник
ГДЕ
	ВтСбор.Период <= &Дата
Показать
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. RustamZz 17.01.24 21:15 Сейчас в теме
(1)
ГДЕ датаприема <> ДАТАВРЕМЯ(2010,10,25)
3. HarkonLord 17.01.24 21:59 Сейчас в теме
(2)
(2)Ты кажется не совсем понял проблему.
Мне не нужно выводить эти записи(только с такой датой).
У меня всё выводится как надо. Проблема в том,что если например у чела дата приёма 10.10.2016, и в параметре Дата написать любую дату до этого,то у него на месте даты приёма будет 25.10.2010.
То есть он не работал тогда ещё,мне нужно,чтобы в таком случае,записи не отображались
4. RustamZz 17.01.24 22:36 Сейчас в теме
(3) Это типа шутка такая была. Ну и пример, как оформлять код в вопросе. На is null проверяй.
5. nomad_irk 76 18.01.24 08:43 Сейчас в теме
(1) так понимаю, нужно вывести актуальных сотрудников на указанную дату?
7. HarkonLord 18.01.24 10:54 Сейчас в теме
9. nomad_irk 76 18.01.24 11:06 Сейчас в теме
(7)Если не используются временные перемещения/совмещения, задача решается следующим запросом:

ВЫБРАТЬ
    КадроваяИсторияСотрудников.Сотрудник КАК Сотрудник,
    КадроваяИсторияСотрудников.Подразделение КАК Подразделение,
    КадроваяИсторияСотрудников.Должность КАК Должность,
    КадроваяИсторияСотрудников.КоличествоСтавок КАК КоличествоСтавок,
    КадроваяИсторияСотрудников.Период КАК Период,
    Приемы.Период КАК ДатаПриема,
    ВидыЗанятости.ВидЗанятости  КАК ВидЗанятости,
    Состояния.Состояние КАК Состояние
ИЗ
    РегистрСведений.КадроваяИсторияСотрудников.СрезПоследних(&Дата, ) КАК КадроваяИсторияСотрудников
          ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КадроваяИсторияСотрудников.СрезПервых(&Дата, ВидСобытия = ЗНАЧЕНИЕ(Перечисление.ВидыКадровыхСобытий.Прием)) КАК Приемы
          ПО КадроваяИсторияСотрудников.Сотрудник = Приемы.Сотрудник
          ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ВидыЗанятостиСотрудников.СрезПоследних(&Дата) КАК ВидыЗанятости
          ПО КадроваяИсторияСотрудников.Сотрудник = ВидыЗанятости.Сотрудник
          ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СостоянияСотрудников.СрезПоследних(&Дата) КАК Состояния
          ПО КадроваяИсторияСотрудников.Сотрудник = Состояния.Сотрудник          
ГДЕ
    НЕ КадроваяИсторияСотрудников.ВидСобытия = ЗНАЧЕНИЕ(Перечисление.ВидыКадровыхСобытий.Увольнение)
Показать


При использовании временных перемещений/совмещений необходимо накладывать дополнительный отбор ДатаВремя(1, 1, 1) ИЛИ >= &Дата по полю ДействуетДо у КадроваяИсторияСотрудников
10. HarkonLord 18.01.24 11:24 Сейчас в теме
(9)

РегистрСведений.КадроваяИсторияСотрудников.СрезПоследних(&Дата, ) КАК КадроваяИсторияСотрудников

Конечно проблему с выводом актуальных сотрудников это решило,но ДатаПриёма до сих пор выводится не корректно. Вернее её тут совсем нет,весь столбец просто пустой.
13. nomad_irk 76 18.01.24 11:33 Сейчас в теме
(10)СрезПервых замените на СрезПоследних
14. HarkonLord 18.01.24 11:56 Сейчас в теме
(13)
ВЫБРАТЬ
	КадроваяИсторияСотрудников.Сотрудник КАК Сотрудник,
	КадроваяИсторияСотрудников.Подразделение КАК Подразделение,
	КадроваяИсторияСотрудников.Должность КАК Должность,
	КадроваяИсторияСотрудников.КоличествоСтавок КАК КоличествоСтавок,
	КадроваяИсторияСотрудников.Период КАК Период
ПОМЕСТИТЬ ВтПриёмНаРаботу
ИЗ
	РегистрСведений.КадроваяИсторияСотрудников.СрезПоследних(&Дата, ) КАК КадроваяИсторияСотрудников
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	ВидыЗанятостиСотрудников.Сотрудник КАК Сотрудник,
	ВидыЗанятостиСотрудников.ВидЗанятости КАК ВидЗанятости,
	ВидыЗанятостиСотрудников.Период КАК Период
ПОМЕСТИТЬ ВтВидыЗанятости
ИЗ
	РегистрСведений.ВидыЗанятостиСотрудников.СрезПоследних(&Дата, ) КАК ВидыЗанятостиСотрудников;
	////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	ВтПриёмНаРаботу.Сотрудник КАК Сотрудник,
	ВтПриёмНаРаботу.Подразделение КАК Подразделение,
	ВтПриёмНаРаботу.Должность КАК Должность,
	ВтПриёмНаРаботу.КоличествоСтавок КАК КоличествоСтавок,
	ВтПриёмНаРаботу.Период КАК Период,
	ВтВидыЗанятости.ВидЗанятости КАК ВидЗанятости
ПОМЕСТИТЬ ВтСбор
ИЗ
	ВтПриёмНаРаботу КАК ВтПриёмНаРаботу
		ЛЕВОЕ СОЕДИНЕНИЕ ВтВидыЗанятости КАК ВтВидыЗанятости
		ПО ВтПриёмНаРаботу.Сотрудник = ВтВидыЗанятости.Сотрудник
;    
////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	СостоянияСотрудников.Сотрудник КАК Сотрудник,
	СостоянияСотрудников.Состояние КАК ТекущееСостояние,
	СостоянияСотрудников.Период КАК Период
ПОМЕСТИТЬ ВтСостояния
ИЗ
	РегистрСведений.СостоянияСотрудников.СрезПоследних(&Дата, ) КАК СостоянияСотрудников;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	ВтСбор.Сотрудник КАК Сотрудник,
	ВтСбор.Подразделение КАК Подразделение,
	ВтСбор.Должность КАК Должность,
	ВтСбор.КоличествоСтавок КАК КоличествоСтавок,
	ВтСбор.ВидЗанятости КАК ВидЗанятости,
	ВтСбор.Период КАК ДатаПриёма,
	ВтСостояния.ТекущееСостояние КАК ТекущееСостояние
ИЗ
	ВтСбор КАК ВтСбор
		ПОЛНОЕ СОЕДИНЕНИЕ ВтСостояния КАК ВтСостояния
		ПО (ВтСбор.Сотрудник = ВтСостояния.Сотрудник)
Показать
15. HarkonLord 18.01.24 11:57 Сейчас в теме
(13)Вы подсказали мне как получить актуальную информацию,собрал подобное,сейчас скину ментору,узнаю,прав я или нет,но вроде как работает корректно
11. HarkonLord 18.01.24 11:25 Сейчас в теме
(9)Я предполагал,что можно воспользоваться регистратором в РС КадроваяИсторияСотрудников с ссылкой на документ Приём на Работу
12. nomad_irk 76 18.01.24 11:32 Сейчас в теме
(11) Для чего вам регистратор? в регистре хранится вся, необходимая вам, информация.
16. HarkonLord 18.01.24 12:14 Сейчас в теме
(12)
еобходимая вам, информация.
РегистраСведений Приемы нет. Я не понимаю,откуда вы его взяли
Прикрепленные файлы:
17. nomad_irk 76 18.01.24 12:20 Сейчас в теме
(16)Если внимательно посмотреть на текст запроса, то можно заметить, что таблица Приемы - это все та же таблица
РегистрСведений.КадроваяИсторияСотрудников.СрезПоследних(&Дата, ВидСобытия = ЗНАЧЕНИЕ(Перечисление.ВидыКадровыхСобытий.ПриемНаРаботу))
18. HarkonLord 18.01.24 12:32 Сейчас в теме
(17)Добавил это в свой запрос,получилось так:
ВЫБРАТЬ
	КадроваяИсторияСотрудников.Сотрудник КАК Сотрудник,
	КадроваяИсторияСотрудников.Подразделение КАК Подразделение,
	КадроваяИсторияСотрудников.Должность КАК Должность,
	КадроваяИсторияСотрудников.КоличествоСтавок КАК КоличествоСтавок,
	КадроваяИсторияСотрудников.Период КАК Период
ПОМЕСТИТЬ ВтПриёмНаРаботу
ИЗ
	РегистрСведений.КадроваяИсторияСотрудников.СрезПоследних(&Дата, ) КАК КадроваяИсторияСотрудников
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	КадроваяИсторияСотрудников.Сотрудник КАК Сотрудник,
	КадроваяИсторияСотрудников.Подразделение КАК Подразделение,
	КадроваяИсторияСотрудников.Должность КАК Должность,
	КадроваяИсторияСотрудников.КоличествоСтавок КАК КоличествоСтавок,
	КадроваяИсторияСотрудников.Период КАК Период,
	Приемы.Период КАК ДатаПриема
ПОМЕСТИТЬ ВтПриемы
ИЗ
	РегистрСведений.КадроваяИсторияСотрудников.СрезПоследних(&Дата, ) КАК КадроваяИсторияСотрудников
		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КадроваяИсторияСотрудников.СрезПоследних(&Дата, ВидСобытия = ЗНАЧЕНИЕ(Перечисление.ВидыКадровыхСобытий.Прием)) КАК Приемы
		ПО КадроваяИсторияСотрудников.Сотрудник = Приемы.Сотрудник
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	ВидыЗанятостиСотрудников.Сотрудник КАК Сотрудник,
	ВидыЗанятостиСотрудников.ВидЗанятости КАК ВидЗанятости,
	ВидыЗанятостиСотрудников.Период КАК Период
ПОМЕСТИТЬ ВтВидыЗанятости
ИЗ
	РегистрСведений.ВидыЗанятостиСотрудников.СрезПоследних(&Дата, ) КАК ВидыЗанятостиСотрудников
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	ВтПриёмНаРаботу.Сотрудник КАК Сотрудник,
	ВтПриёмНаРаботу.Подразделение КАК Подразделение,
	ВтПриёмНаРаботу.Должность КАК Должность,
	ВтПриёмНаРаботу.КоличествоСтавок КАК КоличествоСтавок,
	ВтПриёмНаРаботу.Период КАК Период,
	ВтВидыЗанятости.ВидЗанятости КАК ВидЗанятости,
	ВтПриемы.ДатаПриема КАК ДатаПриема
ПОМЕСТИТЬ ВтСбор
ИЗ
	ВтПриёмНаРаботу КАК ВтПриёмНаРаботу
		ЛЕВОЕ СОЕДИНЕНИЕ ВтВидыЗанятости КАК ВтВидыЗанятости
		ПО ВтПриёмНаРаботу.Сотрудник = ВтВидыЗанятости.Сотрудник,
	ВтПриемы КАК ВтПриемы
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	СостоянияСотрудников.Сотрудник КАК Сотрудник,
	СостоянияСотрудников.Состояние КАК ТекущееСостояние,
	СостоянияСотрудников.Период КАК Период
ПОМЕСТИТЬ ВтСостояния
ИЗ
	РегистрСведений.СостоянияСотрудников.СрезПоследних(&Дата, ) КАК СостоянияСотрудников
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	ВтСбор.Сотрудник КАК Сотрудник,
	ВтСбор.Подразделение КАК Подразделение,
	ВтСбор.Должность КАК Должность,
	ВтСбор.КоличествоСтавок КАК КоличествоСтавок,
	ВтСбор.ВидЗанятости КАК ВидЗанятости,
	ВтСбор.ДатаПриема КАК ДатаПриема,
	ВтСостояния.ТекущееСостояние КАК ТекущееСостояние
ИЗ
	ВтСбор КАК ВтСбор
		ПОЛНОЕ СОЕДИНЕНИЕ ВтСостояния КАК ВтСостояния
		ПО (ВтСбор.Сотрудник = ВтСостояния.Сотрудник)
Показать





Но теперь некоторые записи дублируются
Прикрепленные файлы:
19. nomad_irk 76 18.01.24 12:36 Сейчас в теме
(18)Потому что вы упорно выбираете ВСЕХ сотрудников, а не актуальных на указанную дату.
20. HarkonLord 18.01.24 12:47 Сейчас в теме
(19)Простите меня,я правда не понимаю,что Вы имеете ввиду,можете указать строчку в коде или объяснить,что нужно добавить,голова не работает
21. HarkonLord 18.01.24 12:51 Сейчас в теме
(19)А,Понял,соединение Левое Между ВтПриёмы и ВтПриёмНаРаботу. Сделал,вроде как получилось
22. HarkonLord 18.01.24 13:03 Сейчас в теме
(19)
ВЫБРАТЬ
	КадроваяИсторияСотрудников.Сотрудник КАК Сотрудник,
	КадроваяИсторияСотрудников.Подразделение КАК Подразделение,
	КадроваяИсторияСотрудников.Должность КАК Должность,
	КадроваяИсторияСотрудников.КоличествоСтавок КАК КоличествоСтавок,
	КадроваяИсторияСотрудников.Период КАК Период
ПОМЕСТИТЬ ВтПриёмНаРаботу
ИЗ
	РегистрСведений.КадроваяИсторияСотрудников.СрезПоследних(&Дата, ) КАК КадроваяИсторияСотрудников
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	КадроваяИсторияСотрудников.Сотрудник КАК Сотрудник,
	КадроваяИсторияСотрудников.Подразделение КАК Подразделение,
	КадроваяИсторияСотрудников.Должность КАК Должность,
	КадроваяИсторияСотрудников.КоличествоСтавок КАК КоличествоСтавок,
	КадроваяИсторияСотрудников.Период КАК Период,
	Приемы.Период КАК ДатаПриема
ПОМЕСТИТЬ ВтПриемы
ИЗ
	РегистрСведений.КадроваяИсторияСотрудников.СрезПоследних(&Дата, ) КАК КадроваяИсторияСотрудников
		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КадроваяИсторияСотрудников.СрезПоследних(&Дата, ВидСобытия = ЗНАЧЕНИЕ(Перечисление.ВидыКадровыхСобытий.Прием)) КАК Приемы
		ПО КадроваяИсторияСотрудников.Сотрудник = Приемы.Сотрудник
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	ВидыЗанятостиСотрудников.Сотрудник КАК Сотрудник,
	ВидыЗанятостиСотрудников.ВидЗанятости КАК ВидЗанятости,
	ВидыЗанятостиСотрудников.Период КАК Период
ПОМЕСТИТЬ ВтВидыЗанятости
ИЗ
	РегистрСведений.ВидыЗанятостиСотрудников.СрезПоследних(&Дата, ) КАК ВидыЗанятостиСотрудников
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	ВтПриёмНаРаботу.Сотрудник КАК Сотрудник,
	ВтПриёмНаРаботу.Подразделение КАК Подразделение,
	ВтПриёмНаРаботу.Должность КАК Должность,
	ВтПриёмНаРаботу.КоличествоСтавок КАК КоличествоСтавок,
	ВтПриёмНаРаботу.Период КАК Период,
	ВтВидыЗанятости.ВидЗанятости КАК ВидЗанятости,
	ВтПриемы.ДатаПриема КАК ДатаПриема
ПОМЕСТИТЬ ВтСбор
ИЗ
	ВтПриёмНаРаботу КАК ВтПриёмНаРаботу
		ЛЕВОЕ СОЕДИНЕНИЕ ВтВидыЗанятости КАК ВтВидыЗанятости
		ПО (ВтПриёмНаРаботу.Сотрудник = ВтВидыЗанятости.Сотрудник)
		ЛЕВОЕ СОЕДИНЕНИЕ ВтПриемы КАК ВтПриемы
		ПО (ВтПриёмНаРаботу.Сотрудник = ВтПриемы.Сотрудник)
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	СостоянияСотрудников.Сотрудник КАК Сотрудник,
	СостоянияСотрудников.Состояние КАК ТекущееСостояние,
	СостоянияСотрудников.Период КАК Период
ПОМЕСТИТЬ ВтСостояния
ИЗ
	РегистрСведений.СостоянияСотрудников.СрезПоследних(&Дата, ) КАК СостоянияСотрудников
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	ВтСбор.Сотрудник КАК Сотрудник,
	ВтСбор.Подразделение КАК Подразделение,
	ВтСбор.Должность КАК Должность,
	ВтСбор.КоличествоСтавок КАК КоличествоСтавок,
	ВтСбор.ВидЗанятости КАК ВидЗанятости,
	ВтСбор.ДатаПриема КАК ДатаПриема,
	ВтСостояния.ТекущееСостояние КАК ТекущееСостояние
ИЗ
	ВтСбор КАК ВтСбор
		ЛЕВОЕ СОЕДИНЕНИЕ ВтСостояния КАК ВтСостояния
		ПО ВтСбор.Сотрудник = ВтСостояния.Сотрудник
ГДЕ
	ВтСбор.Период <= &Дата
Показать
6. BackinSoda 18.01.24 09:28 Сейчас в теме
Или в зупе получать к.д. так
8. HarkonLord 18.01.24 10:57 Сейчас в теме
(6)
КадровыеДанныеСотрудников = КадровыйУчет.КадровыеДанныеСотрудников(Истина,
ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве(Строка),
"Организация,ФизическоеЛицо,ТабельныйНомер,Подразделение,Должность,ВидЗанятости,ДолжностьПоШтатномуРасписанию,КоличествоСтавок,ДатаПриема,ДатаУвольнения,ГрафикРаботы,СтатьяФинансирования, РазрядКатегория ", ТекущаяДата());

Такой формат слишком сложный для меня, я пользуюсь конструктором запросов сейчас, у меня правильно написан сам запрос, мне нужно исправить конкретную проблему, с актуальностью информации.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот