Как сделать многоуровневое утверждение заявок с помощью механизма отчётов MS SQL Server Reporting Services?

1. Создадим заявку в iScala:

Создадим заявку в iScala

2. Создадим отчёт MS SQL Server Reporting Services и опубликуем его на сервере. У отчёта имеются скрытые параметры: «уровень авторизации» и «ID пользователя»

3. Создадим папки на сервере отчётов:

папки на сервере отчётов

4. Создадим в каждой из папок ссылку на опубликованный отчёт (linked report) и установим для каждой папки свой параметр «уровень авторизации», для папки «Level1» = 1, для папки «Level2» = 2 и так далее.

5. Пользователь с самым нижним уровнем утверждения входит в сеть:

Пользователь с самым нижним уровнем утверждения входит в сеть

6. Этот пользователь имеет доступ в папку «Level1», другие папки ему недоступны:

Этот пользователь имеет доступ в папку «Level1», другие папки ему недоступны

7. Он запускает отчёт, находящийся в данной папке, выбирает номер заявки, подлежащей утверждению и просматривает содержимое:

Содержимое заявки

8. Просмотрев содержимое он решает утвердить заявку и меняет параметр «Утвердить?» с «Нет» на «Да» и нажимает на кнопку «View Report». Появляется запись в строках утверждения заявки:

Просмотрев содержимое он решает утвердить заявку и меняет параметр «Утвердить?» с «Нет» на «Да»

Заявка переходит на следующий уровень утверждения.

9. Пользователь со следующим уровнем утверждения входит в сеть:

Пользователь со следующим уровнем утверждения входит в сеть

10. Этот пользователь имеет доступ в папку «Level2», другие папки ему недоступны:

Этот пользователь имеет доступ в папку «Level2», другие папки ему недоступны

11. Он запускает отчёт, находящийся в данной папке, выбирает номер заявки, подлежащей утверждению и просматривает содержимое:

Он запускает отчёт, находящийся в данной папке, выбирает номер заявки, подлежащей утверждению и просматривает содержимое

12. Просмотрев содержимое он решает утвердить заявку и меняет параметр «Утвердить?» с «Нет» на «Да» и нажимает на кнопку «View Report». Появляется новая запись в строках утверждения заявки:

Просмотрев содержимое он решает утвердить заявку и меняет параметр «Утвердить?» с «Нет» на «Да» и нажимает на кнопку «View Report». Появляется новая запись в строках утверждения заявки

13. Заявка уходит с данного уровня утверждения и переходит на следующий уровень утверждения:

Заявка уходит с данного уровня утверждения и переходит на следующий уровень утверждения

14. Пользователь со следующим уровнем утверждения входит в сеть:

Пользователь со следующим уровнем утверждения входит в сеть

15. Этот пользователь имеет доступ в папку «Level3», другие папки ему недоступны:

Этот пользователь имеет доступ в папку «Level3», другие папки ему недоступны

16. Он запускает отчёт, находящийся в данной папке, выбирает номер заявки, подлежащей утверждению и просматривает содержимое:

Он запускает отчёт, находящийся в данной папке, выбирает номер заявки, подлежащей утверждению и просматривает содержимое

Просмотр содержимого заявки

17. Просмотрев содержимое он решает утвердить заявку и меняет параметр «Утвердить?» с «Нет» на «Да» и нажимает на кнопку «View Report». Появляется новая запись в строках утверждения заявки:

Просмотрев содержимое он решает утвердить заявку и меняет параметр «Утвердить?» с «Нет» на «Да» и нажимает на кнопку «View Report». Появляется новая запись в строках утверждения заявки

18. Заявка уходит с данного уровня утверждения и переходит на следующий уровень утверждения:

Заявка уходит с данного уровня утверждения и переходит на следующий уровень утверждения

19. Пользователь со следующим уровнем утверждения входит в сеть:

Главный бухгалтер

20. Этот пользователь имеет доступ в папку «Level4», другие папки ему недоступны:

Главный бухгалтер имеет доступ в папку «Level4», другие папки ему недоступны

21. Он запускает отчёт, находящийся в данной папке, выбирает номер заявки, подлежащей утверждению и просматривает содержимое:

Запуск отчёта

Просмотр отчёта

22. Просмотрев содержимое он решает утвердить заявку и меняет параметр «Утвердить?» с «Нет» на «Да» и нажимает на кнопку «View Report». Появляется новая запись в строках утверждения заявки:

Утверждение заявки

23. Чтобы убедиться, что заявка ушла с данного уровня утверждения и перешла на следующий уровень утверждения пользователь снова переходит в папку своего уровня и заново запускает отчёт:

пользователь снова переходит в папку своего уровня

пользователь заново запускает отчёт

24. Пользователь со следующим уровнем утверждения входит в сеть:

Финансовый менеджер

25. Этот пользователь имеет доступ в папку «Level5», другие папки ему недоступны:

Финансовый менеджер имеет доступ в папку «Level5», другие папки ему недоступны

26. Он запускает отчёт, находящийся в данной папке, выбирает номер заявки, подлежащей утверждению и просматривает содержимое:

Запуск отчёта

Просмотр отчёта

27. Просмотрев содержимое он решает утвердить заявку и меняет параметр «Утвердить?» с «Нет» на «Да» и нажимает на кнопку «View Report». Появляется новая запись в строках утверждения заявки:

Утверждение заявки

28. Заявка уходит с данного уровня утверждения и переходит на следующий уровень утверждения:

Заявка уходит с данного уровня утверждения и переходит на следующий уровень утверждения

29. Пользователь со следующим уровнем утверждения входит в сеть:

Пользователь со следующим уровнем утверждения входит в сеть

30. Этот пользователь имеет доступ во все папки, так как он является администратором:

Этот пользователь имеет доступ во все папки, так как он является администратором

31. Он переходит в папку «Level6» и запускает отчёт, выбирает номер заявки, подлежащей утверждению и просматривает содержимое:

Запуск отчёта

Просмотр отчёта

32. Просмотрев содержимое он решает утвердить заявку и меняет параметр «Утвердить?» с «Нет» на «Да» и нажимает на кнопку «View Report». Появляется новая запись в строках утверждения заявки:

Утверждение заявки

33. Заявка уходит с данного уровня утверждения:

Заявка уходит с данного уровня утверждения

Предполагается, что в этот момент будет создан файл для Epicor Service Connect, при обработке которого заявка будет преобразована в Заказ на Закупку.

Разумеется, это упрощённый пример. Система папок может быть гораздо более сложной, например, с учётом отделов, также на уровень утверждения может влиять сумма заявки, например, для заявки с суммой до 100 000 рублей требуется 4 уровня утверждения, от 100 001 до 500 000 рублей — 5 уровней утверждения, свыше — 6 уровней и т.д. Всё это может быть учтено в рамках конкретного внедрения, здесь приводится лишь пример, объясняющий общую схему.

Если у Вас возникли какие-либо вопросы, не стесняйтесь их задать.

Ещё на эту же тему: И снова про многоуровневое утверждение заявок

 

Список опубликованных процедур: