Картинка - Analyzer 1C — веб-инструмент для анализа зависимостей конфигураций 1С

Analyzer 1C — веб-инструмент для анализа зависимостей конфигураций 1С

Устали искать зависимости в конфигураторе? «Поиск ссылок на объект» в ERP — это минуты ожидания. А если объект затронут расширениями — конфигуратор вообще не покажет полную картину. Analyzer 1C — веб-инструмент, который парсит выгрузку конфигурации (основную + все расширения) и строит граф зависимостей в ArangoDB. Любой запрос — за доли секунды. Что внутри: — Граф вызовов и ссылок между объектами, в том числе запросы в коде и СКД — Анализ ролей с учётом РольДоступна() в коде — Конструктор профилей: выбрали роли — увидели итоговые доступы — Заимствования и переопределения расширений, всё в одном месте — Поиск по всей конфигурации с мгновенными результатами. — Анализ функциональных опций и многое другое... Разворачивается за минуту через Docker не требуя опыта работы с контейнерами и интернета. Работает с любой конфигурацией 1С:Предприятие 8.3 и выше.

Арт.: 2669235

Лицензии

12 200 руб.

Техподдержка и обновления

5 000 руб.

6 100 руб.

Analyzer 1C — навигация по сложным конфигурациям

Когда конфигурация содержит тысячи объектов, сотни ролей и десятки расширений — понять, «что от чего зависит», становится нетривиальной задачей. Analyzer 1C решает эту проблему: инструмент парсит выгрузку конфигурации (ZIP), строит граф зависимостей и показывает результат в удобном веб-интерфейсе.

В статье показано на примере 1С:ERP. Управление холдингом (18 780 модулей, 341 925 функций, 2 032 роли), как инструмент помогает разработчику ориентироваться в крупной конфигурации.

  • Парсинг конфигурации из ZIP-выгрузки
  • Построение графа зависимостей между объектами
  • Анализ основной конфигурации и всех расширений
  • Отображение заимствований и переопределений
  • Выявление перекрёстных зависимостей
Ключевая особенность: 
Analyzer 1C загружает не только основную конфигурацию, но и все расширения.
Конфигуратор 1С показывает расширение изолированно — вы видите объекты одного расширения, но не видите полной картины: какие функции основной конфигурации переопределены, какие объекты заимствованы несколькими расширениями одновременно, как расширения зависят друг от друга.
Собрать эту информацию штатными средствами платформы практически невозможно — нужно открывать каждое расширение по отдельности и вручную сопоставлять. Analyzer 1C объединяет основную конфигурацию и все расширения в единый граф, показывая заимствования, переопределения и перекрёстные зависимости в одном интерфейсе.

 

Что умеет инструмент

1

Парсинг конфигурации

Парсит выгрузку конфигурации — загружаете ZIP-файл через веб-интерфейс, парсер извлекает все объекты метаданных, модули, функции, вызовы между ними и права ролей.

2

Граф зависимостей

Строит граф зависимостей — для каждого объекта показывает, какие модули он вызывает и кто вызывает его (входящие/исходящие связи).

3

Анализ запросов

Анализирует запросы к таблицам — находит обращения к объектам метаданных через запросы в BSL-коде, динамических списках форм и макетах СКД. Показывает, кто читает данные из регистра или справочника, включая табличные части и виртуальные таблицы.

4

Анализ ролей

Анализирует роли — какие роли имеют права на объект, с какими правами (чтение, изменение, добавление, удаление, RLS). Находит программные проверки РольДоступна() в коде — показывает, где логика зависит от роли.

5

Анализ расширений

Полный анализ расширений — показывает заимствованные объекты, переопределённые функции, добавленные модули. Видно, какое расширение что изменило, и какие объекты затронуты несколькими расширениями одновременно.

6

Навигация по подсистемам

Навигация по подсистемам — дерево подсистем конфигурации с группировкой по типам метаданных.

7

Конструктор профилей

Конструктор профилей — выбираете набор ролей (включая роли из расширений) и получаете итоговую картину: какие объекты будут доступны пользователю и с какими правами.

8

Поиск

Поиск — мгновенный поиск по всем объектам, ролям и подсистемам. Результаты появляются по мере ввода текста.

9

Скорость работы

Скорость: все операции выполняются практически мгновенно. Выбрали объект — зависимости, роли и связи отображаются за доли секунды. Для сравнения: «Поиск ссылок на объект» в конфигураторе 1С для крупной конфигурации вроде ERP может занимать минуты. Analyzer 1C работает с предварительно построенным графом в ArangoDB, поэтому любой запрос — это обход графа, а не полнотекстовый поиск по коду.

 

Навигация по конфигурации

Интерфейс разделён на две части: слева — дерево навигации, справа — панель деталей выбранного объекта. Переключение между режимами навигации — через вкладки «Подсистемы», «Типы», «Роли», «Инфо».

Интерфейс разделён на две части: слева — дерево навигации, справа — панель деталей выбранного объекта. Переключение между режимами навигации — через вкладки «Подсист.», «Типы», «Роли», «Инфо».

Дерево типов

Режим «Типы» группирует все объекты конфигурации по типам метаданных: общие модули, справочники, документы, регистры и т.д. Каждая группа показывает количество объектов. Заголовки групп «прилипают» к верху при прокрутке — удобно ориентироваться в длинных списках.

 

Дерево типов 1С:ERP. Управление холдингом — 18 780 модулей в 20 типах метаданных

 

Дерево подсистем

Режим «Подсист.» отражает иерархию подсистем конфигурации. Для каждой подсистемы показываются вложенные подсистемы и типы объектов с количеством. Объекты расширений помечены жёлтой меткой «Доб.», заимствованные — зелёной «Заимств.» с именем расширения-источника. Это позволяет сразу видеть, какие расширения затронули каждую подсистему.

 

Подсистемы ERP УХ с объектами расширения «Управление Лизинговой компании»

 

Поиск

Поиск работает по всем типам объектов одновременно: модулям, справочникам, документам, ролям, подсистемам. Результаты группируются по типам с цветовыми маркерами и появляются по мере ввода текста. Объекты, добавленные или изменённые расширениями, помечаются жёлтой меткой «Доб.» с именем расширения — сразу видно, что пришло из расширения, а что из основной конфигурации.

 

Поиск «лизинг» — обычные объекты, заимствованные (зелёная метка «Заимств.») и устаревшие в одном списке

 

 

 

Функциональные опции: что отключают и где проверяются
1.6.21 — Что нового

 

 

В типовых на 1С — десятки и сотни функциональных опций («Использовать партионный учёт», «Учёт по складам», «Многофирменность»), которыми внедренец и архитектор управляют видимостью и поведением конфигурации. Когда заходит вопрос «что сломается, если выключить опцию X», или наоборот «откуда у клиента взялись эти лишние команды и реквизиты», ответ обычно собирался руками: открыть опцию в конфигураторе, посмотреть состав, потом грепнуть код по ПолучитьФункциональнуюОпцию — и держать всё это в голове.

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

Раздел «Функциональные опции»

Список функциональных опций ЕРПУХ — сайдбар, активные сверху

Сайдбар «Функц.опции» в режиме «1С:ERP. Управление холдингом». В ЕРПУХ — больше тысячи опций; в этом кадре видны актуальные сверху списка (счётчики 📦/🎛/🔎 справа), а устаревшие («Не использовать», «удалить», «obsolete» и т.п.) автоматически уходят вниз и показываются полупрозрачными — чтобы не отвлекать.

В верхней панели появился чип режима «Функц.опции». Слева — список всех опций конфигурации, отсортированных по имени, с поиском по подстроке (имя или синоним).

В каждой строке списка — заголовок опции и три счётчика снизу:

📦 Состав — сколько элементов записано в Content опции (объекты, реквизиты, команды).

🎛 Контролирует — сколько объектов конфигурации эта опция реально отключает (после резолва путей в граф).

