Всем привет!
Попробую объяснить, чего требуется:
На Drupal 7 реализую процесс заведения заявки к рамочному соглашению (закупка). Т.е. пользователи будут выполнять следующие действия:
1. Роль 1. Привязана к определенному департаменту организации. Создаёт ноду - заявка. Заполняет форму и первым шагом выбирает договор (отдельный тип материала, имеет свой набор полей). Выбор договора система должна предлагать из всех договоров, привязанных к его департаменту (привязка - отдельный процесс). Т.е. пользователь видит не весь реестр договоров, а только часть, должен сработать определенный фильтр.
2. В зависимости от выбранного договора следующим шагом пользователь выбирает информационную систему. Также срабатывает фильтр - для выбора представляется перечень систем, привязанных к выбранному договору.
3. Далее указывает команду (так же отдельный тип материала с привязкой к выбранной системе или нескольким системам).
4. Далее выбирает позиции команды (так же отдельный тип материала с привязкой к выбранной команде или командам) и т.д. У каждой позиции, это по сути роль - есть привязанная ставка (также отдельный тип материала).
5. Далее по заявке указывает диапазон дат.
6. После заполнения формы, система должна автоматически рассчитать сумму заявки по выбранным позициям и за указанный диапазон дат.
7. Когда заявка заполнена, пользователь отправляет её на согласование Роли 2.
8. Роль 2 может просмотреть заявку, согласовать, отклонить с комментарием или отправить на доработку (после чего Роль 1 корректирует и отправляет на повторное согласование).
И т.д.
Такое вообще на drupal можно реализовать? Он потянет? Самый важный вопрос - как выстроить взаимосвязь полей, которые по сути являются отдельными типами материалов с определенными фильтрами?
Дополнительные вопросы:
1. Какой модуль лучше использовать для математических расчетов (сумма по заявке, различные проценты от суммы и т.д.)?
2. Какой модуль использовать для создания процесса, связанного с заявкой. Т.е. одна роль создала объект, другая дополнила, третья согласовала, четвёртая утвердила или отправила на доработку?
Комментарии
Да, можно использовать. Да потянет.
На одном контрибе такого не сделать, нужно будет и кастом писать, особенно для расчетов
Так как это новый проект, рекомендую не мучать древнюю семерку, а использовать современный Drupal 9.2
Спасибо, но на 9 нет большинства модулей необходимых я так понимаю?
Каких таких необходимых? Всё есть, просто некоторые популярные модули заменены ныне другими популярными
То, что потянет хорошо, пол дела сделано, а какие модули порекомендуете использовать?
Те, которые будут решать ваши задачи
https://www.drupal.org/docs/8/modules/business-rules/advanced-usage/depe...
https://www.drupal.org/docs/8/core/modules/workflows/overview
Благодарю! Подскажите пожалуйста, а вместо полей-списков можно использовать реестры созданные на основе других типов материала?
Например создаю заявку, в которой необходимо выбрать договор, а договор это отдельный тип материала?
А смысл делать на 9, если например какраз этих модулей и нет для девятке!?
Рекомендую перестать слушать людей, которые сделали своей профессией нытьё по поводу того как всё было замечательно в семёрке (Windows 98, Internet Explorer, Fortran и т.п.) и как всё стало ужасно в восьмёрке/девятке (Windows 10, Chrome, Java и т.п.).
Всё, что реально нужно (и даже больше), в девятке есть. Стало меньше возможностей говнокодить, к чему так привыкли некоторые адепты семерки.
Вот тут соглашусь. Необходимых модулей нет только у нытиков. У всех остальных всё есть
А Вы не пробовали прочесть текст по моей первой ссылке? Ну хотя бы первые два абзаца? Или просто поставить модуль и попробовать? Я бы на Вашем месте сделал именно так.