Атестаційні завдання K2 ERP/Система візування та погодження документів: відмінності між версіями
R (обговорення | внесок) Первинна публікація |
R (обговорення | внесок) Немає опису редагування |
||
| Рядок 1: | Рядок 1: | ||
{{DISPLAYTITLE:Атестаційні завдання K2 ERP/Система візування та погодження документів}} | |||
= Модуль електронного візування, узгодження і підпису внутрішніх та зовнішніх документів = | '''Атестаційне завдання K2 ERP — Система візування та погодження документів''' — це практична задача для перевірки навичок розробника або впроваджувача [[K2 ERP]] у створенні модуля електронного документообігу, погодження, візування, підпису, контролю маршрутів, версій, коментарів, строків, аудиту й формування фінальних PDF-документів. | ||
Модуль має забезпечувати повний цикл роботи з документом: створення → завантаження файлу → маршрут погодження → візування → коментарі → доопрацювання → повторне погодження → підпис → фінальний документ → журнал аудиту → архів. | |||
<div style="border:3px solid #1565c0; background:#e3f2fd; padding:14px; margin:16px 0;"> | |||
'''Коротко.''' Потрібно реалізувати модуль візування документів: типи документів, шаблони маршрутів, учасники погодження, ролі, етапи, статуси, коментарі, версії файлів, підпис паролем або ЕЦП, контроль строків, делегування, PDF-лог, архів, права доступу й AJAX-інтерактив. | |||
</div> | |||
__TOC__ | |||
== Назва завдання == | |||
'''Модуль електронного візування, узгодження і підпису внутрішніх та зовнішніх документів'''. | |||
== Мета завдання == | |||
Мета завдання — створити в K2 ERP модуль електронного погодження документів для підприємства. | |||
Система повинна дозволяти: | |||
* створювати документи; | |||
* завантажувати файли документів; | |||
* класифікувати документи за типами; | |||
* створювати маршрути погодження; | |||
* використовувати шаблони маршрутів; | |||
* призначати учасників погодження; | |||
* визначати послідовне або паралельне погодження; | |||
* погоджувати документ; | |||
* відхиляти документ; | |||
* повертати документ на доопрацювання; | |||
* додавати коментарі; | |||
* вести версії файлів; | |||
* фіксувати електронні візи; | |||
* фіксувати підпис документа; | |||
* контролювати строки погодження; | |||
* надсилати сповіщення; | |||
* підтримувати делегування; | |||
* вести журнал дій; | |||
* формувати PDF-лог візування; | |||
* формувати фінальний підписаний документ; | |||
* архівувати завершені документи; | |||
* обмежувати доступ до документів за ролями. | |||
<div style="border:3px solid #2e7d32; background:#e8f5e9; padding:14px; margin:16px 0;"> | |||
'''Головний принцип.''' По кожному документу має бути видно: хто створив, хто погодив, хто відхилив, які коментарі були залишені, яка версія файлу погоджувалась, коли документ був підписаний і хто має право його переглядати. | |||
</div> | |||
== Реальний бізнес-контекст == | == Реальний бізнес-контекст == | ||
Підприємство щодня працює з великою кількістю документів: | |||
* договори; | |||
* акти виконаних робіт; | |||
* рахунки; | |||
* накази; | |||
* службові записки; | |||
* внутрішні меморандуми; | |||
* заявки на оплату; | |||
* комерційні пропозиції; | |||
* кадрові документи; | |||
* юридичні документи; | |||
* фінансові документи; | |||
* технічні завдання; | |||
* додаткові угоди; | |||
* листи контрагентам. | |||
Перед підписанням такі документи часто мають пройти погодження кількома підрозділами: | |||
* автор документа; | |||
* керівник підрозділу; | |||
* юрист; | |||
* фінансист; | |||
* бухгалтерія; | |||
* служба безпеки; | |||
* комерційний директор; | |||
* генеральний директор. | |||
Без електронної системи погодження документи можуть губитися, затримуватися, погоджуватися не тією версією або підписуватися без потрібної перевірки. | |||
==== Довідник «Типи документів» ==== | == Основний бізнес-процес == | ||
Типовий процес візування документа виглядає так: | |||
# автор створює документ у системі; | |||
# обирає тип документа; | |||
# завантажує файл; | |||
# обирає маршрут погодження; | |||
# система призначає учасників маршруту; | |||
# документ переходить у статус '''«На погодженні»'''; | |||
# перший учасник погоджує або відхиляє документ; | |||
# якщо документ погоджено — він переходить до наступного учасника; | |||
# якщо документ відхилено — повертається автору на доопрацювання; | |||
# автор завантажує нову версію файлу; | |||
# погодження запускається повторно; | |||
# після всіх погоджень документ переходить на підпис; | |||
# підписант підписує документ; | |||
# система формує фінальний PDF або лог погодження; | |||
# документ переходить в архів. | |||
== Основні об’єкти модуля == | |||
{| class="wikitable" style="width:100%;" | |||
! Об’єкт | |||
! Призначення | |||
|- | |||
| Документи | |||
| Основні файли та картки документів | |||
|- | |||
| Типи документів | |||
| Класифікація документів | |||
|- | |||
| Маршрути візування | |||
| Правила проходження документа | |||
|- | |||
| Шаблони маршрутів | |||
| Типові маршрути для різних документів | |||
|- | |||
| Учасники візування | |||
| Користувачі, які погоджують або підписують документ | |||
|- | |||
| Етапи погодження | |||
| Послідовні або паралельні кроки маршруту | |||
|- | |||
| Версії документа | |||
| Історія змін файлу | |||
|- | |||
| Коментарі | |||
| Обговорення, зауваження і причини відхилення | |||
|- | |||
| Підписи | |||
| Фіксація погодження або фінального підпису | |||
|- | |||
| Сповіщення | |||
| Повідомлення про дії та строки | |||
|- | |||
| Журнал аудиту | |||
| Повна історія дій з документом | |||
|- | |||
| Архів | |||
| Завершені або скасовані документи | |||
|} | |||
== Довідник «Типи документів» == | |||
Тип документа визначає правила його обробки й маршрут погодження. | |||
== Приклади типів документів == | |||
* контракт; | * контракт; | ||
* акт виконаних робіт; | * акт виконаних робіт; | ||
* рахунок; | |||
* наказ; | * наказ; | ||
* лист; | * лист; | ||
* внутрішній меморандум. | * службова записка; | ||
* внутрішній меморандум; | |||
* заявка на оплату; | |||
* кадровий документ; | |||
* юридичний документ; | |||
* технічне завдання; | |||
* додаткова угода; | |||
* комерційна пропозиція; | |||
* протокол; | |||
* інше. | |||
==== | == Поля типу документа == | ||
{| class="wikitable" style="width:100%;" | |||
! Поле | |||
! Опис | |||
|- | |||
| Назва типу | |||
| Наприклад: Договір, Акт, Наказ | |||
|- | |||
| Опис | |||
| Коротке пояснення | |||
|- | |||
| Шаблон маршруту | |||
| Типовий маршрут погодження | |||
|- | |||
| Потребує фінального підпису | |||
| Так або ні | |||
|- | |||
| Потребує юридичної перевірки | |||
| Так або ні | |||
|- | |||
| Потребує фінансової перевірки | |||
| Так або ні | |||
|- | |||
| Статус | |||
| Активний або архівний | |||
|} | |||
== Довідник «Ролі учасників візування» == | |||
Роль визначає функцію учасника в маршруті. | |||
== Приклади ролей == | |||
* автор документа; | |||
* підготовка документа; | * підготовка документа; | ||
* керівник підрозділу; | |||
* перевірка юриста; | * перевірка юриста; | ||
* перевірка фінансиста; | * перевірка фінансиста; | ||
* перевірка бухгалтерії; | |||
* перевірка служби безпеки; | |||
* погодження керівника; | * погодження керівника; | ||
* підпис генерального директора. | * фінальне погодження; | ||
* підпис генерального директора; | |||
* підпис контрагента; | |||
* архіваріус. | |||
== Поля ролі == | |||
{| class="wikitable" style="width:100%;" | |||
! Поле | |||
! Опис | |||
|- | |||
| Назва ролі | |||
| Назва ролі в маршруті | |||
|- | |||
| Тип дії | |||
| Погодження, перевірка, підпис, перегляд | |||
|- | |||
| Обов’язковість | |||
| Обов’язкова або опціональна роль | |||
|- | |||
| Опис | |||
| Пояснення відповідальності | |||
|} | |||
== База «Документи» == | |||
Документ — це основна сутність модуля. | |||
== Колонки бази документів == | |||
{| class="wikitable" style="width:100%;" | |||
! Колонка | |||
! Опис | |||
|- | |||
| Назва документа | |||
| Назва або тема документа | |||
|- | |||
| Тип документа | |||
| Договір, акт, наказ тощо | |||
|- | |||
| Автор | |||
| Хто створив документ | |||
|- | |||
| Поточний етап | |||
| На якому кроці погодження | |||
|- | |||
| Статус | |||
| Чернетка, на погодженні, підписано, відхилено | |||
|- | |||
| Дата створення | |||
| Коли створено | |||
|- | |||
| Дата завершення | |||
| Коли погодження завершено | |||
|- | |||
| Файл | |||
| Поточна версія документа | |||
|} | |||
== Поля документа == | |||
{| class="wikitable" style="width:100%;" | |||
! Поле | |||
! Опис | |||
|- | |||
| Номер документа | |||
| Внутрішній реєстраційний номер | |||
|- | |||
| Назва документа | |||
| Назва | |||
|- | |||
| Тип документа | |||
| Тип із довідника | |||
|- | |||
| Автор | |||
| Користувач, який створив документ | |||
|- | |||
| Підрозділ | |||
| Підрозділ автора | |||
|- | |||
| Контрагент | |||
| Якщо документ зовнішній | |||
|- | |||
| Сума документа | |||
| Для фінансових документів, опціонально | |||
|- | |||
| Валюта | |||
| Для договорів, актів, рахунків | |||
|- | |||
| Дата створення | |||
| Коли створено | |||
|- | |||
| Планова дата погодження | |||
| До якої дати треба погодити | |||
|- | |||
| Поточна версія | |||
| Активна версія файлу | |||
|- | |||
| Поточний етап | |||
| Хто зараз має діяти | |||
|- | |||
| Статус | |||
| Поточний стан документа | |||
|- | |||
| Коментар автора | |||
| Супровідний опис | |||
|} | |||
== Статуси документа == | |||
{| class="wikitable" style="width:100%;" | |||
! Статус | |||
! Значення | |||
|- | |||
| Чернетка | |||
| Документ створено, але ще не відправлено | |||
|- | |||
| На погодженні | |||
| Документ проходить маршрут візування | |||
|- | |||
| Повернуто на доопрацювання | |||
| Потрібно внести зміни | |||
|- | |||
| Відхилено | |||
| Документ не погоджено | |||
|- | |||
| Очікує підпису | |||
| Усі візи отримані, потрібен підпис | |||
|- | |||
| Підписано | |||
| Документ підписано | |||
|- | |||
| Завершено | |||
| Процес повністю закрито | |||
|- | |||
| Архівовано | |||
| Документ перенесено в архів | |||
|- | |||
| Скасовано | |||
| Процес зупинено | |||
|} | |||
== Версії документа == | |||
Кожне доопрацювання документа має створювати нову версію. | |||
== Поля версії документа == | |||
{| class="wikitable" style="width:100%;" | |||
! Поле | |||
! Опис | |||
|- | |||
| Документ | |||
| До якого документа належить | |||
|- | |||
| Номер версії | |||
| v1, v2, v3 тощо | |||
|- | |||
| Файл | |||
| Завантажений файл | |||
|- | |||
| Автор версії | |||
| Хто завантажив | |||
|- | |||
| Дата завантаження | |||
| Коли завантажено | |||
|- | |||
| Опис змін | |||
| Що змінилось | |||
|- | |||
| Активна версія | |||
| Так або ні | |||
|} | |||
== Правило версійності == | |||
Якщо документ було відхилено або повернуто на доопрацювання, автор має завантажити нову версію файлу. Система повинна зберегти попередні версії для аудиту. | |||
== База «Шаблони маршрутів» == | |||
Шаблон маршруту — це типовий порядок погодження для певного типу документа. | |||
== Приклад маршруту для договору == | |||
# автор; | |||
# керівник підрозділу; | |||
# юрист; | |||
# фінансист; | |||
# бухгалтерія; | |||
# директор; | |||
# підписант. | |||
== Приклад маршруту для наказу == | |||
# автор; | |||
# керівник підрозділу; | |||
# HR; | |||
# юрист; | |||
# директор. | |||
== Поля шаблону маршруту == | |||
{| class="wikitable" style="width:100%;" | |||
! Поле | |||
! Опис | |||
|- | |||
| Назва шаблону | |||
| Наприклад: Договір стандартний | |||
|- | |||
| Тип документа | |||
| До якого типу застосовується | |||
|- | |||
| Опис | |||
| Коротке пояснення | |||
|- | |||
| Тип маршруту | |||
| Послідовний, паралельний, змішаний | |||
|- | |||
| Статус | |||
| Активний або архівний | |||
|} | |||
== База «Маршрути візування» == | |||
Маршрут візування — це конкретний шлях погодження конкретного документа. | |||
== Поля маршруту == | |||
{| class="wikitable" style="width:100%;" | |||
! Поле | |||
! Опис | |||
|- | |||
| Документ | |||
| Документ, що погоджується | |||
|- | |||
| Шаблон маршруту | |||
| На основі якого шаблону створено | |||
|- | |||
| Тип маршруту | |||
| Послідовний, паралельний, змішаний | |||
|- | |||
| Дата запуску | |||
| Коли маршрут стартував | |||
|- | |||
| Дата завершення | |||
| Коли завершився | |||
|- | |||
| Статус | |||
| Активний, завершений, відхилений, скасований | |||
|} | |||
== Етапи маршруту == | |||
Етап — це окремий крок погодження. | |||
== Поля етапу маршруту == | |||
{| class="wikitable" style="width:100%;" | |||
! Поле | |||
! Опис | |||
|- | |||
| Маршрут | |||
| До якого маршруту належить | |||
|- | |||
| Номер етапу | |||
| Порядок виконання | |||
|- | |||
| Роль | |||
| Роль учасника | |||
|- | |||
| Учасник | |||
| Конкретний користувач | |||
|- | |||
| Тип дії | |||
| Погодити, перевірити, підписати | |||
|- | |||
| Обов’язковий | |||
| Так або ні | |||
|- | |||
| Строк виконання | |||
| Дедлайн етапу | |||
|- | |||
| Статус | |||
| Очікує, погоджено, відхилено, делеговано, прострочено | |||
|- | |||
| Дата дії | |||
| Коли виконано | |||
|- | |||
| Коментар | |||
| Коментар учасника | |||
|} | |||
== Типи маршрутів == | |||
== Послідовний маршрут == | |||
Кожен наступний учасник отримує документ тільки після погодження попереднім. | |||
== Паралельний маршрут == | |||
Кілька учасників погоджують документ одночасно. Документ переходить далі, коли всі обов’язкові учасники виконали дію. | |||
== Змішаний маршрут == | |||
Частина етапів виконується послідовно, частина — паралельно. | |||
== | == Дії учасника погодження == | ||
* | Учасник маршруту може виконати одну з дій: | ||
* погодити; | |||
* погодити з коментарем; | |||
* відхилити; | |||
* повернути на доопрацювання; | |||
* делегувати; | |||
* підписати; | |||
* переглянути; | |||
* скасувати, якщо має права. | |||
== Погодження документа == | |||
При погодженні система повинна: | |||
* зафіксувати користувача; | |||
* зафіксувати дату й час; | |||
* зафіксувати версію документа; | |||
* зберегти коментар; | |||
* змінити статус етапу на '''«Погоджено»'''; | |||
* передати документ на наступний етап. | |||
== Відхилення документа == | |||
При відхиленні система повинна: | |||
* вимагати обов’язковий коментар; | |||
* зафіксувати користувача; | |||
* зафіксувати дату й час; | |||
* зафіксувати версію документа; | |||
* змінити статус документа на '''«Відхилено»''' або '''«Повернуто на доопрацювання»'''; | |||
* повідомити автора. | |||
== Повернення на доопрацювання == | |||
Якщо документ повернуто на доопрацювання: | |||
* автор отримує сповіщення; | |||
* автор бачить коментарі; | |||
* автор завантажує нову версію; | |||
* система зберігає попередню версію; | |||
* погодження може стартувати заново або з певного етапу. | |||
== Підпис документів == | |||
Підпис — це фінальна дія або окремий етап маршруту. | |||
== Варіанти підпису == | |||
* простий підпис через пароль K2 ERP; | |||
* підтвердження через одноразовий код, опціонально; | |||
* електронний підпис через зовнішній сервіс, опціонально; | |||
* інтеграція з Дія.Підпис, опціонально; | |||
* завантаження підписаного PDF, якщо підпис відбувся поза системою. | |||
== Поля підпису == | |||
{| class="wikitable" style="width:100%;" | |||
! Поле | |||
! Опис | |||
|- | |||
| Документ | |||
| Що підписується | |||
|- | |||
| Версія документа | |||
| Яка версія підписана | |||
|- | |||
| Підписант | |||
| Хто підписав | |||
|- | |||
| Тип підпису | |||
| Пароль, ЕЦП, зовнішній сервіс | |||
|- | |||
| Дата і час підпису | |||
| Коли підписано | |||
|- | |||
| Статус | |||
| Успішно, помилка, скасовано | |||
|- | |||
| Технічні дані | |||
| Hash, ідентифікатор підпису, якщо є | |||
|} | |||
== Коментарі == | |||
Коментарі потрібні для пояснення рішень. | |||
== Поля коментаря == | |||
{| class="wikitable" style="width:100%;" | |||
! Поле | |||
! Опис | |||
|- | |||
| Документ | |||
| До якого документа належить | |||
|- | |||
| Етап | |||
| До якого етапу належить | |||
|- | |||
| Автор коментаря | |||
| Хто залишив | |||
|- | |||
| Текст коментаря | |||
| Суть зауваження | |||
|- | |||
| Дата і час | |||
| Коли залишено | |||
|- | |||
| Тип | |||
| Загальний, зауваження, причина відхилення, службовий | |||
|} | |||
== Контроль строків погодження == | |||
Система має контролювати дедлайни погодження. | |||
== Правила контролю строків == | |||
* для документа може бути загальний строк погодження; | |||
* для кожного етапу може бути окремий строк; | |||
* прострочений етап підсвічується; | |||
* учасник отримує нагадування; | |||
* керівник бачить прострочені документи; | |||
* система може автоматично ескалювати прострочення. | |||
== Делегування == | |||
Делегування дозволяє передати погодження іншому користувачу. | |||
== Поля делегування == | |||
{| class="wikitable" style="width:100%;" | |||
! Поле | |||
! Опис | |||
|- | |||
| Документ | |||
| Який документ делеговано | |||
|- | |||
| Початковий учасник | |||
| Хто мав погоджувати | |||
|- | |||
| Новий учасник | |||
| Кому передано | |||
|- | |||
| Причина | |||
| Чому делеговано | |||
|- | |||
| Дата делегування | |||
| Коли виконано | |||
|- | |||
| Статус | |||
| Активне, завершене, скасоване | |||
|} | |||
== Сповіщення == | |||
Система має надсилати сповіщення користувачам. | |||
== Події для сповіщень == | |||
* документ створено; | |||
* документ відправлено на погодження; | |||
* документ очікує дії користувача; | |||
* документ погоджено; | |||
* документ відхилено; | |||
* документ повернуто на доопрацювання; | |||
* завантажено нову версію; | |||
* наближається дедлайн погодження; | |||
* етап прострочено; | |||
* документ підписано; | |||
* документ завершено; | |||
* документ архівовано. | |||
== Документи і PDF-форми == | |||
Система має формувати PDF-документи. | |||
== Приклади PDF-документів == | |||
* лог візування; | |||
* карта погодження документа; | |||
* фінальний підписаний документ; | |||
* реєстр погоджених документів; | |||
* звіт по прострочених погодженнях; | |||
* протокол погодження; | |||
* лист погодження; | |||
* архівна картка документа. | |||
== Лог візування == | |||
Лог візування має містити: | |||
* назву документа; | |||
* номер документа; | |||
* тип документа; | * тип документа; | ||
* | * автора; | ||
* | * дату створення; | ||
** | * версію документа; | ||
* | * усіх учасників маршруту; | ||
* | * ролі учасників; | ||
* | * статуси погодження; | ||
* | * дату і час дії кожного учасника; | ||
* | * коментарі; | ||
* | * інформацію про підпис; | ||
* фінальний статус. | |||
== | == Особистий кабінет користувача == | ||
Користувач у кабінеті має бачити: | |||
* документи, які очікують його погодження; | |||
* прострочені документи; | |||
* документи, які він створив; | |||
* документи, які він погодив; | |||
* документи, повернуті на доопрацювання; | |||
* сповіщення; | |||
* історію своїх дій; | |||
* фільтри за типом, статусом і датою. | |||
==== | == Панель адміністратора == | ||
Адміністратор має бачити: | |||
* всі документи; | |||
* всі маршрути; | |||
* шаблони маршрутів; | |||
* типи документів; | |||
* прострочені погодження; | |||
* помилки підпису; | |||
* журнал аудиту; | |||
* права доступу; | |||
* архів документів. | |||
== Звіти == | |||
== Звіт «Документи за статусами» == | |||
У звіті потрібно відображати: | |||
* статус документа; | |||
* кількість документів; | |||
* типи документів; | |||
* відповідальних користувачів. | |||
== Звіт «Документи на погодженні» == | |||
У звіті потрібно відображати: | |||
* документ; | |||
* тип; | |||
* автора; | |||
* поточний етап; | |||
* поточного погоджувача; | |||
* строк погодження; | |||
* кількість днів у роботі. | |||
== Звіт «Прострочені погодження» == | |||
У звіті потрібно відображати: | |||
* документ; | |||
* етап; | |||
* відповідального учасника; | |||
* дедлайн; | |||
* кількість днів прострочення; | |||
* статус. | |||
== Звіт «Історія погоджень» == | |||
У звіті потрібно відображати: | |||
* документ; | * документ; | ||
* | * учасника; | ||
* | * роль; | ||
* | * дію; | ||
* | * дату і час; | ||
* | * коментар; | ||
* | * версію документа. | ||
== | == Звіт «Ефективність погодження» == | ||
У звіті потрібно відображати: | |||
* середній час погодження; | |||
* кількість документів по типах; | |||
* кількість відхилень; | |||
* кількість повернень на доопрацювання; | |||
* кількість прострочених документів; | |||
* найповільніші етапи маршруту. | |||
== AJAX-інтерактив == | |||
Інтерфейс має працювати швидко й без перезавантаження сторінок. | |||
* | Через AJAX мають працювати: | ||
* пошук документів; | |||
* фільтрація документів; | |||
* створення документа; | |||
* завантаження файлу; | |||
* створення маршруту; | |||
* вибір учасників; | |||
* погодження документа; | |||
* відхилення документа; | |||
* повернення на доопрацювання; | |||
* додавання коментаря; | |||
* завантаження нової версії; | |||
* підпис документа; | |||
* оновлення статусу; | |||
* фільтрація звітів; | |||
* перегляд історії погодження. | |||
== Логування змін == | |||
Модуль повинен фіксувати всі важливі дії. | |||
Журнал змін має зберігати: | |||
* хто створив документ; | |||
* хто завантажив файл; | |||
* хто створив маршрут; | |||
* хто змінив маршрут; | |||
* хто погодив документ; | * хто погодив документ; | ||
* хто відхилив документ; | * хто відхилив документ; | ||
* | * хто повернув документ на доопрацювання; | ||
* хто додав коментар; | |||
* хто завантажив нову версію; | |||
* хто підписав документ; | |||
* хто делегував погодження; | |||
* хто змінив статус документа; | |||
* хто сформував PDF-лог; | |||
* хто архівував документ; | |||
* дату й час дії; | |||
* IP-адресу або технічні дані, опціонально; | |||
* старе та нове значення, якщо це можливо. | |||
== Права доступу == | |||
Модуль має підтримувати рольову модель. | |||
{| class="wikitable" style="width:100%;" | |||
! Роль | |||
! Можливості | |||
|- | |||
| Автор документа | |||
| Створює документ, завантажує файл, запускає погодження, доопрацьовує документ | |||
|- | |||
| Погоджувач | |||
| Переглядає документ, погоджує, відхиляє, коментує | |||
|- | |||
| Юрист | |||
| Погоджує юридичні документи, залишає зауваження | |||
|- | |||
| Фінансист | |||
| Погоджує фінансові умови, суми, платежі | |||
|- | |||
| Керівник | |||
| Погоджує документи свого підрозділу, бачить прострочення | |||
|- | |||
| Підписант | |||
| Виконує фінальний підпис | |||
|- | |||
| Архіваріус | |||
| Переносить завершені документи в архів | |||
|- | |||
| Адміністратор системи | |||
| Налаштовує типи документів, маршрути, ролі, права й шаблони | |||
|} | |||
== Технічні вимоги == | == Технічні вимоги == | ||
{| class="wikitable" | |||
!Параметр | {| class="wikitable" style="width:100%;" | ||
!Опис | ! Параметр | ||
! Опис | |||
|- | |- | ||
|Бекенд | | Бекенд | ||
|K2 Cloud ERP на Python або PHP | | K2 Cloud ERP на Python або PHP | ||
|- | |- | ||
| | | База даних | ||
|PostgreSQL або MySQL | | PostgreSQL або MySQL | ||
|- | |- | ||
|Фронтенд | | Фронтенд | ||
|HTML5, JavaScript | | HTML5, JavaScript | ||
|- | |- | ||
| | | AJAX | ||
| | | Fetch API або Axios | ||
|- | |- | ||
|Друк | | UI-компоненти | ||
| | | DataTables для документів і маршрутів; Select2 для пошуку документів, ролей і користувачів | ||
|- | |||
| Файли | |||
| Завантаження PDF, DOCX, XLSX, зображень та інших форматів | |||
|- | |||
| Версії | |||
| Збереження всіх версій документа | |||
|- | |||
| Підпис | |||
| Пароль K2 ERP, одноразовий код або інтеграція з ЕЦП, опціонально | |||
|- | |||
| Друк | |||
| PDF-лог візування і фінальний документ | |||
|- | |||
| Експорт | |||
| Excel або PDF для реєстрів і звітів | |||
|- | |||
| Безпека | |||
| Рольовий доступ, журнал аудиту, обмеження доступу до документів | |||
|} | |} | ||
== Критерії | == Рекомендовані сутності бази даних == | ||
{| class="wikitable" | |||
!Критерій | Для реалізації задачі доцільно передбачити такі сутності: | ||
!Бали | |||
* типи документів; | |||
* ролі візування; | |||
* документи; | |||
* версії документів; | |||
* файли документів; | |||
* шаблони маршрутів; | |||
* маршрути візування; | |||
* етапи маршруту; | |||
* учасники погодження; | |||
* коментарі; | |||
* підписи; | |||
* делегування; | |||
* сповіщення; | |||
* журнал змін; | |||
* архів документів; | |||
* права доступу; | |||
* звіти. | |||
== Практичне завдання == | |||
У межах атестації потрібно продемонструвати робочий сценарій. | |||
Мінімальний сценарій: | |||
# створити тип документа; | |||
# створити ролі візування; | |||
# створити шаблон маршруту; | |||
# створити документ; | |||
# завантажити файл документа; | |||
# створити маршрут погодження; | |||
# запустити погодження; | |||
# виконати погодження першим учасником; | |||
# виконати відхилення другим учасником з коментарем; | |||
# повернути документ автору на доопрацювання; | |||
# завантажити нову версію документа; | |||
# повторно запустити погодження; | |||
# погодити документ усіма учасниками; | |||
# виконати фінальний підпис; | |||
# сформувати PDF-лог візування; | |||
# перевести документ у статус '''«Завершено»'''; | |||
# архівувати документ; | |||
# сформувати звіт по погоджених документах; | |||
# перевірити журнал змін і права доступу. | |||
== Критерії оцінювання == | |||
{| class="wikitable" style="width:100%;" | |||
! Критерій | |||
! Бали | |||
! Що перевіряється | |||
|- | |||
| Реалізація обігу документів і візування | |||
| 20 | |||
| Документи, типи, файли, версії, статуси, запуск погодження | |||
|- | |||
| Облік маршруту погодження і підписів | |||
| 20 | |||
| Шаблони маршрутів, етапи, ролі, учасники, погодження, відхилення, підпис | |||
|- | |||
| Фінальний аудит змін | |||
| 20 | |||
| Журнал дій, версії, коментарі, хто і коли погодив, PDF-лог візування | |||
|- | |- | ||
| | | Інтерактивність через AJAX і зручність в роботі | ||
|20 | | 20 | ||
| AJAX-погодження, коментарі, фільтри, оновлення статусів, кабінет користувача | |||
|- | |- | ||
| | | Інтеграція з електронним підписом | ||
|20 | | 20 | ||
| Простий підпис, ЕЦП або підготовлена архітектура для інтеграції із зовнішнім сервісом | |||
|- | |- | ||
| | ! Разом | ||
| | ! 100 | ||
! Максимальна оцінка | |||
|} | |||
== Шкала оцінювання == | |||
{| class="wikitable" style="width:100%;" | |||
! Бали | |||
! Рівень | |||
! Опис | |||
|- | |- | ||
| | | 90–100 | ||
| | | Відмінно | ||
| Модуль повністю працює: документи, маршрути, версії, погодження, відхилення, підпис, PDF-лог, аудит і звіти реалізовані коректно | |||
|- | |- | ||
| | | 75–89 | ||
| | | Добре | ||
| Основна логіка працює, є незначні недоліки, які не руйнують процес візування | |||
|- | |||
| 60–74 | |||
| Зараховано | |||
| Базовий сценарій працює, але частина функцій реалізована неповно або потребує доопрацювання | |||
|- | |||
| 0–59 | |||
| Не зараховано | |||
| Відсутня критична логіка: документи, маршрути, погодження, версії, підпис або аудит | |||
|} | |} | ||
== Критичні помилки == | |||
Критичними помилками вважаються ситуації, коли: | |||
* неможливо створити документ; | |||
* неможливо завантажити файл документа; | |||
* документ не має типу; | |||
* неможливо створити маршрут погодження; | |||
* документ не переходить на наступний етап після погодження; | |||
* відхилення не фіксує коментар; | |||
* повернення на доопрацювання не створює нову версію; | |||
* версії документів не зберігаються; | |||
* неможливо виконати фінальний підпис; | |||
* журнал дій не фіксує погодження; | |||
* PDF-лог не формується; | |||
* користувач без прав бачить закриті документи; | |||
* звіти не відповідають фактичним статусам документів; | |||
* зміни документів, маршрутів, версій і підписів не логуються. | |||
<div style="border:3px solid #b71c1c; background:#ffebee; padding:14px; margin:16px 0;"> | |||
'''Умова складання.''' Завдання не може бути зараховане, якщо система не дозволяє пройти базовий цикл візування: документ → файл → маршрут → погодження → відхилення → нова версія → повторне погодження → підпис → PDF-лог → архів. | |||
</div> | |||
== Очікуваний результат == | |||
У результаті виконання атестаційного завдання має бути створений модуль електронного візування та погодження документів у K2 ERP. | |||
Модуль має підтримувати типи документів, ролі, документи, файли, версії, шаблони маршрутів, маршрути візування, етапи, учасників, коментарі, погодження, відхилення, доопрацювання, підпис, делегування, строки, сповіщення, PDF-лог, архів, звіти, AJAX-інтерактив, журнал змін і рольовий доступ. | |||
== Примітка == | == Примітка == | ||
ERP-модуль для візування документів потрібен підприємствам, які хочуть швидко, прозоро й контрольовано погоджувати договори, акти, накази, службові записки та інші документи. | |||
* | Якісна система візування зменшує затримки, прибирає хаос у погодженнях, зберігає історію рішень і допомагає юридично фіксувати факт погодження або підпису. | ||
== Коротко == | |||
{| class="wikitable" style="width:100%;" | |||
! Питання | |||
! Відповідь | |||
|- | |||
| Що потрібно створити? | |||
| Модуль електронного візування і погодження документів | |||
|- | |||
| Які довідники потрібні? | |||
| Типи документів, ролі візування, шаблони маршрутів | |||
|- | |||
| Який головний процес? | |||
| Документ → маршрут → погодження → підпис → архів | |||
|- | |||
| Що потрібно контролювати? | |||
| Версії, статуси, коментарі, строки, підписи, доступ, аудит | |||
|- | |||
| Які документи потрібні? | |||
| PDF-лог візування, карта погодження, фінальний підписаний документ | |||
|- | |||
| Які звіти потрібні? | |||
| Документи за статусами, на погодженні, прострочені, історія погоджень, ефективність | |||
|- | |||
| Що є критичною вимогою? | |||
| Кожне погодження, відхилення, підпис і зміна версії мають логуватися | |||
|- | |||
| Що бажано додати? | |||
| ЕЦП, Дія.Підпис, делегування, SLA, ескалації, кабінет користувача | |||
|} | |||
== Див. також == | |||
* [[K2 Cloud ERP|K2 ERP]] | |||
* [[K2 ERP]] | |||
* [[Атестаційні завдання K2 ERP]] | |||
* [[Веб-архів документів]] | |||
* [[Система контролю версій]] | |||
* [[Документообіг]] | |||
* [[Договір]] | |||
* [[CRM]] | |||
* [[Особистий кабінет]] | |||
* [[Права доступу]] | |||
* [[AJAX]] | |||
[[Категорія:K2 ERP]] | |||
[[Категорія:Атестаційні завдання K2]] | |||
[[Категорія:Візування документів]] | |||
[[Категорія:Документообіг]] | |||
[[Категорія:Електронний підпис]] | |||
[[Категорія:Система погодження]] | |||
[[Категорія:Корпоративна Wiki]] | |||