🔎 Проверяется — в скольких функциях BSL значение опции читается через ПолучитьФункциональнуюОпцию.

Если опция собственная для расширения — на ней маркер 🔌 с именем расширения. Если у опции стоит «Привилегированное получение значения» — маркер 🔒. Чек-бокс «🔌 Только затронутые расширениями» оставляет в списке только опции, чей состав или само определение правит какое-нибудь расширение.

Что опция отключает

Карточка опции «Использовать аналоги материалов»: состав и проверки

Карточка опции «Использовать аналоги материалов» из ЕРПУХ. Сверху — состав («3 объекта конфигурации»: 1 документ и 2 регистра сведений), все три тегом «Объект целиком». Снизу — блок «Проверяется в коде»: 3 обработки и 1 отчёт, в каждой строке справа — бейдж с числом проверок («1 проверка», «2 проверки» с правильным склонением).

Клик по опции открывает её карточку. Сверху — заголовок с маркерами 🔌/🔒, имя в техническом виде и источник значения: либо константа конфигурации, либо общий модуль с функцией расчёта, либо «По хранимому значению».

Главный блок — «Что отключает опция». Состав опции сгруппирован по типу метаданных (Справочники, Документы, Регистры…), а внутри группы — по конкретным объектам. Раскрытие двойное: можно свернуть группу целиком, можно — конкретный объект.

В каждой строке объекта правый бейдж сразу показывает, что именно опция там трогает. Категорий — восемь, и каждая со своим цветом:

  • Объект целиком (бирюза) — опция убирает объект полностью.
  • Реквизит (синий) — опция управляет конкретным реквизитом.
  • Реквизит ТЧ (голубой) — реквизит внутри табличной части.
  • Таб.часть (фиолетовый) — табличная часть объекта целиком.
  • Команда (оранжевый).
  • Ресурс / Измерение (розовый/жёлтый) — для регистров.
  • Подсистема (серый) — вложенная подсистема в составе родительской.

Это важно, потому что разные опции воздействуют на очень разные куски данных. Раньше всё, кроме реквизита и команды, сваливалось под «объект целиком» — и пользователь думал, что опция убирает, например, весь справочник Номенклатура. На самом деле она отключала только табличную часть «ДополнительныеРеквизиты». Теперь бейдж говорит правду: «таб.часть» — значит таб.часть, «реквизит ТЧ» — значит реквизит внутри неё, и так далее.

Раскрыв строку объекта, видно поимённый список с цветными тегами категории для каждой строки.

Если в составе опции часть путей пришла из расширений — рядом с такими элементами стоит маркер 🔌 с именем расширения, чтобы было видно, что эту строку добавил не вендор типовой.

Если в графе оказалось меньше элементов, чем записано в Content опции (это нормально — реквизиты и команды хранятся не как самостоятельные узлы, а внутри своих объектов; либо ссылка указывает на объект из ещё не подгруженного расширения), под заголовком блока появляется поясняющая жёлтая плашка с числами.

Где значение опции читается из кода

Второй блок карточки — «Проверяется в коде». Это перечень функций, в теле которых вызывается чтение значения этой опции (в обычной форме или в «интерфейсной» — ПолучитьФункциональнуюОпцию и ПолучитьФункциональнуюОпциюИнтерфейса). Опции из БСП-обвязки тоже учитываются.

Перечень устроен так же, как состав, — группировка по типу метаданных и по объекту. Бейдж справа от объекта показывает, в скольких функциях этого объекта значение опции реально читается («1 проверка», «3 проверки», «12 проверок» — всё с правильным склонением). Раскрыв строку объекта, видно поимённый список функций, в которых опция читается; перед каждым именем стоит зелёный тег «Функция», чтобы не путать «функция-место проверки» с привычной «реквизит/команда зависит от опции».

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

Связь с конкретным объектом — теперь видно из карточки «Типы»

Группа «Функц.опции» в карточке справочника Номенклатура

Карточка Catalog.Номенклатура в ЕРПУХ, режим «Типы». Прямо в общем списке связей появилась группа «Функц.опции (38)» — все опции, которые контролируют этот справочник. Колонка справа сразу говорит, что именно: «реквизит», «3 реквиз.», «целиком». То же поведение, что у привычных групп «Подписки» / «Перехваты» — никаких отдельных вкладок.

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

Когда вы открываете деталь любого объекта (например, Document.РеализацияТоваровУслуг или Catalog.Контрагенты), в общем списке связей появляется группа «Функц.опции» с зелёным маркером — наряду с привычными «Вызывает», «Ссылается на», «Подписки», «Перехваты». В группе — список всех опций, в чьём составе фигурирует этот объект.

В колонке «Детали» — короткое описание того, что именно опция тут отключает: «целиком» (опция убирает объект полностью), «реквизит» или «N реквиз.» (только конкретные поля), «команда» / «N команд». При наведении на текст всплывает подсказка с поимённым списком реквизитов и команд, чтобы не открывать саму опцию ради уточнения.

Если опция собственная для расширения — рядом с её заголовком маркер 🔌. Группа сортируется и группируется по тем же правилам, что и весь список связей объекта, — никаких отдельных вкладок и переключателей не появилось, всё прямо в основной таблице.

Как обновиться

Скачать нужную сборку из prod/ и развернуть по инструкции INSTALL.txt. Полный архив analyzer-1c-full.zip — приложение и ArangoDB в одном пакете для автономной установки. Вариант analyzer-1c-no-arango.zip — только приложение, для случаев, когда ArangoDB уже стоит отдельно.

Если у вас уже загружены конфигурации, после обновления нажмите «Перезагрузить» — рёбра функциональных опций и связей с объектами достроятся в графе при следующем разборе.

 

Два значимых раздела для работы с незнакомой конфигурацией 1С
1.5.20 — Что нового

 

 

В новой версии аналитик получил два значимых раздела для работы с незнакомой конфигурацией 1С: «Изучение подсистем» для понимания процессов и «Внешние API» для просмотра всех точек входа. Обе возможности доступны из верхнего меню.

Изучение подсистем

Когда вы открываете незнакомую конфигурацию 1С — типовую ЕРП, ЗУП, УХ или сильно кастомную — приходится тратить дни, чтобы понять «какие здесь бизнес-процессы, с чего они начинаются, чем заканчиваются». Дерево объектов слева отвечает на «что в системе есть», но не на «как процесс идёт».

Раздел «Изучение подсистем» даёт прямой ответ на этот вопрос на языке 1С — через подсистемы. Каждая подсистема становится карточкой процесса: видны инициирующие документы(с чего процесс начинается), завершающие(чем заканчивается), и весь промежуточный путь между ними.

Список подсистем как «оглавление»

Слева — все процессы клиента, отсортированные по числу документов: сверху самые «жирные»(«Зарплата 121 документ», «Продажи 53», «Кадры 79»), внизу — мелкие. Это и есть оглавление того, как устроена работа в этой конфигурации.

Служебные подсистемы платформы — «СтандартныеПодсистемы», «ИнтернетПоддержкаПользователей», «РаспознаваниеДокументов», «ПереопределяемыеОбъекты», «СлужебныеПодсистемы» и им подобные — автоматически скрыты, чтобы не отвлекать от бизнес-картины. Тумблер «Показать служебные» возвращает их в список с серым тегом «служебная», если нужно посмотреть. Любую подсистему можно вручную скрыть через Y42;-меню «Скрыть как служебную» — пометка сохраняется между сессиями.

Карточка процесса

Клик по подсистеме открывает её карточку с двумя видами — Список и Граф.

Список процесса «Продажи» в ЕРПУХ

Список — табличное представление:

три колонки Инициирующие/ Промежуточные/ Завершающие с документами процесса(длинные списки прокручиваются внутри колонки, не отжимая остальное содержимое); ниже — две таблицы регистров: Куда пишет процесс(балансовые регистры накопления, бухгалтерия) и Откуда читает справочные(регистры сведений, обороты);

