Отчет

Вопрос задал Ева *.

Ответственный за ответ: Щелкунова Юлия (★9.80/10)

Добрый день. Работаем в ЗУП корп 3.1.22.48. Помогите пожалуйста настроить отчет который показывает дату перевода сотрудника на текущую должность (именно должность, если была смена подразделения это анализировать не нужно) и сколько времени (год/месяц/день) он ее занимает на дату формирования отчета. ) Вопрос очень срочный!

Все комментарии (2)

  1. Здравствуйте!

    К сожалению, нив  одном регистре не хранится информация о том, какие были подразделение и должность до перевода. Мы можем, в том числе и типовыми отчетами, посмотреть изменения за период — новые кадровые сотрудника, но нет типового отчета, позволяющего увидеть подразделение и должность до перевода. А значит не получится и проанализировать изменилось только подразделение или изменилась должность.
    Но есть вариант обхода, который правда потребует ручной работы. Можно добавить в Кадровый перевод дополнительный реквизит — флажок «Изменена должность». Этот флажок проставить в нужных Кадровых переводах. Но тут опять есть подводный камень: Кадровый перевод может быть списком, а в одном переводе может быть и перевод с изменением должности и перевод, где изменилось только подразделение. Если у вас есть такие случаи, то для них этот способ не отработает. 🙁

    Как настроить доп. реквизит, посмотрите:

     

    Когда доп. реквизит настроен и флажки в нужных КП проставлены, можно формировать отчет.

    Сформируем Универсальный отчет по регистру «Кадровая история сотрудников».
    Чтобы попали только нужные переводы сделаем отбор:

    Регистратор события.Изменилась должность (Кадровые переводы) = Истина ИЛИ Регистратор события.Изменилась должность (Кадровые переводы списком) 

    Затем настроим пользовательское поле выражение. Текст в «Выражении детальных записей»:

    Строка(Цел((ВыборСтрока(Цел((Выбор Когда НачалоПериода(ДобавитьКДате([Дата начала], «Месяц», РазностьДат([Дата начала], ТекущаяДата(), «МЕСЯЦ»)), «ДЕНЬ») > НачалоПериода(ТекущаяДата(), «ДЕНЬ») Тогда -1 Иначе 0 Конец + РазностьДат([Дата начала], ТекущаяДата(), «МЕСЯЦ»)) / 12)) + «г.» + Строка(Выбор Когда НачалоПериода(ДобавитьКДате([Дата начала], «Месяц», РазностьДат([Дата начала], ТекущаяДата(), «МЕСЯЦ»)), «ДЕНЬ») > НачалоПериода(ТекущаяДата(), «ДЕНЬ») Тогда -1 Иначе 0Конец + РазностьДат([Дата начала], ТекущаяДата(), «МЕСЯЦ») — 12 * Цел((Выбор Когда НачалоПериода(ДобавитьКДате([Дата начала], «Месяц», РазностьДат([Дата начала], ТекущаяДата(), «МЕСЯЦ»)), «ДЕНЬ») > НачалоПериода(ТекущаяДата(), «ДЕНЬ») Тогда -1 Иначе 0 Конец + РазностьДат([Дата начала], ТекущаяДата(), «МЕСЯЦ»)) / 12)) + «м.» + Строка(РазностьДат(ДобавитьКДате([Дата начала], «МЕСЯЦ», Выбор Когда НачалоПериода(ДобавитьКДате([Дата начала], «Месяц», РазностьДат([Дата начала], ТекущаяДата(), «МЕСЯЦ»)), «ДЕНЬ») > НачалоПериода(ТекущаяДата(), «ДЕНЬ») Тогда -1 Иначе 0 Конец + РазностьДат([Дата начала], ТекущаяДата(), «МЕСЯЦ»)), ТекущаяДата(), «ДЕНЬ»)) + «д.»

    Но поскольку есть проблемы с копированием выражения пользовательского поля: если Вы скопируете этот текст и вставите у себя, то поле будет выдавать ошибку. Дело в том, что при копировании неправильно вставляются кавычки. И их бы пришлось все заменять вручную. Но кавычек в этом тексте много.
    Поэтому я прикладываю настройки универсального отчета: https://buhexpert8.ru/wp-content/uploads/2022/06/nastrojki-universalnogo-otcheta-po-registru-Kadrovaya-istoriya-sotrudnikov.zip
    Только в нем не настроен отбор, о котором я писала выше. Сделайте настройку доп. реквизита, проставьте флажки. Затем разверните эти настройки и добавьте в них отбор по доп. реквизиту.

    Протестируйте, пожалуйста, и отпишитесь, верно ли считает период работы. Должно быть верно, этот алгоритм уже был проверен на расчете стажа. Но все-таки несколько случаев просчитайте вручную у себя.

  2. Добрый день. Можно закрывать, спасибо!

Комментарии закрыты.