Анализ функциональности: где наш код?!

Публикация № 1155998

Разработка - Практика программирования

анализ код

16
Как я анализирую места выполнения кода и собираю статистику. Материал скорее для новичков. Но и для тех, кто хочет быстро постигать функциональность.

Довольно часто консультант или аналитик должен решать разные задачи, которые связаны с анализом внутренностей программы, места выполнения функциональности или кода. Самый быстрый способ узнать, где исполняется та или иная функциональность, это использование функции "замера производительности". Замер как раз нам и подскажет, где наша функциональность, а дальше мы сможем углубиться в детали и при необходимости посмотреть код. Я часто так делаю, я не знаю всех особенностей учета, что зависит от чего, а инструкции к программе я давно не читаю.

Пример: нам нужно посмотреть, как работает функционал закрытия периода в ERP.

Шаг 1: открыть конфигуратор программы, далее в главном меню -"конфигурация" - "открыть конфигурацию". Далее в главном меню "Отладка" -"Начать отладку" или просто клавиша (F5)

После того как отладка запущена, зайти в подключение отладки ("Отладка"- "Подключение")

Далее в открывшемся окне внизу нажать "Автоматическое подключение" и в открывшемся окне "Автоматическое подключение" установить минимум 2 флага "Клиентские и внешние соединения на сервере" и "Фоновые задания".

Далее последовательно закрываем эти окна.

После этого уже в пользовательском режиме открываем то, что нам нужно.

Я планирую открыть рабочее место "Закрытие месяца".

Перед самым открытием вернуться в конфигуратор и нажать "Отладка" - "Замер производительности.

Возвращаемся в пользовательский режим и нажимаем в меню "Закрытие месяца". Ждем, пока откроется окно рабочего места "Закрытия месяца".

После этого возвращаемся в конфигуратор. И видим в отладчике фоновое задание или несколько окон замеров (это зависит от количества запущенных фоновых заданий).

Останавливаем замер производительности также "Отладка"- "Замер производительности"

Теперь начинается самое интересное - анализ мест исполнения. Таблица замера содержит следующие колонки: Модуль, номер строки, строка, кол, время выполнения и процент времени выполнения.  В таблице можно выполнять сортировку. Я люблю 2 сортировки ( по модулю и по проценту выполнения).

Если отсортироваться по проценту выполнения, то, как правило, сразу понятно, где выполняется основная функциональность.

Пример сортировки ниже

Видно, что это 2 модуля (Аудит состояния системы и закрытие месяца). Нас интересует модуль "Закрытие месяца сервер". Это и есть основной модуль, который отвечает за функциональность закрытия месяца.

Я люблю сохранять модули в эксель. В экселе очень удобно, можно в отдельных колонках оставлять комментарии.

Для этого нужно выделить все содержимое (Ctrl+A), открыть эксель и вставить туда содержимое через копи-паст.

В экселе побольше удобных функций, например вы можете скопировать колонку с именем модулей на отдельный лист применить функцию уникальных записей.

И после сортировки увидеть все модули, где отрабатывают проверки "Закрытие месяца".

Также результаты замеров можно сохранять не в эксель, а в файлы с расширением *.PFF и открывать их позже для анализа.

16

Специальные предложения

Комментарии
Избранное Подписка Сортировка: Древо
1. VmvLer 02.12.19 11:52 Сейчас в теме
Это просто инструкция по использованию в конфигураторе механизма
"замер производительности".

тег "Анализ функциональности" в заголовке просто для красного словца и ни о каком анализе в теме речь не идет. Это более глубокая тема и в логическом, и в физическом плане чем замер и автор никак ее не раскрыл.
Вопрос "где наш код?" также маркетинговая уловка.

Для новичка, не для новичка, но использовать подмену понятий при копировании
очевидного и общедоступного механизма без единой идеи - это, по крайней мере,
очень порядочно и профессионально.
Intercititude; CodeNull; Xershi; +3 Ответить
2. Kindman1980 71 02.12.19 12:23 Сейчас в теме
(1) в теме публикации я хотел еще одно применение механизма написать, но мне отклонили публикацию сославшись на незаконность применения по политикам 1с. Хотя я с таким применением много, где сталкивался. То, что вы говорите про механизм, то возможно вы правы. Но с другой стороны -как называется механизм "Анализ производительности". Я лишь пишу про другое применение. И возможно его все программисты знают, но не знает большинство консультантов, что его можно таким образом использовать. Особенно для цели, когда ты не знаешь функционал, а тебе нужно быстро понять как он работает. Сейчас по-другому это называется "переупаковка".
narutouzumaki_13; +1 Ответить
3. VmvLer 02.12.19 12:39 Сейчас в теме
(2) Мои сообщения не следует воспринимать как личную дискредитацию, чаще я отвечаю некому абстрактному автору и опираясь на своё субъективное мнение о реальности современных технологий.

