Реализована обработка для построения графов вызовов модулей 1С 8.1/8.2. На основе этой обработки предлагается метод оптимизации числа серверных вызовов в управляемых формах 8.2.
Файлы
ВНИМАНИЕ:
Файлы из Базы знаний - это исходный код разработки.
Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы.
Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных.
Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.
Вы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».
0% комиссии — оплата напрямую исполнителю;
Исполнители любого масштаба — от отдельных специалистов до команд под проект;
Прямой обмен контактами между заказчиком и исполнителем;
Безопасная сделка — при необходимости;
Рейтинги, кейсы и прозрачная система откликов.
Обработка позволяет по тексту модуля 1С 8.1/8.2 построить граф вызовов. В отличии от аналогичного отчета в Анализе конфигураций, обработка обладает большим числом настроек и не требует загрузки всех текстов модулей в специальную базу. Граф вызовов модуля позволяет:
Произвести оптимизацию числа серверных вызовов из управляемых форм 8.2.
Проследить цепочку вызовов, идущих из выбранной процедуры или наоборот, приводящих к процедуре.
Оценить степень запутанности программного кода и пр.
Обработка реализована для 8.1 и 8.2 в управляемом и обычном режиме.
Также, предлагается метод поиска клиентских обработчиков событий в управляемых формах, которые могут порождать лишние вызовы на сервер - http://www.stal76.ru/form82
Обновлено 19.06.2013. Обработка была доработана Pavl0, добавлена возможность использования программы построения графов Yed -//infostart.ru/public/190199/
Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP, УНФ, КА и т.д.). Поддерживаются серверные и файловые базы, управляемые и обычные формы. Может выполнять свертку одновременно в несколько потоков. А так же автоматически, без непосредственного участия пользователя.
Решение в Реестре отечественного ПО
Расширение для создания и редактирования печатных форм в системе 1С:Предприятие 8.3. Благодаря конструктору можно значительно снизить затраты времени на разработку печатных форм, повысить качество и прозрачность разработки, а также навести порядок в многообразии корпоративных печатных форм. Обновление версии от 21.04.26
Первые попытки разработки на 1С с использованием больших языковых моделей (LLM) могут разочаровать. LLMки сильно галлюцинируют, потому что не знают устройства конфигураций 1С, не знают нюансов синтаксиса. Но если дать им подсказки с помощью MCP, то результат получается кардинально лучше.
Далее в публикации:
MCP для поиска по метаданным 1С, справке синтакс-помощника и проверки синтаксиса.
Infostart MagicInput улучшает подбор в полях ввода 1С: ищет по любой части названия и по нескольким ключевым фрагментам, распознаёт ввод в другой раскладке и показывает иконки/статусы объектов прямо в списке. Поддерживает вставку навигационной ссылки/представления документа для автоподбора; для разработчиков доступны поиск по GUID и полному имени предопределённого. Работает в управляемых формах и подключается в большинстве конфигураций 1С 8.3/8.5.
Расширение позволяет без изменения кода конфигурации выполнять проверки при вводе данных, скрывать от пользователя недоступные ему данные, выполнять код в обработчиках. Не изменяет данные конфигурации, легко устанавливается практически на любую конфигурацию на управляемых формах.
Инструмент для написания и отладки кода в режиме «1С:Предприятие». Представляет собой консоль кода с возможностью пошаговой отладки, просмотра значений переменных любых типов, использования процедур и функций, просмотра стека вызовов, вычисления произвольных выражений на встроенном языке в контексте точки останова, синтаксического контроля и остановки по ошибке. В консоли используется удобный редактор кода с подсветкой, контекстной подсказкой, возможностью вызова конструкторов запроса и форматной строки. 1.3.11 Доработан механизм контекстной подсказки по метаданным
(3) При копировании текста модуля исправьте имя переменной НачалоЦикла в строке 9958 на какое-нибудь другое. Ошибку в самой обработке постараюсь исправить в ближайшее время.
Локализовал фрагмент, который не парсится.
Способ воспроизведения:
Нажимаю кнопку ввести текст, включаю опцию - обычный модуль.
Вставляю следующий текст и нажимаю кнопку Выполнить.
Выскакивает ошибка "Непредвиденное завершение цикла в строке 11".
(7) да вместо букв на графе выводятся квадратики с символами по углам. Уже разобрался: лечится добавлением fontname="Arial" <= ГрафДобавитьПараметр(Параметры, "fontname", "Arial"); после Инфо.ИмяФункции.
(используется "Graphviz 2.28")
хотелось бы как-то более компактно предсавлять схему - например имя процедур разбивать по составным строчкам и потом еще перечислить параметры:
Граф
Добавить
Параметр
: Параметры
: Имя
: Свойство
Было бы здорово выделять не связанные блоки по вертикале - удобнее печататть, а еще чтобы можно было загрузить несколько модулей: Объета, Форм, общих модулей - после анализа текста модуля предлагалось добавтить текст формы или объекта или общего модуля
(8) Были мысли перенести весь функционал этой обработки сюда и уже там сделать возможность работы с несколькими модулями. Но пока этого делать не планирую.
Только графы рисуются не по порядку, все подряд (вызовы из функции),
если бы они рисовались по порядку - какая функция выполняется сначала слева, а какая потом правее (или цифрами), то было бы намного больше пользы, можно было бы изучать алгоритм по графам. Надеюсь что это можно доделать и тогда ещё круче будет :)
(10) Для рисования графов используется программа Graphviz, она сама определяет в каком порядке размещать вершины графа, я задаю только топологию графа. Хотя может и есть способ передать каким-то образом порядок вершин, но я не нашел его.
Сразу же после ввода текста модуля УФ нвчала выдавать предупреждения типа "Не найдено завершение процедуры ... тра-та-та...". Не обработана обрезка комментариев вконце строк типа "КонецПроцедуры //комментарий" и т.п.
Да, и еще на графе выводятся иероглифы (подсказка от i132 не сработала).