Добры дзень усім! Сёння я хацеў бы падзяліцца невялікім прыкладам аўтаматызацыі працэсу стварэння заявак на выхад новых супрацоўнікаў з выкарыстаннем прадуктаў Microsoft SharePoint, PowerApps, Power Automate і Teams. Пры рэалізацыі дадзенага працэсу не запатрабуецца купля асобных карыстацкіх планаў PowerApps і Power Automate, дастаткова будзе падпіскі Office365 E1/E3/E5. На сайце SharePoint створым спісы і слупкі, PowerApps дапаможа зрабіць форму, а Power Automate прадаставіць магчымасці для наладкі логікі бізнес-працэсаў. Выніковы працэс падключым да каманды MS Teams. Давайце не будзем марнаваць час і паглядзім, што з гэтага выйдзе.
На першым этапе ствараем спісы і рэквізіты. Нам спатрэбяцца спісы:
- Заяўкі на выхад супрацоўнікаў
- Падраздзяленні
- HR па падраздзяленнях
- адміністратары
Кожны спіс у далейшым адыграе сваю ролю, і мы ўбачым якую менавіта. Ствараем рэквізіты і наладжваем меню навігацыі:
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 патоку, які вырабляе змену статусу заяўкі і адпраўку паштовага апавяшчэння спецыялісту HR:
Працэс гатовы.
каманды
І фінальная рыска – арганізацыя сумеснай працы з дадзеным працэсам. Для гэтага падлучальны працэс да каманды MS Teams:
Цяпер, ва ўсіх удзельнікаў каманды MS Teams, ёсць доступ да працэсу выхаду новых супрацоўнікаў на асобнай укладцы.
Вядома, у логіцы патоку можна прадугледзець шматступеннае ўзгадненне, плюс ёсць магчымасць выкарыстоўваць кампанент Approvals для прызначэння задач Power Automate. Таксама можна наладзіць справаздачы і сфарміраваць апавяшчэнні, якія будуць адпраўляцца ў чат-бота Microsoft Teams. Але пра гэта ў наступных артыкулах. Дзякуй за ўвагу і добрага ўсім дня!
Крыніца: habr.com