две таблицы межпроцессных связей: Связи через ссылочный реквизит (например, «Кадры → Зарплата 10») и Заполняется на основании из...

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

Граф процесса

Вкладка Граф показывает то же содержимое визуально: четыре вертикальные колонки слева направо — инициирующие, две колонки промежуточных по «глубине» создания на основании, и завершающие.

По умолчанию отображаются только связи «создан на основании»(сплошные жирные стрелки). Тумблер Показать справочные ссылки включает дополнительные тонкие пунктирные стрелки от ссылочных реквизитов между документами.

Сверху над основным графом — серые пунктирные плашки соседних подсистем, выложенные в строку по 6 в ряд: «Зарплата(40)», «Закупки(12)» и т.п. Стрелка от документа вверх — он передаёт данные в эту подсистему; стрелка вниз — оттуда приходит. Это заменяет «обрыв» процесса на границе подсистемы наглядной сводкой межпроцессных связей.

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

Кнопки слева сверху — стандартные для графа: приблизить, отдалить, вписать всё в экран, сохранить как PNG.

Навигация ПКМ

Правый клик на любом элементе графа даёт целенаправленный переход:

на документе — «Перейти к документу в дереве»: открывается режим «Типы», документ найден и подсвечен в дереве слева; на плашке соседней подсистемы — «Открыть процесс этой подсистемы»: вы перепрыгиваете прямо в её карточку.

Внешние API: HTTP-сервисы, Web-сервисы, регламентные задания

Все публичные точки входа конфигурации — HTTP-сервисы, Web-сервисы(SOAP) и регламентные задания — теперь видны одним списком, с URL, методами и функциями-обработчиками.

До релиза поиск точек входа был вручную: открывается конфигуратор, пробегается по папкам HTTPServices/ , WebServices/ , ScheduledJobs/ , у каждого смотрится MethodName или Handler , потом ищется функция в коде модуля. На ERP-масштабах — сотни задач и end p oint'ов, проверка занимала день.

Теперь граф конфигурации содержит отдельные коллекции для всех трёх категорий. Любая «нестандартная» точка входа — та, что исполняется в обход UI(задание по расписанию, SOAP-запрос, HTTP-клиент снаружи) — попадает в единый индекс, откуда её легко достать фильтром или экспортом.

Регламентные задания

Новая запись в дереве объектов справа от режимов «Анализ функций» и «Граф вызовов» — регламентное задание видно как отдельный узел с метаданными:

🕐 Расписание в человекочитаемом виде(«каждый день; каждые 5 мин», «Пн,Ср,Пт; 03:00», «раз в 2 дн.»).

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

Флаги — предопределённое/пользовательское, включено/отключено, переопределено расширением.

Клик по заданию в режиме «Анализ функций» сразу открывает handler в табе «Функции» — можно провалиться в граф вызовов, перейти к исходнику в EDT через правый клик. В режиме «Граф вызовов» задание появляется над корневой функцией как отдельный узел-шестиугольник, соединённый с handler пунктирной стрелкой «триггер задания».

Вкладка «Внешние API»

Рядом с режимом «Граф вызовов» — четвёртый чип «Внешние API».

Переключатель сверху делит сервисы на HTTP и Web(SOAP). Для каждого сервиса — раскрывающаяся карточка со списком endpoint'ов или операций:

Имя сервиса, синоним, корневой URL.

Флаги 🔓 anony mous (публичный вход без аутентификации), 🔌<имя расширения> (сервис добавлен расширением), ||; отключён ; переопределено: <имя расширения>(расширение сменило handler).

Каждый endpoint — HTTP-метод, URL-шаблон, имя функции-обработчика.

Правый клик по строке endpoint — контекстное меню:

«Открыть в графе вызовов» — корень графа становится функцией handler'а, дальше обычный impact-обход.

«Открыть функцию в EDT» — если подключён EDT-мост, файл Module.bsl соответствующего сервиса открывается в редакторе с курсором на методе.

Расширения: три сценария

HTTP/Web-сервис может быть изменён расширением тремя способами, и все три видны в карточке:

  1. Свой сервис расширения — сервис с уникальным именем, не существующий в типовой; в карточке — тег 🔌<имя расширения>.
  2. Добавлен endpoint в существующий сервис — карточка сервиса остаётся типовой, а новая строка endpoint'а получает 🔌 и имя расширения.
  3. Переопределён handler через&Вместо — endpoint один, но у него появляется тег c98;<имя расширения>, а старый handler сохраняется в поле original_handler (видно в деталях).

То же — для регламентных заданий: собственные задания расширения видны в списке с тегом расширения, а заимствованные со сменой MethodName — с overridden_by.

Поддержка форматов загрузки

Парсеры регламентных заданий и HTTP/Web-сервисов одинаково работают для всех 5 форматов загрузки: ZIP-выгрузка, монорепо src/cf+ src/cfe/\*, отдельные git-репозитории, EDT одиночный проект и EDT workspace. В EDT плоская структура<urlTemp lates> и<op erations> переводится в cf-форму автоматически; русские имена методов(Получить, Добавить, Изменить, Удалить) без явного <htt p Method> маппятся на стандартные HTTP-глаголы GET/POST/PUT/DELETE.

 

 

Граф вызовов от функции

Версия 1.4.17

 

Граф вызовов от функции

Версия 1.4.17. Новый раздел «Граф вызовов» отвечает на вопрос, который раньше приходилось трассировать руками: что вообще выполнится, если я позову эту функцию?

Анализатор разворачивает forward-reachability не только по прямым вызовам, но и по подпискам на события, стандартным обработчикам модулей объекта и перехватам расширений — с явной пометкой мест, где статический анализ упирается в динамический вызов.

Граф вызовов от Претензии.ПередЗаписью демонстрирует прямые вызовы, подписку ПриУстановкеНовогоКода с обработчиком «УстановитьПрефиксИнформационнойБазы», перехват &Вместо функции «МенеджерОбъектаПоСсылке» расширением «УправлениеЛизингом» и два «тёмных» перехода через Выполнить().

Зачем это

Разработчик в типовой смотрит на процедуру и задаёт один и тот же вопрос: «что выполнится по цепочке, если её позвать?».

Прямой ответ есть только для явных вызовов — а в реальности цепочка уходит через подписки на события (OnWrite, Posting, Filling…), стандартные процедуры модуля объекта (ПередЗаписью, ОбработкаПроведения…) и перехваты расширений.

На типовой ERP с сотнями подписок и десятками расширений это часы на один анализ.

«Граф вызовов» делает BFS по всем четырём типам рёбер за один заход и показывает результат в виде кликабельного canvas на Cytoscape с dagre-раскладкой.

Что показывает граф

Один узел = одна функция или подписка. Цвет узла — тип объекта: Документ, Справочник, Общий модуль, Регистр сведений…

Рамка узла сигналит о его роли:

  • Золотая — корневая функция, с которой построили обход.
  • Фиолетовая — функция-перехватчик из расширения.
  • Красная штриховка — функция вызывает Выполнить(...) или аналог, дальше цепочка уходит «в темноту».
  • Красный пунктир — функция может не выполниться вовсе: есть &Вместо-перехват без ПродолжитьВызов().

Стрелки тоже разные — вид стрелки показывает характер перехода, а не тонет в ещё одной палитре:

Обозначения графа вызовов Обозначения связей в графе вызовов

Как это работает

На каждую функцию анализатор при загрузке запоминает, над какими объектами 1С она выполняет операции, способные триггерить события: .Записать(), .Провести(), .Удалить(), .Заполнить(), движения регистров и ещё около десятка методов.

Отдельно помечаются функции с динамическими вызовами: Выполнить, ВычислитьВыражение, ВызватьМетодОбъекта.

По этим данным строятся три новые edge-коллекции: функция → подписка, функция → стандартный обработчик и функция-перехватчик → перехваченная функция типовой.

