Автоматизация HR процессов с использованием Microsoft Teams, PowerApps и Power Automate. Заявки на выход сотрудников

    Добрый день всем! Сегодня я бы хотел поделиться небольшим примером автоматизации процесса создания заявок на выход новых сотрудников с использованием продуктов Microsoft SharePoint, PowerApps, Power Automate и Teams. При реализации данного процесса не потребуется покупка отдельных пользовательских планов PowerApps и Power Automate, достаточно будет подписки Office365 E1/E3/E5. На сайте SharePoint создадим списки и столбцы, PowerApps поможет сделать форму, а Power Automate предоставит возможности для настройки логики бизнес-процессов. Итоговый процесс подключим к команде MS Teams. Давайте не будем терять время и посмотрим, что из этого выйдет.



    На первом этапе создаем списки и реквизиты. Нам потребуются списки:

    1. Заявки на выход сотрудников
    2. Подразделения
    3. HR по подразделениям
    4. Администраторы

    Каждый список в дальнейшем сыграет свою роль, и мы увидим какую именно. Создаем реквизиты и настраиваем меню навигации:



    PowerApps


    Теперь, давайте сделаем форму для списка «Заявки на выход сотрудника» с использованием PowerApps. В итоговом виде она будет выглядеть вот так:



    В поле «Сотрудник» осуществляется выбор из перечня пользователей Office 365, «Дата выхода» указывается из календаря, «Подразделение» указывается из справочника подразделений, а «HR» выбирается из справочника «HR по подразделениям»:



    Но необходимо сделать так, чтобы перечень HR, доступных для выбора, фильтровался по указанному на форме подразделению. Воспользуемся формулой для фильтрации данных в PowerApps. Для свойства «Items» поля «HR» пишем:



    Дополнительно, на форме можно сделать небольшие настройки значения по умолчанию для поля Статус. Для свойства «Default» поля «Статус» пишем:



    Если открывается форма создания элемента, то в поле «Статус» будет записано значение «Новая», иначе, в поле статус на форме будет произведена подстановка значения из столбца SharePoint для текущего элемента.

    Одной из проблем PowerApps является невозможность легко получить данные из групп SharePoint. В связи с этим не удается легко настроить видимость/доступность полей или объектов на форме если вы хотели завязаться на вхождение пользователя в группу SharePoint. Но можно совершить обходной маневр. Специально для этого мы с Вами заранее создали список Администраторы:



    В данном списке присутствует поле «Сотрудник» с типом «Пользователь или группа», отображаемое только на форме и поле «Название», в которое пишется имя выбранного сотрудника, отображаемое только в представлении списка. Теперь, давайте, в PowerApps провернем небольшой трюк. Например, можно настроить доступность любого поля на условие наличия текущего пользователя в списке Администраторы. Находим свойство «Display Mode» поля «Дата выхода» и пишем:



    Согласно данной формуле, если в списке Администраторы есть хотя бы один сотрудник, логин которого совпадает с логином текущего пользователя, то поле будет доступно на редактирование, иначе, на просмотр. Для большей надежности приводим логин к нижнему регистру, а то всякие случаи бывают.

    Вы могли заметить, что в заголовке формы есть кнопка «Действия над заявкой»:



    Данная кнопка будет осуществлять переход на другой экран, где, для удобства, собраны все возможные действия над заявкой:



    После нажатия на каждую кнопку открывается дополнительное окно действий, например, если выбрано действие «Отменить заявку», то открывается дополнительное окно с возможностью ввода комментария:



    После нажатия на кнопку «Подтвердить» меняется статус заявки, причем, это возможно сделать даже без запуска Power Automate потока. Воспользуемся функцией «Patch» для свойства «OnSelect» кнопки:



    С помощью функции Patch мы обновляем элемент списка заявок, отфильтровав его по идентификатору текущего элемента. Осуществляем смену значения поля «Статус» и производим переход на основной экран. Для остальных кнопок действий логика аналогичная.

    Осталось настроить поток согласования. Сделаем его в самом простом виде.

    Power Automate


    Наш поток согласования будет запускаться автоматически при создании заявки. В ходе выполнения будет происходить смена статуса заявки, получение руководителя подразделения и отправка почтового уведомления о новой заявке руководителю. Для определения руководителя у нас есть справочник «Подразделения»:



    Создаем Power Automate поток:



    В ходе выполнения данного потока руководитель подразделения получает почтовое уведомление о создании новой заявки и может перейти по ссылке, чтобы принять решение, нажав на кнопку:



    Нажатие кнопки «Согласовать» или «Отклонить» также приводит к запуску Power Automate потока, который производит смену статуса заявки и отправку почтового уведомления специалисту HR:



    Процесс готов.

    Teams


    И финальный штрих – организация совместной работы с данным процессом. Для этого подключаем процесс к команде MS Teams:



    Теперь, у всех участников команды MS Teams, есть доступ к процессу выхода новых сотрудников на отдельной вкладке.

    Конечно, в логике потока можно предусмотреть многоступенчатое согласование, плюс есть возможность использовать компонент Approvals для назначения задач Power Automate. Также можно настроить отчеты и сформировать уведомления, которые будут отправляться в чат-бота Microsoft Teams. Но об этом в следующих статьях. Спасибо за внимание и хорошего всем дня!
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама

    Комментарии 0

    Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

    Самое читаемое