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

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

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

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

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

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

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

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

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



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

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