Последнее — на уровне функций, а не модулей: для каждой &Перед / &После / &Вместо в расширении анализатор находит конкретное тело, запоминает его как обычную функцию и связывает с оригиналом.

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

Обход — BFS с ограничениями по глубине: по умолчанию 5, максимум 8, и числу узлов: 500, hard cap 2000. Дальше глубины или лимита граф обрезается, об этом явно говорится в правой панели.

Как пользоваться

Попасть в «Граф вызовов» можно двумя путями:

  • из «Анализа функций» правым кликом по строке функции → пункт «Исследовать вызовы». Корнем сразу станет выбранная функция;
  • через кнопку «Граф вызовов» в шапке сайдбара — открывается пустое состояние, функцию можно найти через поиск в заголовке или через хлебные крошки: Тип → Объект → Модуль → Функция. Каждый сегмент кликабельный и подтягивает следующий уровень каскадом.

В правой панели — управление обходом и статистика:

  • слайдер «Глубина» от 1 до 8 — меняется налету, граф перерисовывается;
  • чекбоксы «Учитывать подписки» и «Раскрывать динамические вызовы» — можно выключить, чтобы получить более «строгий» подграф без транзитивных раскрытий;
  • счётчики: сколько функций, подписок и «тёмных» переходов в графе, а также флаг truncated, если попали в лимит.

Клик по любому узлу подсвечивает все пути от корня до него — помогает понять, «как сюда вообще попадают».

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

Это forward reachability, а не точный call stack. Инструмент отвечает на вопрос «что МОЖЕТ выполниться», а не «что ВЫПОЛНИТСЯ при таких-то параметрах»: условия в коде не интерпретируются — это осознанный компромисс статического анализа.

Динамические вызовы не раскрываются. Выполнить, обращение по имени-строке, обработчики СКД и событий форм — помечаются «тёмным переходом» без детей. Альтернатива — комбинаторный взрыв и ложная уверенность.

&Вместо без ПродолжитьВызов() блокирует оригинал. Такая функция помечается красным пунктиром: её потомков в графе видно, но рядом стоит оговорка «может не выполниться».

Объект операции определяется эвристиками. Для ЭтотОбъект.Записать() внутри модуля объекта или для Документы.Х.СоздатьДокумент().Записать() — ок. Но если объект пришёл в локальную переменную сложным путём, ребро к подписке может не построиться. Таких около 5–15% по оценке на ERP.

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

Нужна перезагрузка конфигурации

Новые поля triggers и has_dynamic_call на функциях, edge-коллекции triggers_subscription, triggers_default_handler, intercepts_function и полноценная загрузка функций-перехватчиков из расширений появляются только при новой загрузке системы.

Для каждой конфигурации, которая должна использовать граф, нажмите «Перезагрузить» в интерфейсе.

До перезагрузки граф может показывать неполные данные — это ожидаемое поведение, не баг.

 

 

Анализ зависимостей объекта

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

  • Общие модули — какие модули вызываются из кода объекта
  • Справочники, Документы, Регистры — ссылки на реквизиты и обращения из кода
  • Перечисления, ПВХ — используемые значения
  • Роли — кто имеет права на этот объект
  • Расширения — какие расширения затрагивают объект

Заголовок показывает общее количество связей и путь: Документы › Реализация товаров и услуг  287/287. Фильтры «Тип», «Направление», «Права» позволяют сузить выборку.

 

Документ «Реализация товаров и услуг» — 287 связей: 156 общих модулей, 44 справочника, 29 документов, 27 регистров накопления

Таблица зависимостей

Каждая группа раскрывается в таблицу с колонками: имя объекта, тип метаданных, направление связи (ссылается на / используется в). Для документа «Реализация товаров и услуг» видно, с какими документами он связан — заказы клиентов, возвраты, резервирования. Клик левой кнопкой по строке таблицы показывает символьное имя объекта (программный идентификатор), правой кнопкой — переход к зависимостям выбранного объекта.

 

Связанные документы: заказы, возвраты, акты, резервирования

Анализ запросов к таблицам

Помимо вызовов модулей и ссылок реквизитов, Analyzer 1C анализирует обращения к таблицам через запросы. Инструмент находит конструкции ИЗ и СОЕДИНЕНИЕ с указанием типа метаданных и имени объекта в трёх источниках:

  • BSL-код — строковые литералы с текстом запросов в модулях объектов
  • Динамические списки форм — запросы в свойствах QueryText и ссылки в MainTable
  • Макеты СКД — запросы в наборах данных схем компоновки

Для каждого найденного обращения создаётся связь «Запрос к» / «Запрос из», включая обращения к табличным частям (Справочник.Номенклатура.Штрихкоды) и виртуальным таблицам регистров (РегистрНакопления.ОстаткиТоваров.ОстаткиРегистрСведений.Курсы.СрезПоследних).

Регистр сведений «Относительные курсы валют» в ERP УХ — 159 связей: 48 общих модулей и 31 документ обращаются к регистру через запросы (СрезПоследних), направление «Запрос из» показывает, кто читает данные

Нагрузочный анализ: выбрав регистр сведений или накопления, можно сразу увидеть, сколько объектов читают из него данные через запросы, а сколько — пишут (через ссылки реквизитов и вызовы). Например, в регистр сведений «Курсы валют» пишет 1 документ, а читают через запросы 20 модулей — это помогает оценить нагрузку и зону влияния при изменении структуры регистра.

 

 

Дополнительные возможности Analyzer 1C

Анализ ролей

Режим «Роли» в левой панели показывает все роли конфигурации с количеством объектов в каждой. При выборе роли — видно, на какие объекты она даёт права.

При выборе объекта в панели деталей отображаются все роли, которые на него ссылаются, с детализацией прав (чтение, добавление, изменение, удаление, RLS и т.д.). Фильтр «Права» позволяет отобрать связи по конкретным видам прав — например, показать только роли, дающие право удаления. Кнопка «Права: 7 из 16» означает, что выбрано 7 видов прав из 16 доступных для фильтрации.

Помимо прав, назначенных через конфигуратор, Analyzer 1C находит программные проверки ролей в коде — вызовы РольДоступна() и Пользователи.РолиДоступны(). Это позволяет увидеть полную картину: не только где роль даёт права на объекты, но и в каких модулях от неё зависит логика выполнения кода.

 

Роль «Администратор системы» в ERP УХ — 298 объектов, справочники с детализацией прав

Анализ подписок на событие

Подписки на события (EventSubscription) — один из самых «невидимых» источников поведения 1С. При записи документа, константы или набора записей регистра срабатывают процедуры из общих модулей, перечисленные в поле Handler подписок. Найти эти цепочки вручную очень сложно: в конфигураторе нужно открыть каждую подписку по отдельности и понять, какие объекты она затрагивает.

Analyzer 1C парсит раздел EventSubscriptions основной конфигурации и расширений, извлекает событие (ПередЗаписью, ПриЗаписи, ОбработкаПроведения и так далее), список источников и обработчик, и строит двунаправленные связи в графе: от объектов-источников к подписке и от подписки к общему модулю-обработчику.

Подписки отображаются в дереве типов в папке «Общие» — так же, как в конфигураторе 1С. Если подписка добавлена расширением, в дереве и в результатах поиска она помечается меткой «Доб. <Расширение>». Если расширение заимствовало базовую подписку, на ней показывается «Заимств. <Расширение>».

 

Детали подписки расширения Подписка «Отмена проведения цепочки документов» добавлена расширением «УправлениеЛизингом» к трём документам 1С:ERP. Управление холдингом. Обработчик — общий модуль «ЛизДопОбработчикиВызовСервера»