можно до упаду спорить о терминах и манипуляциях в современном мире, даже топ-компании часто грешат очковтирательством жонглируя очень удобным термином "анализ" в своих поделках
по разбору шелухи. так что, каков мир технологий, таковы и его адепты.
11. Saipl 6 03.12.19 13:29 Сейчас в теме
(3)
Мои сообщения не следует воспринимать как личную дискредитацию, чаще я отвечаю некому абстрактному автору и опираясь на своё субъективное мнение о реальности современных технологий.

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

Мощно задвинул - надо заучить !
Буду при встрече с клиентами такую тираду выдавать - многозначительно глядя в потолок )
Всем добра !
4. user764477 02.12.19 12:54 Сейчас в теме
(2)Заинтриговали прям, с альтернативным применением. Намекните хотя бы...
for_sale; narutouzumaki_13; +2 Ответить
5. dandykry 3 02.12.19 14:23 Сейчас в теме
(1)

очень порядочно и профессионально


Ты воюешь не в ту сторону
6. VmvLer 02.12.19 14:34 Сейчас в теме
(5) я не воюю, просто лягаюсь как кони на водопое для бодрости тела и рассудка - не надо маленьких дурить)
7. dandykry 3 02.12.19 14:37 Сейчас в теме
(6) Да понятно, что пользы от публикации 1%.

Я читал комментарий и пришлось перечитывать из за:
использовать подмену понятий при копировании очевидного и общедоступного механизма без единой идеи - это, по крайней мере,очень порядочно и профессионально.

Порадовал))
8. leosoft 143 02.12.19 17:15 Сейчас в теме
(6) Не надо слишком категорично судить публикации. Автор поделился своим опытом, который может
быть полезен, как минимум, начинающим.
9. &rew 7 03.12.19 09:52 Сейчас в теме
Вообще, сам иногда пользуюсь этим способом. Но есть несколько нюансов:
1. "Если отсортироваться по проценту выполнения, то, как правило, сразу понятно, где выполняется основная функциональность." Вообще не факт. Это если на запросе и то не факт, а так и НайтиСсылки можно за основную функциональность принять.
2. Можно еще, если непонятно где затык (а так почти всегда), ставить точку останова и смотреть стек.
3. Если кнопочка с процедурой сформирована программно, например, как получаются параметры процедуры кнопки и собственно что за процедура вызывает действие, мы через замер не увидим, мы увидим только грубо говоря факт выполнения.
4. Ну и ВременноеХранилище. Если мы из него получаем данные, то как оно туда попало мы не факт что увидим в текущем вызове.
10. Kindman1980 71 03.12.19 13:05 Сейчас в теме
(9) да я со многим согласен и стек второй инструмент.
Оставьте свое сообщение

См. также

Полезные процедуры и функции для программиста 160

Статья Программист Нет файла v8 1cv8.cf Россия Бесплатно (free) Практика программирования Универсальные функции

Все мы пишем программный код и часто используем процедуры, облегчающие его написание. Ниже приведена выборка таких полезных процедур и функций.

07.10.2019    11452    HostHost    23       

Cashback 35% при покупке 1С лицензий на счет INFOSTART.RU с 27.11 по 04.12 Промо

Оформляете заказ на 1С лицензии или конфигурации. Получаете 35% от стоимости на счет в профиле INFOSTART.RU. Выбираете сервисы и продукты на сумму кэшбэка.

Перенос данных КА 1.1 => ERP 2 (ЕРП) (обработка переноса документов, остатков и справочной информации из "1С:Комплексная автоматизация, ред. 1.1" в "1С:ERP Управление предприятием, ред 2"). Обновлен до КА 1.1.115.х и ERP 2.4.10.х Промо

