Страница 2 из 2
Re: MySQL запрос с помощью MySQL формулы
Добавлено: 26 янв 2023, 11:16
alena
nruslan2 писал(а): 25 янв 2023, 18:27
а почему не повесить автоматизацию на изменение связанной записи и при ее редактирован кодом php не менять в главной запси значения!
Так в том и проблема, что сами записи могут не меняться - смена статуса происходит, если просто привязать активную задачу, например, к проекту - он должен будет стать активным автоматически, т.к. у него появилась задача, но ее саму никто не редактировал - просто привязали...
support писал(а): 25 янв 2023, 17:04
А что конкретно нужно реализовать?
Есть сущности Проекты, Риски, Аудит, и есть сущность Задачи (все 4 сущности верхнего уровня). К проекту, риску или аудиту может быть привязано все, что захочется - например, добавили риск, и к нему привязали 5 задач, 3 проекта и 2 аудита, или добавили проект, к нему привязали 10 задач и всё. Проект (или риск, аудит) активен, если к нему привязано хоть что-то со статусом "активно". Вот и вылезла эта проблема - статусы вычисляются формулами, а результаты вычислений из базы не собрать... Я весьма посредственный программист, чисто хобби еще со времен универа, и в разработках бд знаний немного, возможно глупый вопрос задам - а можно принудительно записывать в базу значения некоторых полей, которые вычисляются по формулам mysql? Ну чисто чтобы брать потом оттуда вот эти самые вычисленные статусы... Может это возможно прямо в файлах прописать? Или это сервер как-то загрузит, или нарушит принцип работы? спасибо!)
Re: MySQL запрос с помощью MySQL формулы
Добавлено: 26 янв 2023, 11:47
support
Проект (или риск, аудит) активен, если к нему привязано хоть что-то со статусом "активно".
Как осуществляется связь? Через поле "Связанные записи" или "Сущность"?
Re: MySQL запрос с помощью MySQL формулы
Добавлено: 26 янв 2023, 11:49
alena
support писал(а): 26 янв 2023, 11:47
Проект (или риск, аудит) активен, если к нему привязано хоть что-то со статусом "активно".
Как осуществляется связь? Через поле "Связанные записи" или "Сущность"?
все связи через поле "Связанные записи"
Re: MySQL запрос с помощью MySQL формулы
Добавлено: 26 янв 2023, 12:00
support
Используйте поле Автостатус
https://docs.rukovoditel.net.ru/index.php?p=16
Проверка автостатуса выполняется для текущей записи при добавлении связи.
Шаг 1: добавьте внутренние поля, типа Формула или запрос, которые буду считать количество открытых Задач, запрос и т.д. В вашем случае будет 3 поля я полагаю. Эти поля можно скрыть от пользователя, оставить только для админа например.
Шаг 2: в поле автостатус первый по списку статус должен быть Закрыт и к нему ставьте 3 фильтры по полям счетчикам.
Тоесть, если все три поля возвращают 0, значит проект Закрыт.
Шаг 3: добавьте статус Открыт и к нему не нужно добавлять никаких фильтров. Он будет автоматически применятся, если первое условие для статуса Закрыт не сработало.
Re: MySQL запрос с помощью MySQL формулы
Добавлено: 26 янв 2023, 12:04
alena
Сергей, большое спасибо за советы, буду пробовать

Re: MySQL запрос с помощью MySQL формулы
Добавлено: 26 янв 2023, 12:06
support
Подсчитать количество именно связанных записей проще через функции
https://docs.rukovoditel.net.ru/index.php?p=48
Re: MySQL запрос с помощью MySQL формулы
Добавлено: 26 янв 2023, 17:02
nruslan2
alena писал(а): 26 янв 2023, 11:16
Так в том и проблема, что сами записи могут не меняться - смена статуса происходит, если просто привязать активную задачу, например, к проекту - он должен будет стать активным автоматически, т.к. у него появилась задача, но ее саму никто не редактировал - просто привязали...
а тогда у меня есть вот такой момент: 16а - Запуск процесса автоматизации при выполнения действия с полем связанные записи (
viewtopic.php?t=4168)
alena писал(а): 26 янв 2023, 11:16
а можно принудительно записывать в базу значения некоторых полей, которые вычисляются по формулам mysql?
можно опять же используя автоматизацию состоящую из php кода