Страница 1 из 1

Анализ полей

Добавлено: 28 июн 2018, 16:33
Paganini
Здравствуйте!

Предлагаю реализовать полезную, на мой взгляд, вещь - анализ связанности поля с фильтрами, правилами, сущностями и т.п. Данный функционал может сильно облегчить задачу редактирования полей сущности, так как даже на этапе проектирования сложно сразу построить "на бумажке" хорошую архитектуру, а в процессе эксплуатации приложения какие-то поля, которые раньше казались неплохим решением, нужно заменить на другие поля, создав даже подчиненные сущности и наладив связи между ними.
При очередной ревизии структуры сущности оказывается, что какие-то поля уже, кажется, не востребованы, и их функционал реализован иначе. А операторы продолжают послушно бить в базу данные, тратя свое время. И рука администратора тянется к "удалить"... но что если вдруг это поле нужно до сих пор, в каких-то процессах автоматизации, или настроены где-то фильтры по этому полю, или это поле является вспомогательным из-за существующей системы прав пользователей?

Как видится реализация.
1. В идеале, как только поле начинает участвовать в автоматизации, или в любой сущности настроен какой-то фильтр по этому полю, или это поле участвует в формулах, то у этого поля появляется какой-то значок, щелкнув на которой можно узнать полный перечень, где оно задействовано. При попытке удаления такого поля можно предупреждать о наличии связей.
2.А можно просто проводить анализ связей по запросу, не реализовывая механизм проверки связей и присваивания атрибута "поле задействовано в процессах" каждый раз, когда что-то где-то обновляется. И администратор (который, вроде бы, по умолчанию вменяемый человек) прежде чем удалить поле, САМ нажимай кнопочку "анализировать связи" и принимает решение, удалять поле (оно действительно больше не нужно или не влияет ни на что), или просто скрыть от греха подальше (возможно, на него завязаны какие-то старые данные).

Спасибо за внимание.

Re: Анализ полей

Добавлено: 29 июн 2018, 06:53
support
Ничего критического не произойдет если поле, которое используется в процессах, будет удалено. Оно просто будет исключаться из правил.

Но я соглашусь с вами, выдавать информацию, где поле используется перед удалением, будет полезно.
или просто скрыть от греха подальше (возможно, на него завязаны какие-то старые данные)
Да, добавлю так же опцию, для скрытия поля из формы.

Re: Анализ полей

Добавлено: 26 сен 2021, 08:47
support
Удаление поля может привести к ошибке, если поле используется формуле, где руками прописано id опля. Добавил проверку, и если поле используется в какой либо формуле, его нельзя удалить.

Во всех остальных случаях, поле просто удаляется из сущности их процессов и т.д. Добавил дополнительное предупреждение.

Если необходимость в поле временно пропала, его можно скрыть на странице "Доступ к полям" для групп пользователей.

Re: Анализ полей

Добавлено: 26 сен 2021, 09:16
Develop-Soft
support писал(а): 26 сен 2021, 08:47Изображение
"бюджет" - это заголовок поля в текущей сущности?
Возможно ли слово "бюджет" в ошибке сделать линкабельным, для перехода к правке формулы?
Как будет выглядеть сообщение об участии в нескольких формулах?
Может ли ссылающаяся формула находиться в другой сущности?

Re: Анализ полей

Добавлено: 26 сен 2021, 10:01
support
Бюджет - это имя поля. Если их несколько, названия будут через запятую.