Некоторое время назад возникла необходимость окинуть с высоты птичьего полёта БП3.0.
Прежде всего какие модули когда и как задействуются.
Немного цифр к размышлению.
Количество задействованных модулей при проведении ПТУ:
БП2.0 - 21 шт.
БП3.0 - 122 шт.
Уровней вложенности запускаемых процедур или функций при проведении ПТУ:
БП2.0 - 6
БП3.0 - 12
Думаю, ни для кого не секрет, что сложность, как платформы, так и типовых решений растёт очень быстро. Поэтому начинают требоваться инструменты для анализа конфигурации в целом на архитектурном уровне.
Что есть эта публикация. Это простой и немудрёный способ оттрейсить запускаемые процедуры через вписку во все процедуры и функции соответственно. Результат вызовов скидывается в иерархический справочник в правильном порядке. Через простой запрос на выходе мы получаем корректное дерево вызовов.
Нет никаких ВК. Т.е. нет проблем с операционкой, памятью, совместимостью и прочим. Только 1С, только хардкор :) Регулярок тож, кстати, нет. Хотя были первоначальные варианты с ними.
В архиве лежат:
- файл mxl - это пример конечного результата. Дерево вызовов процедур и функций при проведении ПТУ. Обычные формы.
- обработка для конвертации файлов текстов модулей.
- файлы клипборда - это файлы-копии буфера обмена в которые сохранены метаданные, которые необходимо вставить в соответствующие ветки конфигурации.
- сама программа clipbrd.exe, для тех, кто работает в Vista и Win7. Для XP - она лежит в /system32
---
Инструкция к применению:
1. Выгружаем всю конфу - меню "Конфигурация/Выгрузить файлы конфигурации.."
2. Через замер производительности определяем только те модули, которые нам интересны. Например, модули проведения ПТУ. Во всей БП3.0 2982 файла модулей, поэтому все их курочить - это долго и бессмысленно.
3. Копируем в отдельную папку нужные модули и называем её "Образец"
4. Копируем папку "Образец" в папку "Образец - копия". Именно файлы этой папки будет менять.
5. Открываем обработку. Для любопытства и теста можно сперва просто поконвертить файлы не записывая. Для режима записи ставим галку "Записывать".
6. Сконвертированные файлы заливаем обратно в конфу "Конфигурация/Загрузить файлы конфигурации.."
7. Вставляем через буфер обмена и программу clipbrd.exe нужные метаданные.
8. Грустный пункт! В некоторых процедурах и функциях программисты не ставили последнюю ";". Обработка не проставляет их, к сожалению. Если кто докодит - пожалуйста. Т.е. все такие ";" нужно будет ставить руками. По опыту, на проведении ПТУ потребовалось примерно 10 запусков, чтобы полностью отладить эти места.
9. После удачного запуска работаем через справочник "Трассировка".
В нем в панели есть две кнопки "Очистить все" - очищаем сам справочник и обнуляет константу "НомерТрассировки" (уровень трассировки) и кнопка "Включить трассировку" - включает/выключает режим трассировки и записи результата в справочник.
По результам работы получаем записанное дерево. Можно писать запросы :)
---
Что хотелось бы отметить отдельно:
1. Это работает небыстро. Запись, очистка и т.п. - всё это работает весьма небыстро. Задачи сделать красиво, быстро и круто - не было. Реализована прежде всего задача получения дерево вызовов модулей, процедур и функций.
2. Для обычного приложения. В УФ вроде тоже работает, но особо не тестил.
3. Это не коммерческая версия. Т.е. as is, никаких гарантий :). Не могу сказать, что я сам её активно использую. И буду ли вообще использовать постоянно. Можно считать это просто информацией к размышлению.
4. Для чего это вообще? Например:
- подобная аналитика нужна, когда есть необходимость плотно вписаться в существующую незнакомую конфу. Вплоть до своего решения на основе типовой
- для анализа узких мест своих процессов. К примеру, излишних вызовов одних и тех же штук в разных местах по сто раз.
- для стандартизации процессов (проведения документов, к примеру и т.п.).
и т.п.
5. Кто захочет докодить, накодить, перекодить. 1С-ом, через ВК, через регулярные выражения - буду рад! Кто захочет прикрутить визуализацию - пожалуйста! Вообще, буду рад любому развитию темы.
тема форума http://forum.infostart.ru/forum26/topic47900
от О-Планет для 7.7 //infostart.ru/public/16676/