Обработка "Вызовы общих модулей" (8.2)

27.01.12

Разработка - Инструментарий разработчика

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

Скачать исходный код

Наименование Файл Версия Размер
ВызовыОбщихМодулей.epf
.epf 20,90Kb
42
.epf 20,90Kb 42 Скачать

Обработка анализирует код общих модулей конфигурации (выгруженный в текстовые файлы с помощью ключа командной строки /DumpConfigFiles) и позволяет получать следующие отчёты:

  1. Процедуры и функции общих модулей по количеству их вызовов из других общих модулей конфигурации. Показатель можно применять для выявления потенциально наиболее востребованных процедур и функций с целью оптимизации их работы в системах критичных к производительности. Полезно, например, при крупном внедрении с заранее неизвестными и неотлаженными бизнес-процессами (когда мы не можем определить реально наиболее востребованные процедуры и функции), либо при создании типового тиражируемого решения.
  2. Количество вызовов других общих модулей из данного общего модуля. Большое количество вызовов других модулей — один из показателей сложности модуля (Высокий коэффициен разделения по выходу — более 7-ми в примере С. Макконела (Совершенный код, С. Макконнелл, Code Complete, 2-ое издание, 2005) по взаимодействию классов), возможно следует разделить функционал модуля на несколько модулей.
  3. Схема взаимодействия общих модулей. Схема (карта) вызовов строится как расшифровка к двум отчётам обработки двойным щелчком по названию модуля. Карта строится в MS Excel. Карта представляет из себя схему взаимодействия расшифровываемого модуля с другими общими модулями: модули, которые вызывают данный модуль, модули, которые вызывает данный модуль и связи между этими модулями.

Деление кода между общими модулями носит, как правило, функционально-прикладной (деление на модули с флагами Клиент, Сервер, ВнешнееСоединение и т.п.) и логический характер. При этом модули разделённые по функциональным причинам (например АдресныйКлассификатор, АдресныйКлассификаторКлиент, АдресныйКлассификаторКлиентСервер) образуют единый логический блок. Логическое деление производится для эффективного управления сложностью исходного кода конфигурации.

Если модуль взаимодействует с логически (но не функционально) связанными с ним модулями по принципу "все вызывают всех", то выгода от их деления исчезает (подробнее см. Совершенный код, С. Макконнелл, Code Complete, 2-ое издание, 2005, стр. 80 на примере подсистем). Энтропия в таких системах только возрастает, что приводит к сложностям в сопровождении. Нормальная схема взаимодействия логически разделённых модулей должна быть ациклическим графом.

 Особенности и ограничения работы

 1. Исходные коды модулей выгружаются с помощью команды системы:

