Довольно часто консультант или аналитик должен решать разные задачи, которые связаны с анализом внутренностей программы, места выполнения функциональности или кода. Самый быстрый способ узнать, где исполняется та или иная функциональность, это использование функции "замера производительности". Замер как раз нам и подскажет, где наша функциональность, а дальше мы сможем углубиться в детали и при необходимости посмотреть код. Я часто так делаю, я не знаю всех особенностей учета, что зависит от чего, а инструкции к программе я давно не читаю.
Пример: нам нужно посмотреть, как работает функционал закрытия периода в ERP.
Шаг 1: открыть конфигуратор программы, далее в главном меню -"конфигурация" — "открыть конфигурацию". Далее в главном меню "Отладка" -"Начать отладку" или просто клавиша (F5)
После того как отладка запущена, зайти в подключение отладки ("Отладка"- "Подключение")
Далее в открывшемся окне внизу нажать "Автоматическое подключение" и в открывшемся окне "Автоматическое подключение" установить минимум 2 флага "Клиентские и внешние соединения на сервере" и "Фоновые задания".
Далее последовательно закрываем эти окна.
После этого уже в пользовательском режиме открываем то, что нам нужно.
Я планирую открыть рабочее место "Закрытие месяца".
Перед самым открытием вернуться в конфигуратор и нажать "Отладка" — "Замер производительности.
Возвращаемся в пользовательский режим и нажимаем в меню "Закрытие месяца". Ждем, пока откроется окно рабочего места "Закрытия месяца".
После этого возвращаемся в конфигуратор. И видим в отладчике фоновое задание или несколько окон замеров (это зависит от количества запущенных фоновых заданий).
Останавливаем замер производительности также "Отладка"- "Замер производительности"
Теперь начинается самое интересное — анализ мест исполнения. Таблица замера содержит следующие колонки: Модуль, номер строки, строка, кол, время выполнения и процент времени выполнения. В таблице можно выполнять сортировку. Я люблю 2 сортировки ( по модулю и по проценту выполнения).
Если отсортироваться по проценту выполнения, то, как правило, сразу понятно, где выполняется основная функциональность.
Пример сортировки ниже
Видно, что это 2 модуля (Аудит состояния системы и закрытие месяца). Нас интересует модуль "Закрытие месяца сервер". Это и есть основной модуль, который отвечает за функциональность закрытия месяца.
Я люблю сохранять модули в эксель. В экселе очень удобно, можно в отдельных колонках оставлять комментарии.
Для этого нужно выделить все содержимое (Ctrl+A), открыть эксель и вставить туда содержимое через копи-паст.
В экселе побольше удобных функций, например вы можете скопировать колонку с именем модулей на отдельный лист применить функцию уникальных записей.
И после сортировки увидеть все модули, где отрабатывают проверки "Закрытие месяца".
Также результаты замеров можно сохранять не в эксель, а в файлы с расширением *.PFF и открывать их позже для анализа.
Это просто инструкция по использованию в конфигураторе механизма
«замер производительности».
тег «Анализ функциональности» в заголовке просто для красного словца и ни о каком анализе в теме речь не идет. Это более глубокая тема и в логическом, и в физическом плане чем замер и автор никак ее не раскрыл.
Вопрос «где наш код?» также маркетинговая уловка.
Для новичка, не для новичка, но использовать подмену понятий при копировании
очевидного и общедоступного механизма без единой идеи — это, по крайней мере,
очень порядочно и профессионально.
(1) в теме публикации я хотел еще одно применение механизма написать, но мне отклонили публикацию сославшись на незаконность применения по политикам 1с. Хотя я с таким применением много, где сталкивался. То, что вы говорите про механизм, то возможно вы правы. Но с другой стороны -как называется механизм «Анализ производительности». Я лишь пишу про другое применение. И возможно его все программисты знают, но не знает большинство консультантов, что его можно таким образом использовать. Особенно для цели, когда ты не знаешь функционал, а тебе нужно быстро понять как он работает. Сейчас по-другому это называется «переупаковка».
(2) Мои сообщения не следует воспринимать как личную дискредитацию, чаще я отвечаю некому абстрактному автору и опираясь на своё субъективное мнение о реальности современных технологий.
можно до упаду спорить о терминах и манипуляциях в современном мире, даже топ-компании часто грешат очковтирательством жонглируя очень удобным термином «анализ» в своих поделках
по разбору шелухи. так что, каков мир технологий, таковы и его адепты.
(2)Заинтриговали прям, с альтернативным применением. Намекните хотя бы…
(1)
Ты воюешь не в ту сторону
(5) я не воюю, просто лягаюсь как кони на водопое для бодрости тела и рассудка — не надо маленьких дурить)
(6) Да понятно, что пользы от публикации 1%.
Я читал комментарий и пришлось перечитывать из за:
использовать подмену понятий при копировании очевидного и общедоступного механизма без единой идеи — это, по крайней мере,очень порядочно и профессионально.
Порадовал))
(6) Не надо слишком категорично судить публикации. Автор поделился своим опытом, который может
быть полезен, как минимум, начинающим.
Вообще, сам иногда пользуюсь этим способом. Но есть несколько нюансов:
1. «Если отсортироваться по проценту выполнения, то, как правило, сразу понятно, где выполняется основная функциональность.» Вообще не факт. Это если на запросе и то не факт, а так и НайтиСсылки можно за основную функциональность принять.
2. Можно еще, если непонятно где затык (а так почти всегда), ставить точку останова и смотреть стек.
3. Если кнопочка с процедурой сформирована программно, например, как получаются параметры процедуры кнопки и собственно что за процедура вызывает действие, мы через замер не увидим, мы увидим только грубо говоря факт выполнения.
4. Ну и ВременноеХранилище. Если мы из него получаем данные, то как оно туда попало мы не факт что увидим в текущем вызове.
(9) да я со многим согласен и стек второй инструмент.
(3)
можно до упаду спорить о терминах и манипуляциях в современном мире, даже топ-компании часто грешат очковтирательством жонглируя очень удобным термином «анализ» в своих поделках
по разбору шелухи. так что, каков мир технологий, таковы и его адепты.
Мощно задвинул — надо заучить !
Буду при встрече с клиентами такую тираду выдавать — многозначительно глядя в потолок )
Всем добра !