В карточке подписки сверху выводится заголовок с русским названием события (например, [Перед записью]) и меткой расширения, ниже — две группы: объекты-источники (направление «Подписан») и общий модуль-обработчик (направление «Вызывает»). Порядок строк отражает каноническую хронологию событий 1С: сначала обработка заполнения и проверка, затем «Перед записью» → «При записи» → «Обработка проведения», в конце — «Перед удалением».

Как применять на практике. При изменении общего модуля, который является обработчиком подписок, impact analysis автоматически проходит через цепочку subscribes → handled_by → calls и показывает все объекты, запись которых будет затронута. При диагностике медленной записи документа достаточно открыть его карточку и посмотреть блок «Подписки» — все подписки, срабатывающие при записи, видны как отдельные строки с отметкой хронологии события. Если на одном документе висит пять подписок «Перед записью», каждое сохранение последовательно вызывает пять процедур в общих модулях — вот и источник «тормозов».

Анализ качества кода: монстр-функции и метрики

Длинные процедуры — главная причина «страшно менять». Процедура на 2 000 строк с 80 ветвлениями и запросами в цикле обнаруживается случайно, когда уже поздно. Analyzer 1C считает метрики по каждой функции и выделяет проблемные прямо в интерфейсе.

Режим «Анализ функций» — отдельное дерево по типам объектов, где проблемные модули подсвечены сразу при открытии:

  • 🔴 Монстр-функция — хотя бы одна из четырёх причин: более 500 строк кода, более 50 ветвлений (Если/Пока/Для/Попытка), запросы к БД внутри цикла (N+1), более 10 вызовов .Выполнить() в одной функции.
  • 🟡 Предупреждение — функция приближается к опасным значениям: 200–500 строк, 20–50 ветвлений, 5–10 запросов.

В таблице функций модуля — цветная колонка «Строк» и «Ветв.», колонка «Запросов» с отметкой «N (M в цикле) при N+1». Строки текста запросов (начинающиеся с |) исключены из подсчёта: весь текст запроса считается за одну логическую строку и не влияет на оценку сложности.

Функции расширений в общем контексте. Если расширение добавляет новую функцию в заимствованный модуль или переопределяет существующую через &Вместо, &Перед, &После — они тоже появляются в списке с меткой 🔌 РасширениеХ. Для функций-перехватов считаются эффективные метрики: строки и ветвления самого перехватчика плюс оригинальной функции. Это даёт честную картину реальной нагрузки при поддержке этой связки.

Фильтры в таблице функций: «Все», «Предупреждения и выше», «Монстры», «Только расширения». При клике на функцию — правая панель с подробным объяснением: почему именно она попала в монстры и какие числа за этим стоят.

 

Заимствованный модуль «Ввод остатков внеоборотных активов» (расширение УправлениеЛизингом) — 8 функций, первая: 1344 строки, 50 ветвлений, 275 вызовов. Правая панель объясняет, почему функция попала в монстры

Конструктор профилей

Одна из ключевых задач при настройке прав — понять, какие итоговые доступы получит пользователь с определённым набором ролей. В конфигураторе 1С для этого нужно открыть каждую роль по отдельности и вручную сопоставить права. Если роли добавлены расширениями — задача усложняется многократно.

Конструктор профилей в Analyzer 1C решает это: вы отмечаете нужные роли чекбоксами (включая роли из расширений, помеченные «Доб.»), нажимаете «Показать итоговые разрешения» — и получаете объединённую картину: на какие объекты профиль даёт доступ, с какими правами, и из какой роли каждое право пришло.

 

Профиль из 2 ролей (398 объектов) — итоговые разрешения на справочники с детализацией прав

Результат показывает все объекты, к которым профиль даёт доступ, сгруппированные по типам: конфигурация, подсистемы, общие модули, справочники, документы, регистры. Фильтр «Права» позволяет отобрать только объекты с определёнными правами (чтение, изменение, удаление и т.д.). Помимо объектных прав, в итоговую картину включаются программные проверки ролей — вызовы РольДоступна() и Пользователи.РолиДоступны() в коде, которые могут влиять на поведение системы для пользователя с данным профилем.

Зачем это нужно: при аудите прав, при проектировании новой роли, при подключении расширения — сразу видно итоговую картину доступов. Не нужно вручную складывать права из нескольких ролей и расширений. А учёт программных проверок РольДоступна() показывает, где логика кода зависит от наличия роли — то, что невозможно увидеть в стандартном интерфейсе настройки прав.

Визуализация графа

Переключатель «Таблица / Граф» в правой панели позволяет визуализировать зависимости выбранного объекта в виде интерактивного графа. Узлы графа — связанные объекты, рёбра — типы связей (вызовы, ссылки, заимствования). Граф интерактивный: правый клик по узлу — переход к зависимостям этого объекта (навигация вглубь графа).

 

Граф зависимостей документа «Реализация товаров и услуг»

Статистика конфигурации

Вкладка «Инфо» показывает общую статистику загруженной конфигурации:

 

1С:ERP. Управление холдингом: 907 подсистем, 18 780 модулей, 341 925 функций, 110 489 вызовов

Загрузка конфигураций и расширений

После запуска Analyzer 1C нужно загрузить выгрузку конфигурации. Нажмите кнопку обновления (?) рядом с выбором системы — откроется меню со списком загруженных конфигураций и пунктом «Загрузить новую...».

 

Меню управления конфигурациями — загруженные системы, расширения и кнопка загрузки новой

В диалоге загрузки укажите имя папки (произвольное) и выберите ZIP-файл с выгрузкой конфигурации. Выгрузка создаётся в конфигураторе: Конфигурация ? Выгрузить конфигурацию в файлы (формат ZIP).

 

Загрузка ZIP-архива конфигурации — имя папки и выбор файла

Расширения загружаются аналогично: в конфигураторе откройте расширение, выгрузите его в файлы (ZIP), затем в Analyzer 1C загрузите в ту же папку, что и основная конфигурация. Инструмент автоматически определит расширение и привяжет его объекты к основной конфигурации — заимствования, переопределения и добавленные объекты будут отображаться с соответствующими метками.

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

Загрузка из Git

Если конфигурация хранится в git-репозитории, её можно загрузить напрямую. Переключите режим на «Git-репозиторий», укажите URL и при необходимости ветку (например, release или develop). Для приватных репозиториев укажите токен доступа либо в диалоге, либо в переменной окружения ANALYZER_GIT_TOKEN в файле .env — токен автоматически подставится при клонировании и последующих git pull.

 

Загрузка конфигурации из git-репозитория Диалог клонирования git-репозитория — имя папки, URL, ветка и токен доступа

 

 

Что нового в версии 1.3.52

Что нового

Свод ключевых фич на версию 1.3.52. Три возможности, которые меняют повседневную работу с анализатором: поиск неиспользуемых экспортов, предупреждения о рантайм-багах между клиентом и сервером, и прямая работа с EDT-проектами из git без ручной выгрузки в XML.

Мёртвые экспорты

Поиск экспортных процедур и функций в общих модулях, которых никто не вызывает по графу. Типичный кандидат на удаление, унаследованная «лишняя API-поверхность», мешающая рефакторингу и обновлению типовой.

Мёртвые экспорты в модуле ВидыПриложенийСервер Скриншот: мёртвые экспорты в модуле ВидыПриложенийСервер (1С:ERP. Управление холдингом)

Модули с мёртвыми экспортами в сайдбаре помечены жёлтым. В таблице функций буква «Э» у мёртвого экспорта оранжевая и жирная. В правой панели — отдельная секция «Мёртвый экспорт» с подсказкой, можно ли удалять безопасно или функция перехватывается расширением.

Фича учитывает вызовы из расширений: экспорт типовой, который зовёт расширение, мёртвым не считается. Экспорты в объектных модулях и модулях форм не помечаются намеренно — платформа часто обращается к ним динамически по имени-строке.

Инструмент — подсказка: перед удалением проверить вручную, не зовут ли функцию через Выполнить(), СКД или события форм.

Нарушения контекста (Сервер ↔A038; Клиент)