ПутьКПрограмме+"1cv8.exe DESIGNER /F """+ПутьКБазе+""""+СтрокаПользователя+" /DumpConfigFiles """+ПутьККаталогуДляВыгрузки+""" -Module"

Можно выгрузить самому, либо с помощью кнопки "Выгрузить" в обработке. Использование команды системы влечёт за собой соответствующие ограничения, остающиеся на совести пользователя обработки: у пользователя должны быть права на запись в каталог выгрузки, на чтение в каталоге базы. У пользователя 1С, под которым запускается обработка, должны быть права на запуск Конфигуратора анализируемой базы и т.п.

Ограничение: На данный момент выгрузка исходных кодов работает с файловыми базами и пользователем без пароля.

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

Nota bene: Обработка писалась для себя, также тестировал на УТ 11, БП 3.0 (ознакомительной). Пока на правах бета версии. Если что-либо из моих рассуждений покажется неоднозначным — всегда готов к дискуссии в комментариях.

См. также

Infostart Toolkit: Инструменты разработчика 1С 8.3 на управляемых формах

Инструментарий разработчика Роли и права Запросы СКД Платформа 1С v8.3 Управляемые формы Запросы Система компоновки данных Конфигурации 1cv8 Платные (руб)

Набор инструментов программиста и специалиста 1С для всех конфигураций на управляемых формах. В состав входят инструменты: Консоль запросов, Консоль СКД, Консоль кода, Редактор объекта, Анализ прав доступа, Метаданные, Поиск ссылок, Сравнение объектов, Все функции, Подписки на события и др. Редактор запросов и кода с раскраской и контекстной подсказкой. Доработанный конструктор запросов тонкого клиента. Продукт хорошо оптимизирован и обладает самым широким функционалом среди всех инструментов, представленных на рынке.

10000 руб.

02.09.2020    124938    682    389    

732

Infostart PrintWizard - создание и редактирование печатных форм в 1С 8.3

Пакетная печать Печатные формы Инструментарий разработчика Платформа 1С v8.3 Запросы 1С:Зарплата и кадры бюджетного учреждения 1С:Конвертация данных 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Платные (руб)

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

18000 руб.

06.10.2023    7771    24    6    

42

Infostart УДиФ: Управление данными и формами

Инструменты администратора БД Инструментарий разработчика Роли и права Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

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

10000 руб.

10.11.2023    4283    12    2    

36

SALE! %

PowerTools

Инструментарий разработчика Инструменты администратора БД Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Платные (руб)

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

3600 2280 руб.

14.01.2013    178645    1083    0    

861

Многопоточность. Универсальный «Менеджер потоков» 2.1

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

Восстановление партий или взаиморасчетов, расчет зарплаты, пакетное формирование документов или отчетов - теперь все это стало доступнее. * Есть желание повысить скорость работы медленных алгоритмов! Но... * Нет времени думать о реализации многопоточности? * о запуске и остановке потоков? * о поддержании потоков в рабочем состоянии? * о передаче данных в потоки и как получить ответ из потока? * об организации последовательности? Тогда ЭТО - то что надо!!!

5000 руб.

07.02.2018    99623    239    97    

298

[ЕХТ] Фреймворк для Расширений 1С

Инструментарий разработчика Платформа 1С v8.3 Управляемые формы Платные (руб)

"Фреймворк для Расширений 1С" это универсальное и многофункциональное решение, упрощающее разработку и поддержку создаваемых Расширений. Поставляется в виде комплекта из нескольких Расширений с открытым исходным кодом. Работает в любых Конфигурациях в режиме Управляемого приложения с режимом совместимости 8.3.12 и выше без необходимости внесения изменений в Конфигурацию.

3000 руб.

27.08.2019    18389    6    8    

40

Выполнение произвольного кода или запроса с параметрами через Web-сервис (замена COM-подключений)

Инструментарий разработчика Обмен между базами 1C Платформа 1С v8.3 Платные (руб)

В процессе работы в 1С часто возникает потребность получить данные из другой базы.  Обычно это делается через COM-соединение, и время выполнения запроса при этом оставляет желать лучшего. В данной публикации представлено универсальное решение, позволяющее практически моментально выполнить произвольный код или запрос с параметрами в другой информационной базе через Web-сервис.

2400 руб.

24.09.2019    23856    16    15    

33

1С HTML Шаблоны / HTML Templates

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Быстрая и удобная обработка для работы с шаблонами HTML. Позволяет легко и быстро формировать код HTML.

2040 руб.

27.12.2017    28322    3    10    

16
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Boroda 90 30.01.12 21:51 Сейчас в теме
Дмитрий, вы говорите "По кнопке "Полная карта вызовов" можно постросить полную схему взаимодействия общих модулей конфигурации. Практической ценности данная функция не несёт ввиду большого количества модулей в типовых конфигурациях и сложности их взаимодействия". Но меня сразу же привлекла именно эта возможность увидеть структуру взаимодействия модулей в конфе. Считаю, что это очень полезно на начальном этапе освоения 8-ки.
Интересно, а можно ли формировать структуру взаиможействия модулей произвольно, по выбору? Если да, то как?
+
2. lnnr 33 31.01.12 13:23 Сейчас в теме
(1) Boroda,
Но меня сразу же привлекла именно эта возможность увидеть структуру взаимодействия модулей в конфе. Считаю, что это очень полезно на начальном этапе освоения 8-ки.
Сам так думал, но связей слишком много получается если по всей конфигурации строить - просто нечитабельно становится.
Интересно, а можно ли формировать структуру взаиможействия модулей произвольно, по выбору? Если да, то как?
На данный момент два варианта: полная карта и как расшифровка отчета по какому-либо модулю (модуль, связанные с ним и все связи между ними). Про функцию карты по произвольному списку модулей подумаю.
+
3. vec435 15 01.02.12 09:43 Сейчас в теме
в догонку к boroda - указать какой-то объект метаданных и получить все вызовы общих модулей для него
+
Оставьте свое сообщение