Обработка позволяет переносить из КА 1.1 в ERP 2 документы за выбранный период и остатки. Типовая обработка от фирмы 1С документы не переносит. Также исправлены ошибки типовой обработки. При выходе новых релизов обновление высылается бесплатно в течение года. Разработка будет полезна фирмам-франчайзи, которые периодически выполняют такой перенос данных для заказчиков. Вы можете один раз приобрести обработку переноса, и потом бесплатно получать обновления в случае выхода новых релизов конфигураций 1С.

29700 руб.

Агрегатные функции СКД, о которых мало кто знает 353

Статья Программист Нет файла v8 v8::СКД 1cv8.cf Бесплатно (free) Практика программирования

Пользуетесь ли Вы всеми возможными агрегатными функциями, которые предоставляет система компоновки данных? Если Вы используете только: СУММА, КОЛИЧЕСТВО, МИНИМУМ, МАКСИМУМ, СРЕДНЕЕ, то эта статья для Вас.

05.09.2019    15349    ids79    44       

Три костыля. Сказ про фокусы в коде 124

Статья Программист Нет файла v8 Бесплатно (free) Практика программирования Разработка

Три интересных (или странных) костыля в коде, которые могут помочь в повседневных и не очень задачах.

03.09.2019    10425    YPermitin    69       

Перенос данных БП 3.0 => УТ 11 / КА 2 / ERP 2 (ЕРП) (перенос остатков, документов и справочной информации из "1С:Бухгалтерия предприятия 8", ред.3.0). Обновлено до БП 3.0.73.х, УТ 11.4.10.х, КА 2.4.10.х., ERP 2.4.10.х! Промо

Переносятся документы за выбранный период, справочная информация и остатки по счетам бух. учета в программу УТ 11 / КА 2 / ЕРП 2 (ERP). Переносятся все возможные виды операций ввода остатков на нужную дату. Есть отбор по периоду переноса документов и фильтр по организации, доступен выбор даты ввода остатков. Если нужно переносить что-то дополнительно, то обычно бесплатно добавляем это в перенос . Смотрите видеодемонстрацию со звуком - советами по переносу и рекомендациями настройки программ.

29700 руб.

Отслеживание выполнения фонового задания 143

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Практика программирования Универсальные функции Разработка

Запуск фонового задания из модуля внешней обработки. Отслеживание выполнения задания в виде прогресса, расположенного на форме.

17.08.2019    12527    ids79    16       

Функции СКД: ВычислитьВыражение, ВычислитьВыражениеСГруппировкойМассив 261

Статья Программист Нет файла v8 v8::СКД 1cv8.cf Бесплатно (free) Практика программирования

Подробное описание и использование внутренних функций системы компоновки данных: Вычислить, ВычислитьВыражение, ВычислитьВыражениеСГруппировкойМассив, ВычислитьВыражениеСГруппировкойТаблицаЗначений.

08.08.2019    17712    ids79    31       

Перенос данных УПП 1.3 => ERP 2 (ЕРП) / УТ 11 / КА 2.х (обработка переноса документов, остатков и справочников из "1С:Управление производственным предприятием, ред. 1.3" в ERP / УТ 11 / КА 2). Обновлен до УПП 1.3.127.х, КА 2.4.10.х и ERP 2.4.10.х! Промо

Обработка позволяет переносить из УПП 1.3 в ERP 2 документы за выбранный период и остатки. Типовая обработка от фирмы 1С документы не переносит. Также исправлены ошибки типовой обработки. При выходе новых релизов обновление высылается бесплатно в течение года. Разработка будет полезна фирмам-франчайзи, которые периодически выполняют такой перенос данных для заказчиков. Вы можете один раз приобрести обработку переноса, и потом бесплатно получать обновления при выходе новых релизов конфигураций 1С.

29700 руб.

Фоновое выполнение кода в 1С - это просто 124

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Практика программирования Разработка

Как легко запускать выполнение в фоне, не прибегая к долгому описанию фоновых процедур.

02.08.2019    12659    avalakh    21       

1С:Предприятие через Интернет. 1С:Fresh Промо

Ведение бухгалтерского и налогового учет, сдача отчетности, управление бизнесом из любой точки мира. Привычные программы «1С» через Интернет без приобретения коробочных программ.

СКД - наборы данных и связи между ними, создание собственной иерархии, вложенные отчеты 141

Статья Программист Нет файла v8 v8::СКД 1cv8.cf Бесплатно (free) Практика программирования

