mirror of
https://github.com/SergeFocus/1C-Functin-to-yEd.git
synced 2024-12-02 02:56:29 +02:00
Краткое описание
This commit is contained in:
parent
014bf8b05a
commit
b3e3dc95e7
BIN
1C Functin to yEd.gif
Normal file
BIN
1C Functin to yEd.gif
Normal file
Binary file not shown.
After Width: | Height: | Size: 3.3 MiB |
109
README.md
109
README.md
@ -1,67 +1,108 @@
|
||||
# Обработка "Граф вызовов для модулей 1С".
|
||||
Обработка "Граф вызовов для модулей 1С".
|
||||
========================================
|
||||
![Работа с обработкой](1C%20Functin%20to%20yEd.gif)
|
||||
|
||||
Обработка позволяет по тексту модуля 1С 8.1/8.2 построить граф вызовов. В отличии от отчета "Анализ модуля" в АК, обработка обладает большим числом настроек и не требует загрузки всех текстов модулей в специальную базу.
|
||||
Обработка позволяет по тексту модуля 1С 8.1/8.2 построить граф вызовов. В
|
||||
отличии от отчета "Анализ модуля" в АК, обработка обладает большим числом
|
||||
настроек и не требует загрузки всех текстов модулей в специальную базу.
|
||||
|
||||
Граф вызовов модуля позволяет:
|
||||
==============================
|
||||
|
||||
Произвести оптимизацию числа серверных вызовов из управляемых форм 8.2.
|
||||
Проследить цепочку вызовов, идущих из выбранной процедуры или наоборот, приводящих к процедуре.
|
||||
Оценить степень запутанности программного кода и пр.
|
||||
Обработка реализована для 8.1 и 8.2 в управляемом и обычном режиме, загрузить ее можно здесь. В версии обработки для 8.1 часть функционала недоступна.
|
||||
Проследить цепочку вызовов, идущих из выбранной процедуры или наоборот,
|
||||
приводящих к процедуре. Оценить степень запутанности программного кода и пр.
|
||||
Обработка реализована для 8.1 и 8.2 в управляемом и обычном режиме, загрузить ее
|
||||
можно здесь. В версии обработки для 8.1 часть функционала недоступна.
|
||||
|
||||
Перед использованием обработки необходимо установить программу Graphviz и выполнить настройку построения графов
|
||||
Основные настройки обработки:
|
||||
Перед использованием обработки необходимо установить программу Graphviz и
|
||||
выполнить настройку построения графов Основные настройки обработки:
|
||||
|
||||
Тип отчета:
|
||||
===========
|
||||
|
||||
Общий список.
|
||||
По секциям.
|
||||
Управляемая форма.
|
||||
Управляемая форма (только приводящие к вызову на сервер).
|
||||
Тип отчета "Общий список" предназначен для простого вывода графа вызовов без каких-либо дополнительных группировок. Для остальных типов отчетов описание приведено ниже.
|
||||
Общий список. По секциям. Управляемая форма. Управляемая форма (только
|
||||
приводящие к вызову на сервер). Тип отчета "Общий список" предназначен для
|
||||
простого вывода графа вызовов без каких-либо дополнительных группировок. Для
|
||||
остальных типов отчетов описание приведено ниже.
|
||||
|
||||
"По компонентам связности" - разделяет граф на независимые друг с другом части (компоненты связности). В этом случае, функции отображаются в виде дерева и для построения графа необходимо выбрать одну из компонент.
|
||||
Флажки в табличном поле позволяют исключать некоторые функции и процедуры из графа. Например, некоторая универсальная функция в модуле может использоваться большинством других функций и процедур, из-за этого, граф вызовов модуля может быть запутанным. Исключив несколько таких процедур и функций граф вызовов может распасться на несколько небольших компонент связности и анализ модуля значительно упростится.
|
||||
Только идентификаторы" - вместо имен функций и процедур выводить идентификаторы в вершинах графа. При включенном значений вместе с картинкой открывается текстовый документ с расшифровкой имен.
|
||||
"По компонентам связности" - разделяет граф на независимые друг с другом части
|
||||
(компоненты связности). В этом случае, функции отображаются в виде дерева и для
|
||||
построения графа необходимо выбрать одну из компонент. Флажки в табличном поле
|
||||
позволяют исключать некоторые функции и процедуры из графа. Например, некоторая
|
||||
универсальная функция в модуле может использоваться большинством других функций
|
||||
и процедур, из-за этого, граф вызовов модуля может быть запутанным. Исключив
|
||||
несколько таких процедур и функций граф вызовов может распасться на несколько
|
||||
небольших компонент связности и анализ модуля значительно упростится. Только
|
||||
идентификаторы" - вместо имен функций и процедур выводить идентификаторы в
|
||||
вершинах графа. При включенном значений вместе с картинкой открывается текстовый
|
||||
документ с расшифровкой имен.
|
||||
|
||||
Отчет по секциям.
|
||||
=================
|
||||
|
||||
Под секциями понимаются части модуля разделенные комментариями вида:
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// ПРОЦЕДУРЫ И ФУНКЦИИ ОБЩЕГО НАЗНАЧЕНИЯ
|
||||
|
||||
Для этого типа отчета доступны три разных способа формирования графа
|
||||
Все секции - все функции и процедуры модуля группируются в кластеры по имени секции.
|
||||
Обращения между секциями - выводятся сводные данные о количестве вызовов между функциями и процедурами из различных секций.
|
||||
Только выбранная секция - выводится только кластер для выбранной секции. Дополнительно, можно задать вывод вызовов к функциям и процедурам секции из других секций, а также, вызовы из функций и процедур секции в другие секции.
|
||||
Для этого типа отчета доступны три разных способа формирования графа Все секции
|
||||
- все функции и процедуры модуля группируются в кластеры по имени секции.
|
||||
Обращения между секциями - выводятся сводные данные о количестве вызовов между
|
||||
функциями и процедурами из различных секций. Только выбранная секция - выводится
|
||||
только кластер для выбранной секции. Дополнительно, можно задать вывод вызовов к
|
||||
функциям и процедурам секции из других секций, а также, вызовы из функций и
|
||||
процедур секции в другие секции.
|
||||
|
||||
Для отчета по секциям не доступна настройка "По компонентам связности".
|
||||
|
||||
Отчет по управляемым формам. (только для версии обработки под 8.2)
|
||||
==================================================================
|
||||
|
||||
Основное назначение этого типа отчета - отследить все вызовы из процедур и функций управляемых форм с директивой компиляции &НаКлиенте, приводящие к обращению на сервер. Эта информация может помочь провести оптимизацию числа серверных вызовов в управляемых форм.
|
||||
Основное назначение этого типа отчета - отследить все вызовы из процедур и
|
||||
функций управляемых форм с директивой компиляции &НаКлиенте, приводящие к
|
||||
обращению на сервер. Эта информация может помочь провести оптимизацию числа
|
||||
серверных вызовов в управляемых форм.
|
||||
|
||||
В табличном поле отображаются только функции и процедуры с директивой компиляции - &НаКлиенте.
|
||||
В табличном поле отображаются только функции и процедуры с директивой компиляции
|
||||
- &НаКлиенте.
|
||||
|
||||
Все функции и процедуры модуля разбиваются на кластеры, в зависимости от стоящей перед ними директивы компиляции - &НаКлиенте, &НаСервере, &НаСервереБезКонтекста, &НаКлиентеНаСервереБезКонтекста, &НаКлиентеНаСервере. Параметр "На клиенте в одном кластере" позволяет включать или выключать группировку функций и процедур с директивой компиляции &НаКлиенте в отдельный кластер.
|
||||
Все функции и процедуры модуля разбиваются на кластеры, в зависимости от стоящей
|
||||
перед ними директивы компиляции - &НаКлиенте, &НаСервере,
|
||||
&НаСервереБезКонтекста, &НаКлиентеНаСервереБезКонтекста, &НаКлиентеНаСервере.
|
||||
Параметр "На клиенте в одном кластере" позволяет включать или выключать
|
||||
группировку функций и процедур с директивой компиляции &НаКлиенте в отдельный
|
||||
кластер.
|
||||
|
||||
Кроме функций и процедур в отдельные кластеры графа могут попасть:
|
||||
|
||||
Функции и процедуры платформы приводящие к вызову на сервер, например - ПредопределенноеЗначение.
|
||||
Серверные общие модули без флага "Клиент (управляемое приложение)".
|
||||
На приведенном ниже рисунке все функции и процедуры входят в одну компоненту связности, но для этого типа отчета, группы составляются только с учетом вызовов между клиентскими функциями и процедурами. Таким образом, при включении флажка "По компонентам связности", каждая процедура будет образовывать свою группу.
|
||||
Функции и процедуры платформы приводящие к вызову на сервер, например -
|
||||
ПредопределенноеЗначение. Серверные общие модули без флага "Клиент (управляемое
|
||||
приложение)". На приведенном ниже рисунке все функции и процедуры входят в одну
|
||||
компоненту связности, но для этого типа отчета, группы составляются только с
|
||||
учетом вызовов между клиентскими функциями и процедурами. Таким образом, при
|
||||
включении флажка "По компонентам связности", каждая процедура будет образовывать
|
||||
свою группу.
|
||||
|
||||
Параметр "Первые вызовы на сервере" позволяет не отображать серверные процедуры и функции, которые не вызываются из клиентских. Например, на рисунке выше, при включенном параметре не отображалась бы процедура N018.
|
||||
Параметр "Первые вызовы на сервере" позволяет не отображать серверные процедуры
|
||||
и функции, которые не вызываются из клиентских. Например, на рисунке выше, при
|
||||
включенном параметре не отображалась бы процедура N018.
|
||||
|
||||
В табличном поле красным цветом выделяются процедуры и функции которые могут привести более чем к одному серверному вызову.
|
||||
Ввод текста модуля.
|
||||
В табличном поле красным цветом выделяются процедуры и функции которые могут
|
||||
привести более чем к одному серверному вызову. Ввод текста модуля.
|
||||
|
||||
Для построения графа необходимо в форме ввода текста скопировать содержимое анализируемого программного модуля и указать тип модуля.
|
||||
Для построения графа необходимо в форме ввода текста скопировать содержимое
|
||||
анализируемого программного модуля и указать тип модуля.
|
||||
|
||||
Обычный модуль - модуль не содержащий директивы компиляции.
|
||||
Управляемая форма - модуль, который должен содержать директивы компиляции.
|
||||
Автоопределение - тип модуля будет определен автоматически по наличию в нем директив компиляции.
|
||||
Поиск управляемых форм в конфигурации.
|
||||
Обычный модуль - модуль не содержащий директивы компиляции. Управляемая форма -
|
||||
модуль, который должен содержать директивы компиляции. Автоопределение - тип
|
||||
модуля будет определен автоматически по наличию в нем директив компиляции. Поиск
|
||||
управляемых форм в конфигурации.
|
||||
|
||||
При выборе пункта меню "Все действия / Найти управляемые формы" открывается текстовый документ со списком всех найденных управляемых форм в конфигурации. Доступно только в управляемой форме обработки под 8.2.
|
||||
При выборе пункта меню "Все действия / Найти управляемые формы" открывается
|
||||
текстовый документ со списком всех найденных управляемых форм в конфигурации.
|
||||
Доступно только в управляемой форме обработки под 8.2.
|
||||
|
||||
P.S. Для установки Graphviz и yEd можно использовать скрипт
|
||||
`./tools/windows/env-install.cmd`
|
Loading…
Reference in New Issue
Block a user