1
0
mirror of https://github.com/SergeFocus/1C-Functin-to-yEd.git synced 2024-12-02 02:56:29 +02:00
Обработка "Граф вызовов для модулей 1С".
Go to file
2018-03-18 18:48:33 +02:00
.github добавлен служебный каталог для шаблонов GIT 2016-02-20 03:46:13 +03:00
doc * добавлен каталог для хранения исходников технический заданий 2016-02-20 05:13:03 +03:00
examples первая стабильная версия, адаптированная для проекта behavior https://github.com/silverbulleters/vanessa-behavior/issues/64 2015-09-18 02:57:25 +03:00
features первая стабильная версия, адаптированная для проекта behavior https://github.com/silverbulleters/vanessa-behavior/issues/64 2015-09-18 02:57:25 +03:00
lib первая стабильная версия, адаптированная для проекта behavior https://github.com/silverbulleters/vanessa-behavior/issues/64 2015-09-18 02:57:25 +03:00
license * добавлен каталог для хранения исходников технический заданий 2016-02-20 05:13:03 +03:00
spec Merge branch 'master' into develop 2016-02-20 04:01:42 +03:00
src Дополнительно обработки: Генерация UML диаграммы движений документов & Генерация XGML-диаграммы движений документов для yEd 2018-03-18 18:48:33 +02:00
tools add install freemind, xmind, yed, plantuml, markdownmonster, graphviz 2018-03-18 05:32:48 +02:00
vendor Удалены рекурсивные подмодули 2015-11-21 13:58:39 +03:00
.gitattributes в документацию добавлены особенности обновления и стратегий объединения 2015-09-19 12:54:31 +03:00
.gitignore пора уже переходить на git-flow, добавлен скрипт генерации процесса в виде документации, расширена докуменация по процессу 2016-02-02 02:28:56 +03:00
1C Functin to yEd.epf Вывлд в формате UTF8 без BOM 2018-03-18 05:58:59 +02:00
1C Functin to yEd.gif Краткое описание 2018-03-18 06:05:46 +02:00
bootstrap.in-up.sh инсталятор для обычных 1С-ников 2016-02-25 17:22:35 +03:00
GeneratorUML.epf Дополнительно обработки: Генерация UML диаграммы движений документов & Генерация XGML-диаграммы движений документов для yEd 2018-03-18 18:48:33 +02:00
LICENSE.txt добавлен новый каталог лицензий 2016-02-01 13:36:05 +03:00
README.md Дополнительно обработки: Генерация UML диаграммы движений документов & Генерация XGML-диаграммы движений документов для yEd 2018-03-18 18:48:33 +02:00
КартаДвижений XGML-диаграммы для yEd.epf Дополнительно обработки: Генерация UML диаграммы движений документов & Генерация XGML-диаграммы движений документов для yEd 2018-03-18 18:48:33 +02:00

Обработка "Граф вызовов для модулей 1С".

Работа с обработкой

Обработка позволяет по тексту модуля 1С 8.1/8.2 построить граф вызовов. В отличии от отчета "Анализ модуля" в АК, обработка обладает большим числом настроек и не требует загрузки всех текстов модулей в специальную базу.

Граф вызовов модуля позволяет:

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

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

Тип отчета:

Общий список. По секциям. Управляемая форма. Управляемая форма (только приводящие к вызову на сервер). Тип отчета "Общий список" предназначен для простого вывода графа вызовов без каких-либо дополнительных группировок. Для остальных типов отчетов описание приведено ниже.

"По компонентам связности" - разделяет граф на независимые друг с другом части (компоненты связности). В этом случае, функции отображаются в виде дерева и для построения графа необходимо выбрать одну из компонент. Флажки в табличном поле позволяют исключать некоторые функции и процедуры из графа. Например, некоторая универсальная функция в модуле может использоваться большинством других функций и процедур, из-за этого, граф вызовов модуля может быть запутанным. Исключив несколько таких процедур и функций граф вызовов может распасться на несколько небольших компонент связности и анализ модуля значительно упростится. Только идентификаторы" - вместо имен функций и процедур выводить идентификаторы в вершинах графа. При включенном значений вместе с картинкой открывается текстовый документ с расшифровкой имен.

Отчет по секциям.

Под секциями понимаются части модуля разделенные комментариями вида:

////////////////////////////////////////////////////////////////////////////////

// ПРОЦЕДУРЫ И ФУНКЦИИ ОБЩЕГО НАЗНАЧЕНИЯ

Для этого типа отчета доступны три разных способа формирования графа Все секции

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

Для отчета по секциям не доступна настройка "По компонентам связности".

Отчет по управляемым формам. (только для версии обработки под 8.2)

Основное назначение этого типа отчета - отследить все вызовы из процедур и функций управляемых форм с директивой компиляции &НаКлиенте, приводящие к обращению на сервер. Эта информация может помочь провести оптимизацию числа серверных вызовов в управляемых форм.

В табличном поле отображаются только функции и процедуры с директивой компиляции

  • &НаКлиенте.

Все функции и процедуры модуля разбиваются на кластеры, в зависимости от стоящей перед ними директивы компиляции - &НаКлиенте, &НаСервере, &НаСервереБезКонтекста, &НаКлиентеНаСервереБезКонтекста, &НаКлиентеНаСервере. Параметр "На клиенте в одном кластере" позволяет включать или выключать группировку функций и процедур с директивой компиляции &НаКлиенте в отдельный кластер.

Кроме функций и процедур в отдельные кластеры графа могут попасть:

Функции и процедуры платформы приводящие к вызову на сервер, например - ПредопределенноеЗначение. Серверные общие модули без флага "Клиент (управляемое приложение)". На приведенном ниже рисунке все функции и процедуры входят в одну компоненту связности, но для этого типа отчета, группы составляются только с учетом вызовов между клиентскими функциями и процедурами. Таким образом, при включении флажка "По компонентам связности", каждая процедура будет образовывать свою группу.

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

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

Для построения графа необходимо в форме ввода текста скопировать содержимое анализируемого программного модуля и указать тип модуля.

Обычный модуль - модуль не содержащий директивы компиляции. Управляемая форма - модуль, который должен содержать директивы компиляции. Автоопределение - тип модуля будет определен автоматически по наличию в нем директив компиляции. Поиск управляемых форм в конфигурации.

При выборе пункта меню "Все действия / Найти управляемые формы" открывается текстовый документ со списком всех найденных управляемых форм в конфигурации. Доступно только в управляемой форме обработки под 8.2.

P.S. Для установки Graphviz и yEd можно использовать скрипт ./tools/windows/env-install.cmd

Дополнительно обработки:

КартаДвижений XGML-диаграммы для yEd.epf - Генерация XGML-диаграммы движений документов для yEd

GeneratorUML.epf - Генерация UML диаграммы движений документов