Когда-то давно - еще в 2009 стояла такая же задача. Была сделана табличка для сбора статистики и был написан код, который был вставлен по следам Task Recorder-а (т.е. в ClassFactory::formRun* и т.д., а также в базовый класс RunBase. Ну и в качестве сервиса можно было задать генерить сбор статистики не по всем объектам, а только тем, у которых в названии содержится заданная строка (актуально для сбора статистики по модулям).
Уже через месяц узнали много интересного о том, с какими формами реально работают пользователи.
С полями гораздо сложнее, потому что есть еще display/edit методы, про которые никак нельзя узнать - пользуются ими или нет. Также как и со связями - нельзя однозначно понять - используется ли поле в связях или нет. Например, настроил я разноску и выбрал вариант Все. Значит у меня какое-нибудь поле типа "Группа номенклатуры" - будет пусто. И вероятно так будет во всей таблице. Relation-а тут нет - только анализировать код. А код может быть таким.... что даже перекрестными ссылками не ловиться. И я уж не говорю про расширения в D365, в которых еще сложнее искать программный код.
А еще есть наследование таблиц....
Я бы начал со сбора статистики используемых форм. Причем не просто статистики использования, а с указанием пользователя и времени - когда и кем была открыта форма. Т.о. получится некий условно небольшой (по отношению к общему количеству форм в системе) перечень наиболее часто используемых (и наиболее популярных) форм. А по ним можно уже пройтись вручную и вручную отрегулировать видимость нужных полей для каждой пользовательской роли
__________________
Возможно сделать все. Вопрос времени
Последний раз редактировалось sukhanchik; 31.08.2021 в 15:39.
|