Неправильно заполняется список сотрудников в нетиповом документе. ЗУП 3.1

1. user701354_iceb 02.02.24 11:26 Сейчас в теме
Конфигурация - актуальная ЗУП.

Нетиповой документ использует процедуру для заполнения списка работающих сотрудников по подразделениям.
Но заполняет всеми, в том числе и уволенными.

Раньше вроде работало нормально

Можно толкнуть в правильном направлении?

Спасибо заранее!!!

&НаСервере
Процедура ЗаполнитьСписокСотрудников()

	Запрос=Новый Запрос;
	
	Запрос.Текст="ВЫБРАТЬ
	             |	КадроваяИсторияСотрудников.Сотрудник КАК Сотрудник,
	             |	МАКСИМУМ(КадроваяИсторияСотрудников.Период) КАК Период
	             |ПОМЕСТИТЬ ВТ_Последние
	             |ИЗ
	             |	РегистрСведений.КадроваяИсторияСотрудников КАК КадроваяИсторияСотрудников
	             |ГДЕ
	             |	(КадроваяИсторияСотрудников.ДействуетДо > &ДатаСреза
	             |		ИЛИ КадроваяИсторияСотрудников.ДействуетДо = ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0))
	             |
	             |СГРУППИРОВАТЬ ПО
	             |	КадроваяИсторияСотрудников.Сотрудник
	             |;
	             |
	             |////////////////////////////////////////////////////////////­////////////////////
	             |ВЫБРАТЬ
	             |	ВТ_Последние.Сотрудник КАК Сотрудник,
	             |	КадроваяИсторияСотрудников.Подразделение КАК Подразделение,
	             |	КадроваяИсторияСотрудников.Должность КАК Должность
	             |ПОМЕСТИТЬ ВТ
	             |ИЗ
	             |	ВТ_Последние КАК ВТ_Последние
	             |		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КадроваяИсторияСотрудников КАК КадроваяИсторияСотрудников
	             |		ПО ВТ_Последние.Сотрудник = КадроваяИсторияСотрудников.Сотрудник
	             |			И ВТ_Последние.Период = КадроваяИсторияСотрудников.Период
	             |;
	             |
	             |////////////////////////////////////////////////////////////­////////////////////
	             |ВЫБРАТЬ
	             |	ПодразделенияОрганизаций.Ссылка КАК Ссылка
	             |ПОМЕСТИТЬ ВТ_Подразделения
	             |ИЗ
	             |	Справочник.ПодразделенияОрганизаций КАК ПодразделенияОрганизаций
	             |ГДЕ
	             |	ПодразделенияОрганизаций.Ссылка В ИЕРАРХИИ(&Подразделение)
	             |;
	             |
	             |////////////////////////////////////////////////////////////­////////////////////
	             |ВЫБРАТЬ
	             |	ВТ.Сотрудник КАК Сотрудник,
	             |	ВТ.Подразделение КАК Подразделение,
	             |	ВТ.Должность КАК Должность,
	             |	ГрафикРаботыСотрудниковСрезПоследних.ГрафикРаботы КАК ГрафикРаботы
	             |ИЗ
	             |	ВТ КАК ВТ
	             |		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ГрафикРаботыСотрудников.СрезПоследних(&ДатаСреза, ) КАК ГрафикРаботыСотрудниковСрезПоследних
	             |		ПО ВТ.Сотрудник = ГрафикРаботыСотрудниковСрезПоследних.Сотрудник
	             |ГДЕ
	             |	ВЫБОР
	             |		КОГДА &Подразделение = ЗНАЧЕНИЕ(Справочник.ПодразделенияОрганизаций.ПустаяСсылка)
	             |				ТОГДА ИСТИНА
	             |		ИНАЧЕ ВТ.Подразделение В
	             |				(ВЫБРАТЬ
	             |					ВТ_Подразделения.Ссылка КАК Ссылка
	             |				ИЗ
	             |					ВТ_Подразделения КАК ВТ_Подразделения)
	             |		КОНЕЦ
	             |
	             |УПОРЯДОЧИТЬ ПО
	             |	ВТ.Сотрудник.Наименование";
	
	
Запрос.УстановитьПараметр("ДатаСреза",КонецМесяца(Объект.МесяцНачисления));	
Запрос.УстановитьПараметр("Подразделение",Объект.Подразделение);	
Объект.ОтработанноеВремя.Загрузить(Запрос.Выполнить().Выгрузить());

Для каждого СтрокаТЧ Из Объект.ОтработанноеВремя Цикл
	ОтработанноеВремяСотрудникПриИзмененииНаСервере(Объект.ОтработанноеВремя.Индекс(СтрокаТЧ));
КонецЦикла;



КонецПроцедуры // ЗаполнитьСписокСотрудников()
Показать
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. nomad_irk 76 02.02.24 12:14 Сейчас в теме
(1) Оно не могло работать, потому что этот запрос выбирает в том числе и уволенных.
ВЫБРАТЬ
| КадроваяИсторияСотрудников.Сотрудник КАК Сотрудник,
| МАКСИМУМ(КадроваяИсторияСотрудников.Период) КАК Период
|ПОМЕСТИТЬ ВТ_Последние
|ИЗ
| РегистрСведений.КадроваяИсторияСотрудников КАК КадроваяИсторияСотрудников
|ГДЕ
| (КадроваяИсторияСотрудников.ДействуетДо > &ДатаСреза
| ИЛИ КадроваяИсторияСотрудников.ДействуетДо = ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0))
|
|СГРУППИРОВАТЬ ПО
| КадроваяИсторияСотрудников.Сотрудник
Оставьте свое сообщение

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