Набор данных объект. Использование в схеме компоновки нескольких наборов данных. Различные варианты связи наборов: объединение, соединение. Использование иерархии в отчетах на СКД. Создание собственной иерархии, иерархия детальных записей. Использование вложенных схем в отчетах на СКД.

26.07.2019    15859    ids79    8       

СКД - использование расширений языка запросов, секция ХАРАКТЕРИСТИКИ 155

Статья Программист Нет файла v8 v8::СКД Бесплатно (free) Инструментарий разработчика Практика программирования

Автоматическое и не автоматическое заполнение полей компоновки данных. Использование расширений языка запросов для СКД «{…}», секция ВЫБРАТЬ, секция ГДЕ, параметры виртуальных таблиц. Автоматизированное использование дополнительных данных в запросе: секция ХАРАКТЕРИСТИКИ.

17.07.2019    13466    ids79    27       

Перенос данных БП 2.0 => УТ 11 / КА 2 / ERP 2 (перенос остатков, документов и справочников из "1С:Бухгалтерия предприятия 8", ред. 2.0 в "1С:Управление торговлей 8", ред.11 / КА 2 / ERP 2). Обновлено до УТ 11.4.10.х, КА 2.4.10.х, ERP 2.4.10.х! Промо

Перенос позволяет загрузить в УТ 11 / КА 2 / ERP 2 документы за выбранный период, справочную информацию и остатки по счетам бух. учета. Переносятся остатки денежных средств, взаиморасчетов, остатки товаров и материалов на складах. Переносятся девятнадцать основных видов документов за выбранный период и вся нормативно-справочная информация. Есть фильтр по организации. Если нужно переносить что-то дополнительно, то обычно бесплатно дорабатываю правила (перед покупкой согласуйте необходимые доработки).

29700 руб.

Регистры сведений. За кулисами 129

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Практика программирования Разработка

Небольшие заметки по внутреннему устройству регистров сведений.

09.07.2019    10496    YPermitin    12       

"Меньше копипаста!", или как Вася универсальную процедуру писал 183

Статья Программист Стажер Нет файла v8 v8::СКД 1cv8.cf Бесплатно (free) Практика программирования Разработка

Программист Вася разбирает подход создания универсальных методов на примере программного вывода СКД.

04.07.2019    9257    SeiOkami    49       

Онлайн-интенсив "Бизнес-процессы для подготовки к экзамену 1С:Специалист по платформе" 12 декабря 2019 г. Промо

На интенсиве будут рассмотрены все теоретические вопросы, связанные с устройством механизма бизнес-процессов – это необходимо для успешной сдачи экзамена 1С:Специалист по платформе. Также, в качестве практического примера, будет решена задача, аналогичная экзаменационной.

777 рублей

Создание отчетов с помощью СКД - основные понятия и элементы 216

Статья Программист Нет файла v8 v8::СКД Бесплатно (free) Практика программирования Математика и алгоритмы

Основные принципы работы СКД. Понятия схемы компоновки и макета компоновки. Описание основных элементов схемы компоновки: наборы данных, поля, вычисляемые поля, ресурсы, параметры.

25.06.2019    23567    ids79    17       

Многопоточное ускорение однопользовательских нагрузок в 1С + Microsoft SQL Server 2017 179

Статья Программист Нет файла v8 v8::Запросы Бесплатно (free) Практика программирования Разработка

Взаимодействие с Microsoft SQL Server нередко вызывает трудности у 1С-ников, а потому интересны любые моменты, связанные с его использованием. О своем опыте работы с новым SQL Server 2017 участникам конференции Infostart-2018 рассказал директор ООО «Аналитика софт» Дмитрий Дудин.

11.06.2019    13556    dmurk    134       

1СПАРК РИСКИ. Сервис оценки благонадежности контрагентов. Промо

СПАРК помогает предотвратить мошенничество со стороны компаний и предпринимателей, благодаря актуальным сведениям о компаниях и системе выявления факторов риска.Сервис позволяет управлять налоговыми рисками и комплексно оценивать благонадежность контрагентов.

Регистры накопления. Структура хранения в базе данных 178

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Практика программирования Разработка

Структура хранения регистров накопления в базе данных для платформы 1С:Предприятие 8.x. Первая часть в серии публикаций.

16.05.2019    20953    YPermitin    27       