В управляемых формах каждая процедура исполняется в своём контексте: клиент, сервер или сервер без контекста формы. Вызов сервер → клиент — рантайм-баг: платформа кинет исключение, но обычно это ловится только при тестировании. Анализатор строит полный граф вызовов и находит такие пары заранее.

Нарушения контекста в модуле ОборудованиеЧекопечатающиеОблачныеККТВызовСервера

В сайдбаре модули с нарушением подсвечены красным — они попадают в фильтр «Монстры». В таблице появилась колонка «Ктх» с бейджем контекста (К — клиент, С — сервер, С* — сервер без контекста); красный маркер у функции означает исходящий вызов с конфликтом. В правой панели нарушившей функции — секция «Нарушения контекста» со списком конкретных переходов и указанием вызываемого метода.

Критерии:

  • Critical (красный) — сервер или сервер без контекста вызывает клиент. Гарантированный рантайм-баг.
  • Warning (жёлтый) — сервер без контекста вызывает сервер (источнику не хватает контекста формы).

Контекст берётся из аннотаций (&НаКлиенте, &НаСервере, &НаСервереБезКонтекста и их английских аналогов) и из свойств CommonModule (<Server>, <ClientManagedApplication> и т.д.) — если у функции нет явной аннотации, она наследует контекст от модуля.

Поддержка EDT-формата

Анализатор научился работать с конфигурациями напрямую в EDT-формате (1С:Enterprise Development Tools) — с файлами .mdo и .rights, без промежуточной выгрузки в XML из Конфигуратора. Это снимает лишний ручной шаг: выгрузили из git — сразу запустили загрузку.

Формат определяется автоматически, пользовательских действий не требуется. Доступно всё то же, что и для XML-выгрузки:

  • основная конфигурация — подсистемы, объекты, BSL-модули, ссылки реквизитов, запросы форм и СКД;
  • расширения — как соседние EDT-проекты; различаются заимствованные и новые объекты;
  • роли — объектные права и RLS (из .rights), плюс права уровня конфигурации;
  • подписки на события — источник, имя события, обработчик в формате CommonModule.Модуль.Метод.

Автоматическое размещение при клонировании

Основная конфигурация и каждое расширение в EDT живут в отдельных git-репозиториях. Раньше при клонировании надо было руками указывать подпапку (main, ext1…), и если ошибся — анализатор видел их как разные системы.

Теперь достаточно указать имя системы, остальное анализатор делает сам:

  • основная → conf/<система>/main/
  • расширение → conf/<система>/<ИмяРасширения>/ (имя берётся из самого расширения)

При повторном клонировании того же URL делается git pull в существующей папке — без дубликатов.

Фикс счётчика прав в дереве ролей

В левом сайдбаре у каждой роли теперь корректно показывается количество объектов, на которые у роли есть права. Раньше цифра всегда была нулевой из-за расхождения имён поля между бэкендом и фронтендом — особенно заметно было на конфигурациях с большим числом ролей (у ERP, например, 2000+ ролей и 44 тысячи прав). Права уровня конфигурации в счётчике не учитываются: они не привязаны к объектам и выведены в правой панели роли отдельной секцией.

Нужна перезагрузка конфигурации

Эти фичи опираются на данные, которые появляются только при новой загрузке системы. Для каждой конфигурации, которая должна использовать хотя бы одну из них, нужно нажать «Перезагрузить» в интерфейсе. До перезагрузки интерфейс может показывать неполные данные — это ожидаемое поведение, не баг.

 

Варианты организации репозитория

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

1

Монорепо

  • check Основная конфигурация — в src/cf/, расширения — в src/cfe/{имя_расширения}/.
  • check Один репозиторий — один клон, всё определяется автоматически.
2

Отдельные репозитории

  • check Основная конфигурация и каждое расширение в отдельном репозитории.
  • check Клонируются в подпапки одной папки (main/, ext1/, ext2/).
3

Одиночный репозиторий

  • check Репозиторий содержит только одну конфигурацию (основную или расширение).
  • check Формат выгрузки (git-sync или 1C:EDT) определяется автоматически.

Инструмент автоматически определяет, что является основной конфигурацией, а что расширением — по наличию ConfigurationExtensionPurpose в Configuration.xml. При повторной загрузке выполняется git pull: для монорепо — один раз, для отдельных репозиториев — в каждой подпапке.

 

 

Развёртывание

Analyzer 1C поставляется как готовый Docker-образ (~310 МБ). Для развёртывания нужен только Docker — ни Python, ни Node.js, ни ArangoDB устанавливать отдельно не требуется. Всё упаковано в образ.

Windows 10/11:

  1. Скачайте Docker Desktop
  2. Запустите установщик, перезагрузите компьютер
  3. Убедитесь, что Docker запущен (иконка в трее)

Ubuntu / Debian:

sudo apt update
sudo apt install -y docker.io docker-compose-plugin
sudo systemctl enable --now docker
sudo usermod -aG docker $USER
# Перелогиньтесь, чтобы применить группу

CentOS / RHEL / Astra Linux:

sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo yum install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
sudo systemctl enable --now docker
sudo usermod -aG docker $USER

Скопируйте на сервер пять файлов (распакуйте архив):

  • analyzer-1c-offline.tar — Docker-образ
  • docker-compose.prod.yaml — конфигурация запуска
  • deploy.sh (Linux) или deploy.bat (Windows) — скрипт деплоя
  • start.sh (Linux) или start.bat (Windows) — скрипт для повторного запуска
  • stop.sh (Linux) или stop.bat (Windows) — скрипт остановки

Linux:

bash deploy.sh

Скрипт использует sudo для команд Docker. Если ваш пользователь уже входит в группу docker и имеет права на запуск контейнеров без sudo — удалите sudo из команд в deploy.sh и stop.sh.

Windows (cmd или PowerShell):

deploy.bat

Скрипт загрузит образ, запустит контейнер и удалит архив. После запуска приложение доступно по адресу http://localhost:8000.

Для остановки:

Linux: bash stop.sh
Windows: stop.bat

Повторный запуск после остановки:

Linux: bash start.sh
Windows: start.bat

Откройте веб-интерфейс, в выпадающем списке систем выберите «Загрузить новую...» и укажите папку для загрузки и ZIP-выгрузку конфигурации или адрес git-репозитория и ветку, из которой надо грузить. Расширения должны загружаться в ту же папку, что и основная конфигурация, с другим именем архива. Разбор и загрузка ERP УХ (18 780 модулей) занимает около 5–10 минут. Можно загрузить несколько конфигураций и переключаться между ними.

 

 
Frame 1321315639.png

Технические требования

Работоспособность гарантируется:

  • Программа не задействует Платформу 1С.

  • Тестировалась выгрузка на 8.3.27.1719,

  • Но будет одинаково работать с любой платформой 1С, где реализована выгрузка данных конфигурации в файлы.

    На слайдах 1С:ERP. Управление холдингом (3.2.8.11)

Код открыт.

 

 
 НОВОЕ В ВЕРСИЯХ

Версия 1.4.17 - новый раздел «Граф вызовов»: показывает, что реально выполнится при вызове функции — прямые вызовы, подписки на события, стандартные обработчики (ПередЗаписью, ОбработкаПроведения и т.п.) и перехваты расширений (&Перед/&После/&Вместо на уровне функций, а не модулей), с явной пометкой мест, где цепочка уходит в динамический вызов Выполнить().

