Робочі процеси SharePoint - двоетапне узгодження документа, ІТ співтовариство України

Робочі процеси одна з найбільш просунутих, але маловикористовуваних (мабуть через складність настоянки) функцій SharePoint, але робочі процеси приносять стільки користі, що я не можу не написати про те, як їх створювати та використовувати.

У цій статті я розпишу один із найбільш затребуваних процесів – двоетапне узгодження документа, наприклад рядовий бухгалтер (user1) робить звіт, який передається на узгодження безпосередньому керівнику (user2), і якщо user2 дає згоду документ передається до user3, який також може прийняти чи відхилити документ.

Якщо user2 схвалює документ, повідомляються user1 та user4 (user4 це передбачуваний керівник user3).

Якщо user2 відхиляє документ, повідомляється лише user4.

Якщо user3 схвалює документ, повідомляються user2 та user4, якщо відхиляє, повідомляє user2.

Схема нехитра, інтуїтивно зрозуміла та годиться практично для будь-якого підприємства. Проте це демо, і для реального впровадження потрібно додавати і коригувати деякі фактори.

Я не використовуватиму готові шаблони SharePoint Enterprise, т.к. це не дасть ні універсальності застосування, ні повного розуміння.

Використатиму я буду SharePoint Designer і писати тільки руками. Пояснення я зроблю максимально лаконічними, що відповідають питанням “Як?”, а теоретичну частину Ви завжди можете знайти у відкритих джерелах. Visual Studio не використовую, т.к. для поставленої мети SharePoint Designer підходить більш ніж.

Як тестове середовище я використовуватиму як Office 365 на платформі 2010, так і SharePoint 2013 Enterprise для того, щоб показати якомога більше. Опис нового у побудові процесів на платформі SharePoint 2013 виходить за рамки цієї статті. заслуговуєокремої, яку рано чи пізно напишу.

Отже, створимо новий повторно використовуваний процес, назвемо test1 і будемо використовувати для будь-якого типу контенту:

робочі

Як умова першого кроку буде додавання/зміна документа в бібліотеці, до якої ми прив'яжемо процес. Також умовою може бути ручний запуск процесу, і саме так я проводитиму демо.

Як дія для першого кроку будемо отримувати рішення від user2 з виведенням у нову змінну Рішення user2 (var):

Рішення будемо робити за допомогою Майстра створення задач:

двоетапне

Як завдання у нас буде “Вибір із меню”:

процеси

узгодження

..і "Многорядковий текст":

процеси

двоетапне

Для коректної передачі на наступний крок, створимо Дію “Задати змінну робочого процесу”.

Для першого значення створимо нову змінну “Рецензія User2” із типом “Ідентифікатор елементів списку”:

узгодження

Як друге значення будемо використовувати таку функцію:

sharepoint

Тепер переходимо до другого кроку і створимо Умову "Якщо будь-яке значення дорівнює вказаному значенню", і в якості першого значення вкажемо таку функцію:

sharepoint

.. а як і вкажемо "Схвалюю":

узгодження

Як перша Дія виконаємо відправку пошти:

двоетапне

Потім виконаємо дію отримання рішення від User3 за аналогією з отриманням рішення від User2. Також зробимо і зі змінною:

узгодження

.. Але якщо рішення User2 буде негативним, ми повинні будемо відправити лист-повідомлення User4, для цього додамо до умови гілка Else If :

двоетапне

Перейдемо до останнього, третього кроку, на якому в залежності від рішення User3 будуть відправлені відповідніповідомлення.

Додамо Умову, якщо будь-яке значення дорівнює вказаному значенню і в якості першого значення введемо таку функцію:

А як друге значення "Схвалюю". Дія буде надсилати листи User2 та User4.

Додамо до умови альтернативну галузь Else If , а як дію відправлення листа User2.

Таким чином, весь процес виглядає ось так:

sharepoint

Перевіримо, збережемо та опублікуємо робочий процес. Навіть якщо перевірка пройшла успішно, публікація може не відбутися, зверніть увагу на зв'язки гілок Else If, ​​вони мають бути такі ж, як на моєму скріншеті.

Потім залогінимось на наш портал з правами адміністратора і додамо процес до бібліотеки, введемо прийнятне ім'я, створимо новий список завдань та журнал:

процеси

Потім налаштуємо параметри запуску, для тесту нічого автоматизувати не буду:

Тепер зайдемо на портал під User1 і розпочнемо відпрацювання сценарію із запуску робочого процесу вручну:

sharepoint

Заглянемо в поштову скриньку User2 і переконаємося, що надійшло повідомлення:

двоетапне

узгодження

.. після чого зайдемо на пошту User3 і переконаємося, що він отримав підтвердження про те, що User2 дав позитивну відповідь і другим листом отримав запрошення дати свою рецензію:

робочі

Припустимо, що User3 відправляє документ на доопрацювання:

sharepoint

Як і планувалося, про це отримує повідомлення User2:

двоетапне

Припустимо, що User4 хоче подивитися як виконується процес, для цього він заходить у потрібну бібліотеку і кликає на стан робочого процесу:

робочі

.. де бачить докладну інформацію про виконані дії:

процеси

Наприклад, натиснувши на Рішення User3 можна буде побачити:

sharepoint

Таким чином, мипереконалися, що наш процес працює належним чином.

У наступній статті я розповім як автоматизувати звіти, візуалізувати стадії та призначити терміни 😉