Выполнение внешней обработки в фоновом задании 149

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Практика программирования Разработка

Подробное описание подхода к созданию длительной операции на основе внешней обработки. Реализация протестирована на 1С 8.3.12.1714 (x64).

11.05.2019    12863    Eret1k    23       

Перенос данных УТ 10.3 => УТ 11 / КА 2 / ERP 2 (ЕРП 2) (документы, остатки и справочная информация из "1С:Управление торговлей, ред. 10.3" в УТ 11 / КА 2 / ERP 2). Обновлен до УТ 10.3.56.х, УТ 11.4.10.х, КА 2.4.10.х и ERP 2.4.10.х! Промо

Уже более 100 компаний приобрели перенос и выполнили переход на УТ 11 / КА 2 / ERP 2 с помощью нашей разработки! Обработка перехода с УТ 10.3 на УТ 11 / КА 2 / ERP 2 позволяет перенести не только остатки на указанную дату (как типовой перенос), но и все возможные документы за выбранный период. При выходе новых релизов этих программ оперативно выпускаем обновление обработки. Предоставляем техническую поддержку. Можем сделать бесплатный тестовый перенос!

29700 руб.

Выгрузка документа по условию 5

Статья Программист Нет файла v8 Бесплатно (free) Практика программирования Разработка

Что делать, если документы нужно выгружать не все подряд, а по какому-то фильтру: статусу, дате, набору условий... А что если он соответствовал этим условиям, а потом перестал? А если потом опять начал? Такие ситуации заставили попотеть не одного программиста.

25.04.2019    7253    m-rv    2       

Как прикрутить ГУИД к регистру сведений 23

Статья Программист Нет файла v8 Бесплатно (free) Практика программирования Перенос данных из 1C8 в 1C8 Разработка

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

16.04.2019    9825    m-rv    16       

Перенос документов и справочников ERP 2 / КА 2 / УТ 11 => БП 3.0 Промо

Перенос позволяет настроить собственный обмен данными между указанными программами, альтернативный предлагаемому фирмой 1С. Предоставляем техподдержку по всем вопросам данного обмена. Можем подключиться к вам удаленно для разбора ситуаций. Оперативно обновляем при выходе новых релизов 1С. Бесплатные обновления в течение полугода.

19700 руб.

О расширениях замолвите слово... 195

Статья Программист Стажер Нет файла v8 Бесплатно (free) Практика программирования Разработка

О чём стоит задуматься при принятии решения о создании расширения конфигурации…

07.04.2019    18841    ellavs    125       

Git-репозитории для 1С-кода (опыт использования при небольших проектах) 202

Статья Программист Стажер Нет файла v8 Windows Бесплатно (free) Практика программирования Разработка

Инструкции по взаимодействию с Git-репозиторием, которые писались для тех наших программистов, которые вообще никогда не работали с Git (руководства в духе "Как получить код из git-репозитория?", "Как отправить код в git-репозиторий")...

28.03.2019    15046    ellavs    83       

Подборка программ для взаимодействия с ЕГАИС Промо

ЕГАИС (Единая государственная автоматизированная информационная система) - автоматизированная система, предназначенная для государственного контроля за объёмом производства и оборота этилового спирта, алкогольной и спиртосодержащей продукции. Инфостарт рекомендует подборку проверенных решений для взаимодействия с системой.

Трюки с внешними источниками данных 166

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Практика программирования Разработка

Некоторые трюки для преодоления ограничений внешних источников данных.

14.03.2019    15783    YPermitin    52       

Программы для исполнения 54-ФЗ Промо

С 01.02.2017 контрольно-кассовая техника должна отправлять электронные версии чеков оператору фискальных данных - правила установлены в 54-ФЗ ст.2 п.2. Инфостарт предлагает подборку программ, связанных с применением 54-ФЗ, ККТ и электронных чеков.

Возможности типовых шаблонов ограничения доступа на уровне записей (RLS) 173

Статья Программист Нет файла v8 v8::Права Бесплатно (free) Практика программирования БСП (Библиотека стандартных подсистем) Роли и права

Краткий обзор применения типовых шаблонов ограничения доступа на уровне записей в конфигурациях, созданных на базе БСП: #ПоЗначениям, #ПоНаборамЗначений, #ПоЗначениямРасширенный, #ПоЗначениямИНаборамРасширенный

03.02.2019    19071    ids79    9