Имя: Пароль:
1C
 
ЗуП как получить стаж работы на текущей должности в организации и общий стаж?
0 Shur1cIT
 
05.03.22
13:55
В текущей должности у меня только один вариант запрос к регистру кадровая история сотрудника с параметрами должность и сотрудник далее из периода выбрать минимальную дату (могут быть переводы без смены должности)
А как получить общий стаж ?(который включает в том числе текущий на предприятии)
1 IvanVlad1
 
05.03.22
14:56
Используйте метод КадровыйУчет.КадровыеДанныеСотрудников()
2 Shur1cIT
 
05.03.22
15:06
(1) там нет общего стажа , сейчас изучаю КадровыйУчетРасширенныйВызовСервера.СведенияОСтажахФизическогоЛица именно он дергается для заполнения стажа в справочнике физические лица
3 SleepyHead
 
гуру
05.03.22
17:46
// расчет стажа
    МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
    
    // сначала в таблицу ВТИсходныеДанные поместить поля Дата, ФизическоеЛицо, Сотрудник, ВидСтажа
    Запрос = Новый Запрос;
    Запрос.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц;
    
    Запрос.УстановитьПараметр("МассивСотрудников", МассивСотрудников);
    Запрос.УстановитьПараметр("Период", КонецПериода);
    Запрос.УстановитьПараметр("СтажОбщий", Справочники.ВидыСтажа.НайтиПоРеквизиту("КатегорияСтажа", Перечисления.КатегорииСтажа.Общий));
    Запрос.Текст =
    "ВЫБРАТЬ
    |    Сотрудники.ФизическоеЛицо КАК ФизическоеЛицо,
    |    Сотрудники.Ссылка КАК Сотрудник,
    |    &Период КАК Дата,
    |    &СтажОбщий КАК ВидСтажа
    |ПОМЕСТИТЬ ВТИсходныеДанные
    |ИЗ
    |    Справочник.Сотрудники КАК Сотрудники
    |ГДЕ
    |    Сотрудники.Ссылка В(&МассивСотрудников)
";
    Запрос.Выполнить();
    
    // расчет стажа указанного вида
    КадровыйУчетРасширенный.СоздатьВТСтажиСотрудников(Запрос.МенеджерВременныхТаблиц);
    
    // выбрать стаж в месяцах из полученных данных
    Запрос.Текст = "
    |ВЫБРАТЬ
    |   ВТСтажиСотрудников.Сотрудник.ФизическоеЛицо КАК ФизическоеЛицо,
    |   ВТСтажиСотрудников.Дата КАК Период,
    |   ВТСтажиСотрудников.ВидСтажа.КатегорияСтажа КАК КатегорияСтажа,
    |   ВТСтажиСотрудников.РазмерМесяцев КАК РазмерМесяцев
    |ИЗ ВТСтажиСотрудников";
    
    РезультатЗапроса=Запрос.Выполнить();