Версия 1.5.20 - появился раздел «Изучение подсистем» — режим знакомства с незнакомой конфигурацией 1С через её собственный язык: подсистемы. Слева — список всех подсистем, отсортированный по числу документов (служебные платформенные скрыты по умолчанию); клик по любой открывает карточку процесса с двумя видами — Список (инициирующие документы → промежуточные → завершающие, со ссылками друг на друга через регистры и проводки) и Граф (тот же путь визуально). Это даёт прямой ответ на вопрос «как здесь устроена работа», не заставляя вручную обходить дерево объектов: за минуты видно, с чего процесс начинается, чем заканчивается, и какие документы участвуют посередине. Любую подсистему можно вручную пометить как служебную через Y42;-меню — пометка сохраняется между сессиями.
Также в релизе появился раздел «Внешние API», который показывает все точки входа в конфигурацию в одном месте: HTTP-сервисы с их URL-шаблонами и обработчиками методов (GET/POST/PUT/DELETE), Web-сервисы (SOAP) с операциями и привязкой к BSL-функциям, регламентные задания с расписанием, расширением и handler-методом, а также подписки на события и планы обмена. Для каждой записи виден контекст исполнения (сервер/клиент/внешнее соединение) и быстрая ссылка на сам обработчик в коде. Это особенно полезно при аудите безопасности и интеграций: за одну страницу видно весь периметр взаимодействия системы с внешним миром, без необходимости вручную обходить ветки HTTPServices/, WebServices/, ScheduledJobs/ и прочие в дереве метаданных.

Версия 1.6.21 - функциональные опции — карта влияния

Анализатор научился разбирать функциональные опции конфигурации — и базовые, и те, что дополняются расширениями (такие отмечаются отдельно). Для каждой опции теперь видно две вещи: какие объекты и реквизиты она скрывает в интерфейсе, и какие функции в коде её проверяют и меняют поведение в зависимости от её значения. Дополнительно строится цепочка влияния по вызовам — до четырёх уровней вглубь, — чтобы было понятно, какие ещё функции и модули в итоге зависят от опции, пусть и не напрямую. Это помогает заранее оценить, что именно изменится у пользователя при включении или отключении опции и какие участки кода стоит проверить.

 

Версия 1.6.62 - В графе появились два новых вида объектов 1С, которые раньше анализатор не показывал: определяемые типы и планы видов характеристик (ПВХ). Теперь видно, какие конкретные справочники и документы скрываются за определяемым типом, какие предопределённые виды есть у ПВХ, в каком справочнике или регистре хранятся их значения и в каких реквизитах всё это используется. После обновления у уже загруженных систем нужно один раз нажать «Перезагрузить», чтобы новые ветки графа наполнились.

 

 

Техническая поддержка

Бесплатный период техподдержки составляет 1 месяц со дня покупки.

Также после приобретения вы получаете 1 месяц бесплатных обновлений.

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

1

Создать обращение (тикет)

Создать тикет

2

Заполнить данные

Контакты, номер заказа, подробное описание вопроса
Напишите порядок ваших действий с программой, приложите видео/скриншоты/отчеты об ошибке
Точную конфигурацию 1С, версии платформы, инструмента, СУБД

3

Дождаться ответа

Время ответа до 24 часов в рабочее время

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

Остались вопросы?

Для получения дополнительной информации и помощи в настройке модуля под нужды вашего бизнеса — оставьте заявку

Демоверсия Feedback Pro
Статистика:
Просмотры 5911
Загрузки 23
Рейтинг 38
Создание 17.04.26 09:30
Обновление 12.05.26 22:20
№ Публикации 2669235
Характеристики:
Теги

права роли расширения анализ конфигурации перехваты граф вызовов RLS аудит Analyzer 1C

Рубрики Инструментарий разработчика РАЗРАБОТКА Администрирование веб-серверов
Кому Системный администратор ,
Программист ,
Бизнес-аналитик ,
Руководитель проекта
Тип файла Архив с данными
Платформа 1С 8.3
Конфигурация Универсальные
Операционная система ОС
Страна Не имеет значения
Отрасль Не имеет значения
Налоги Не имеет значения
Вид учета Не имеет значения
Доступ к файлу Платные (руб)
Код открыт Да
1. GarriSoft 17.04.26 09:51 Сейчас в теме
Коллега, отличный инструмент!
2. SerVer1C 17.04.26 15:16 Сейчас в теме
Не по теме: а вы владеете инфой, когда у нас будет отечественный СтарЛинк ? А для физиков ?
4. Техподдержка 17.04.26 15:29
(2) На такие вопросы у нас отдел маркетинга отвечает. Могу только ссылку на открытые источники кинуть: https://rutube.ru/video/3b793bd3d4b0899f8b3308b2210f27f2/
3. Техподдержка 17.04.26 15:24
Обновил версию на 1.1.37 добавлен функционал анализа текстов запросов в модулях и СКД, чтобы можно было понимать, откуда запрашиваются объекты. Для обновления достаточно из нового архива достать tar-файл, перезапустить deploy.bat и, после обновления, перезагрузить конфигурацию.
5. Техподдержка 17.04.26 15:49
Коллеги, кто скачал, если не сложно - отпишитесь, все ли удалось без проблем поставить. Тема для 1С-ников непростая, с Docker большинство на "Вы", попытался максимально простой вариант установки сделать.
TaylerGyver; +1 Ответить
6. ixijixi 17.04.26 16:20 Сейчас в теме
Выбрали объект — зависимости, роли и связи отображаются за доли секунды. Для сравнения: «Поиск ссылок на объект» в конфигураторе 1С для крупной конфигурации вроде ERP может занимать минуты.
Выгрузить ЕРП - ЧАСЫ ))

А кроме шуток - крутой инструмент, спасибо!
7. Техподдержка 18.04.26 15:55
Выложена новая версия 1.1.55, добавлена возможность загружать не только отдельными ZIP-архивами, но и подключаться к репо, создаваемым git-sync или EDT (программа сама распознает формат), а также к монорепо, где и выгрузка cf и выгрузка cfe разложены по разным папкам. Добавлено удаление конфигураций. Также кратно увеличена скорость первоначальной загрузки больших конфигураций.
8. _Shan_ 18.04.26 18:10 Сейчас в теме
Правильно понимаю, что работает с любыми версиями платформы, в т.ч. 7.7.?
11. Техподдержка 18.04.26 19:11
(8) Нет. Работает только с версий 8.3 и выше
9. Tainiti 18.04.26 19:00 Сейчас в теме
Есть ли возможность подключить к репозиторию, чтобы постоянно не заниматься загрузкой zip архивов?
10. Техподдержка 18.04.26 19:10
(9) Да, скачайте новую версию. Там есть возможность подключить репозиторий github/gitlab.
17. GatoDelgado 22.04.26 06:26 Сейчас в теме
(10)
При подключении git (ERP в формате EDT) минут 30 индексировал все файлы. В итоге "нет конфигурации"
Прикрепленные файлы:
18. Техподдержка 22.04.26 11:23
(17) Добрый день. При работе с EDT, действительно, закралась ошибка, сегодня выложим новую версию, там для получения новой функциональности в любом случае придется перезагружать базу. В том числе в ней будет поправлена и ошибка работы с EDT-версией git. Индексировал сам гит, так что второй раз полчаса ждать не придется, локальный клон репо уже закачан.
19. Техподдержка 22.04.26 19:09
(17) Разместили новый файл релиза, теперь распознавание EDT формата происходит корректно (релиз должен быть 1.3.52). Чтобы избежать повторного закачивания перенесите все данные из папки внутри /conf, в которую вы закачивали git в подпапку main, включая скрытые файлы и папки, типа .git, после этого при повторной попытке обновления все данные должны загрузиться. Или просто удалите всю папку и загрузите заново, программа сама разместит конфигурацию в правильной папке.
23. 9093438 24.04.26 08:33 Сейчас в теме
(19)
на релизе 1.3.54 такая же ошибка
на релизе 1.4.17 такая же ошибка
24. Техподдержка 24.04.26 11:56
(23) Исходили из неверного предположения, что EDT проект всегда в корне лежит. Обновлено (1.4.36), теперь проект должен парсится на любой глубине репозитория и корректно подхватывать расширения, если они лежат внутри этого же репо. Лучше всего полностью снести из /conf старую папку и дождаться повторной синхронизации.
12. Техподдержка 19.04.26 13:27
🆕 1.2.15 — анализ подписок на события.

