gifts2017

Статистика использования дополнительных отчётов и обработок

Опубликовал Василий Коровин (vasyak319) в раздел Администрирование - Статистика базы данных

Досталась мне в наследство база с парой сотен дополнительных отчётов и обработок в соответствующем справочнике, часть которых была настолько древней, что даже отказывалась открываться в 8.2.
Не так страшен чёрт, как его поддержка, поэтому потребовалось понять, что из этого действительно используется, а что надо выбросить мимо корзины и забыть.

Понятно, что допрос пользователей для этого не годился:

- Вы этим пользуетесь?
- Да.
- А вот этим?
- Нет.
- Shift+Delete!
... прошло 15 минут ...
- А где мой отчёт?
- Какой отчёт?
- Ну вот тот вот отчёт. 
- Вы же сказали, что не пользуетесь.
- Ну да, не пользуюсь. Но раз в день-то формирую.

Поэтому я решил собрать статистику использования этих отчётов. Делается просто: в форме списка справочника ВнешниеОбработки дописываем в конец процедуру:

Процедура ЗарегистрироватьОткрытие(пОтчет)
	лНабор=РегистрыСведений.ИспользованиеОтчетов.СоздатьНаборЗаписей();
	лНабор.Отбор.Отчет.Установить(пОтчет);
	лНабор.Отбор.Пользователь.Установить(глЗначениеПеременной("глТекущийПользователь"));
	лНабор.Отбор.ДатаОткрытия.Установить(ПроверкаРазницыВремени.ТекущаяДатаСервера());
	
	лНоваяЗапись=лНабор.Добавить();
	лНоваяЗапись.Отчет=пОтчет;
	лНоваяЗапись.Пользователь=лНабор.Отбор.Пользователь.Значение;
	лНоваяЗапись.ДатаОткрытия=лНабор.Отбор.ДатаОткрытия.Значение;
	
	лНабор.Записать();
КонецПроцедуры
 

Затем в той же форме находим процедуру СправочникСписокВыбор и прописываем в ней после каждой строки Форма.Открыть() вызов той процедуры:

ЗарегистрироватьОткрытие(ВыбраннаяСтрока.Ссылка);
 

Всего там будет два таких места.

Дальше остаётся только создать регистр ИспользованиеОтчетов, структуру которого я не привожу, так как она очевидна из процедуры, после чего ждать.

Разумнее всего подождать квартал, после чего у нас, во-первых, появляется информация, кто из пользователей какие отчёты и обработки использует и как часто, а во-вторых, становится понятно, какие из них можно удалить из справочника, убрать в дальний угол диска и перестать учитывать их существование при доработках конфигурации.

У меня это работает на УПП 1.3, но по идее должно работать на любой типовой конфигурации на обычных формах, где есть типовой механизм дополнительных отчётов и обработок.

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Максим Евсенкин (tehas) 30.06.15 17:59
хороша идея=) нужно так же сделать =)
2. Дмитрий Воронов (korppinen) 01.07.15 09:16
// ..в наследство(!) база с сотней(!) внешних отчетов...))))) Кто-то отчеты полжизни писал и ушел на покой... а вы их Shiftdel-ом..

Логично вообще для внешних отчетов понимать - нужны ли они кому.. можно ещё и для любых подделать.
3. олег (bovka) 01.07.15 10:00
А почему не задействовать стандартный механизм журнала регистрации? Запихнуть ЗаписьЖурналаРегистрации по нужным событиям.
Irwin; veretennikoff; +2 Ответить 1
4. Александр Аляев (alyaev.a.v) 02.07.15 13:39
(3) bovka, А потом в жр за квартал собирать данные, уж больно не поворотливый он если много пользователей, много данных, да и отчет сделать для руководства будет тот еще гимор.
У себя тоже 2 года назад подобное внедрили, не только для внешних но и для всех отчетов обработок + отчет по открытию, очень удобно потом показывать руководству затрачено на разработку n-часов, а отчет открывался 2 раза за год, делают выводы.
olbu; vasyak319; +2 Ответить 1
5. Александр Федотов (6JIoHguH) 03.07.15 10:14
Спасибо! Зреет переход из БП 2.0 в БП 3.0. Воспользуюсь, что бы не переносить кучу старых ненужных отчетов.
6. Сергей Куликов (ksvd) 04.07.15 12:39
Тоже себе делал, но с записью результатов в файлы, потому что баз несколько и удобнее было (мне) смотреть сразу по всем базам.
Но я хотел сказать, что такая штука еще полезна в случае, когда пользователь закажет отчет, потом раз откроет и больше не использует.
Тут можно аргументировано говорить с руководством
7. Василий Коровин (vasyak319) 16.07.15 15:50
(2) korppinen, большая часть этих отчётов написана так, что жалеешь о моратории на смертную казнь, а я их всего лишь их Shiftdel-ом.
8. Ирина progr-2008 Санкт-Петербург (progr-2008) 16.07.15 16:34
Идея хорошая, только, может подписками сделать? У меня УПП, не хотелось бы постоянно дорабатывать при обновлениях.
9. Василий Коровин (vasyak319) 16.07.15 17:10
(8) progr-2008, подписками на что? А дорабатывать при обновлениях ничего не нужно - справочник ВнешниеОбработки уже сто лет не менялся и теперь уже вряд ли будет.
10. Евгений Сергеевич (SkyJack) 17.07.15 12:07
11. Андрей Смелов (Gesperid) 29.07.15 08:56
(4) alyaev.a.v, как вы реализовали для всех отчетов и обработок? Тоже хочется, но что-то ничего элегантного на ум не приходит.
12. Василий Коровин (vasyak319) 29.07.15 10:12
(11) Gesperid, совсем одним движением и не получится. Для отчётов на основе Универсального надо всобачить в Универсальный вызов процедуры, регистрирующей открытие, а для всех остальных вставлять этот вызов в каждый отчёт. Сейчас я так делать не стал просто потому, что использование типовых отчётов мне неинтересно (не удалять же их, если они не используются), а почти все нетиповые у меня внешние/дополнительные.
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа