Здравствуйте!
Предлагаю реализовать полезную, на мой взгляд, вещь - анализ связанности поля с фильтрами, правилами, сущностями и т.п. Данный функционал может сильно облегчить задачу редактирования полей сущности, так как даже на этапе проектирования сложно сразу построить "на бумажке" хорошую архитектуру, а в процессе эксплуатации приложения какие-то поля, которые раньше казались неплохим решением, нужно заменить на другие поля, создав даже подчиненные сущности и наладив связи между ними.
При очередной ревизии структуры сущности оказывается, что какие-то поля уже, кажется, не востребованы, и их функционал реализован иначе. А операторы продолжают послушно бить в базу данные, тратя свое время. И рука администратора тянется к "удалить"... но что если вдруг это поле нужно до сих пор, в каких-то процессах автоматизации, или настроены где-то фильтры по этому полю, или это поле является вспомогательным из-за существующей системы прав пользователей?
Как видится реализация.
1. В идеале, как только поле начинает участвовать в автоматизации, или в любой сущности настроен какой-то фильтр по этому полю, или это поле участвует в формулах, то у этого поля появляется какой-то значок, щелкнув на которой можно узнать полный перечень, где оно задействовано. При попытке удаления такого поля можно предупреждать о наличии связей.
2.А можно просто проводить анализ связей по запросу, не реализовывая механизм проверки связей и присваивания атрибута "поле задействовано в процессах" каждый раз, когда что-то где-то обновляется. И администратор (который, вроде бы, по умолчанию вменяемый человек) прежде чем удалить поле, САМ нажимай кнопочку "анализировать связи" и принимает решение, удалять поле (оно действительно больше не нужно или не влияет ни на что), или просто скрыть от греха подальше (возможно, на него завязаны какие-то старые данные).
Спасибо за внимание.
Анализ полей
- support
- Техническая поддержка
- Сообщения: 7661
- Зарегистрирован: 19 окт 2014, 18:22
- Имя: Харчишин Сергей
- Откуда: Крым, Евпатория
Re: Анализ полей
Ничего критического не произойдет если поле, которое используется в процессах, будет удалено. Оно просто будет исключаться из правил.
Но я соглашусь с вами, выдавать информацию, где поле используется перед удалением, будет полезно.
Но я соглашусь с вами, выдавать информацию, где поле используется перед удалением, будет полезно.
Да, добавлю так же опцию, для скрытия поля из формы.или просто скрыть от греха подальше (возможно, на него завязаны какие-то старые данные)
- support
- Техническая поддержка
- Сообщения: 7661
- Зарегистрирован: 19 окт 2014, 18:22
- Имя: Харчишин Сергей
- Откуда: Крым, Евпатория
Re: Анализ полей
Удаление поля может привести к ошибке, если поле используется формуле, где руками прописано id опля. Добавил проверку, и если поле используется в какой либо формуле, его нельзя удалить.
Во всех остальных случаях, поле просто удаляется из сущности их процессов и т.д. Добавил дополнительное предупреждение.
Если необходимость в поле временно пропала, его можно скрыть на странице "Доступ к полям" для групп пользователей.
Во всех остальных случаях, поле просто удаляется из сущности их процессов и т.д. Добавил дополнительное предупреждение.
Если необходимость в поле временно пропала, его можно скрыть на странице "Доступ к полям" для групп пользователей.
- Develop-Soft
- Сообщения: 599
- Зарегистрирован: 27 мар 2019, 01:22
- Имя: Владимир
- Откуда: Россия, Белгород
- Контактная информация:
Re: Анализ полей
"бюджет" - это заголовок поля в текущей сущности?
Возможно ли слово "бюджет" в ошибке сделать линкабельным, для перехода к правке формулы?
Как будет выглядеть сообщение об участии в нескольких формулах?
Может ли ссылающаяся формула находиться в другой сущности?
- support
- Техническая поддержка
- Сообщения: 7661
- Зарегистрирован: 19 окт 2014, 18:22
- Имя: Харчишин Сергей
- Откуда: Крым, Евпатория
Re: Анализ полей
Бюджет - это имя поля. Если их несколько, названия будут через запятую.