Видно, какие подписки сработают при записи документа, кто из расширений навесил свой код на чужой объект и где искать «тормоза» при сохранении. Бонусом: группа «Общие» в дереве типов, как в конфигураторе 1С, и фильтры больше не слетают при переключении между объектами.
13. Техподдержка 20.04.26 13:09
🆕 1.3.42 — анализ качества кода.

Добавил режим «Анализ функций» — находит процедуры, которые давно пора разбить.

По каждой функции считаются строки кода, ветвления, запросы к БД и запросы в цикле (N+1). Монстры (🔴) и предупреждения (🟡) видны прямо в дереве — не нужно открывать каждый модуль. Фильтр «Монстры» сжимает дерево до проблемных объектов: в ERP УХ таких 757 из 19 000.

Клик на функцию — правая панель объясняет почему монстр и какие числа за этим стоят. Для перехватчиков расширений (&Вместо/&Перед/&После) считаются эффективные метрики с учётом оригинальной функции.
14. dusenbaev_dv 21.04.26 11:53 Сейчас в теме
(13) А нельзя ли сделать, чтобы анализировались только отличия от родительских конфигураций, на поддержке от которых конфигурация находится?
15. Техподдержка 21.04.26 12:02
(14) Теоретически можно, но для этого надо парсить родительскую конфигурацию, при выгрузке в файлы zip она не попадает. Чтобы посчитать настоящую дельту, нужен отдельный выгруженный вендорский .cf (в Конфигураторе: Конфигурация → Поставщики → Сохранить конфигурацию поставщика в файл). Без него мы знаем только какие объекты сняты с поддержки, но не можем сказать что именно в них изменилось.
dusenbaev_dv; +1 Ответить
16. Техподдержка 21.04.26 12:05
(14) Сейчас в проработке идея сделать версионирование самих загрузок, чтобы можно было смотреть только изменения объектов от одной выгруженной версии к другой.
dusenbaev_dv; +1 Ответить
20. Техподдержка 22.04.26 19:12
🆕 1.3.52 — мёртвые экспорты в общих модулях, нарушения контекста сервер ↔ клиент в управляемых формах и поддержка EDT-формата конфигураций с автораспознаванием основной конфигурации и расширений при клонировании из git.
21. Техподдержка 23.04.26 20:54
🆕 1.4.17 — новый раздел «Граф вызовов»: показывает, что реально выполнится при вызове функции — прямые вызовы, подписки на события, стандартные обработчики (ПередЗаписью, ОбработкаПроведения и т.п.) и перехваты расширений (&Перед/&После/&Вместо на уровне функций, а не модулей), с явной пометкой мест, где цепочка уходит в динамический вызов Выполнить().
22. Техподдержка 24.04.26 00:35
Небольшой анонс. Будет интересен тем, кто работает с EDT
Прикрепленные файлы:
AnalizerEDT.mp4
25. Техподдержка 28.04.26 22:15
🆕 1.5.20 — появился раздел «Изучение подсистем» — режим знакомства с незнакомой конфигурацией 1С через её собственный язык: подсистемы. Слева — список всех подсистем, отсортированный по числу документов (служебные платформенные скрыты по умолчанию); клик по любой открывает карточку процесса с двумя видами — Список (инициирующие документы → промежуточные → завершающие, со ссылками друг на друга через регистры и проводки) и Граф (тот же путь визуально). Это даёт прямой ответ на вопрос «как здесь устроена работа», не заставляя вручную обходить дерево объектов: за минуты видно, с чего процесс начинается, чем заканчивается, и какие документы участвуют посередине. Любую подсистему можно вручную пометить как служебную через ⋮-меню — пометка сохраняется между сессиями.
Также в релизе появился раздел «Внешние API», который показывает все точки входа в конфигурацию в одном месте: HTTP-сервисы с их URL-шаблонами и обработчиками методов (GET/POST/PUT/DELETE), Web-сервисы (SOAP) с операциями и привязкой к BSL-функциям, регламентные задания с расписанием, расширением и handler-методом, а также подписки на события и планы обмена. Для каждой записи виден контекст исполнения (сервер/клиент/внешнее соединение) и быстрая ссылка на сам обработчик в коде. Это особенно полезно при аудите безопасности и интеграций: за одну страницу видно весь периметр взаимодействия системы с внешним миром, без необходимости вручную обходить ветки HTTPServices/, WebServices/, ScheduledJobs/ и прочие в дереве метаданных.
Прикрепленные файлы:
26. Техподдержка 03.05.26 19:50
🆕 1.6.21 — Функциональные опции — карта влияния
Анализатор научился разбирать функциональные опции конфигурации — и базовые, и те, что дополняются расширениями (такие отмечаются отдельно). Для каждой опции теперь видно две вещи: какие объекты и реквизиты она скрывает в интерфейсе, и какие функции в коде её проверяют и меняют поведение в зависимости от её значения. Дополнительно строится цепочка влияния по вызовам — до четырёх уровней вглубь, — чтобы было понятно, какие ещё функции и модули в итоге зависят от опции, пусть и не напрямую. Это помогает заранее оценить, что именно изменится у пользователя при включении или отключении опции и какие участки кода стоит проверить.
27. Техподдержка 06.05.26 18:50
🆕 1.6.62 - В графе появились два новых вида объектов 1С, которые раньше анализатор не показывал: определяемые типы и планы видов характеристик (ПВХ). Теперь видно, какие конкретные справочники и документы скрываются за определяемым типом, какие предопределённые виды есть у ПВХ, в каком справочнике или регистре хранятся их значения и в каких реквизитах всё это используется. После обновления у уже загруженных систем нужно один раз нажать «Перезагрузить», чтобы новые ветки графа наполнились.
Для отправки сообщения требуется регистрация/авторизация

См. также

Database Compression Tool: Инструмент для свертки и сжатия баз данных 1С

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP, УНФ, КА и т.д.). Поддерживаются серверные и файловые базы, управляемые и обычные формы. Может выполнять све...

24900 руб.

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

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

16500 руб.

Вайбкодинг в 1С = Infostart MCP серверы

Первые попытки разработки на 1С с использованием больших языковых моделей (LLM) могут разочаровать. LLMки сильно галлюцинируют, потому что не знают устройства конфигураций 1С, не знают нюансов синтаксиса. Но если дать им подсказки с помощью...

15250 руб.

Infostart Dashboard: Монитор показателей, виджеты и дашборды в 1С 8.3

Создайте свой функциональный интерфейс в любой конфигурации 1С с помощью расширения Infostart Dashboard. Настраивайте панели виджетов с метриками, индикаторами и показателями на начальном экране. Узнайте возможность внедрения подсистемы ...

31720 руб.

Infostart PrintWizard (конструктор печатных форм)

Расширение для создания и редактирования печатных форм в системе 1С:Предприятие 8.3. Благодаря конструктору можно значительно снизить затраты времени на разработку печатных форм, повысить качество и прозрачность разработки, а также навести ...

22570 руб.

Infostart DataFormWizard: Управление вводом данных в 1С 8.3

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

17000 руб.

Infostart MagicInput – улучшенный поиск по строке в 1С

Infostart MagicInput улучшает подбор в полях ввода 1С: ищет по любой части названия и по нескольким ключевым фрагментам, распознаёт ввод в другой раскладке и показывает иконки/статусы объектов прямо в списке. Поддерживает вставку навигацион...

6000 руб.

OneDebugger - инструмент для отладки кода в 1С без использования конфигуратора

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

9500 руб.

1С.Информер

Сбор заказов, инвентаризация, проверка ценников, просмотр полной информации об остатках и ценах со смартфона Онлайн - все это содержит в себе решение 1С "Штрихкод-информер" (штрих-код чекер). Отправка данных со смартфона выполняет...

3050 руб.