Картинка - Analyzer 1C — единый граф типовой и расширений плюс инструмент обновления поставки. Сложные обновления конфигураций за дни, вместо недель работы, даже если конфигурация поставщика в расширении

Analyzer 1C — единый граф типовой и расширений плюс инструмент обновления поставки. Сложные обновления конфигураций за дни, вместо недель работы, даже если конфигурация поставщика в расширении

Analyzer 1C сводит выгрузку 1С — основную конфигурацию и все расширения — в единый граф знаний. Любой запрос по связям за доли секунды, с пометками «Доб.» / «Заимств.» / «Переопределено». Новое в 2.0 — обновление поставки: сравнение и объединение версий деревом «как в Конфигураторе» с выгрузкой плана решений; поиск конфликтов из-за перехватов расширений и висячих ссылок; загрузка из бинарных .cf/.cfe; циклические зависимости. Плюс анализ влияния, запросы BSL, роли и RLS, граф вызовов. Минута на развёртывание через Docker без необходимости подключения к Интернет. Любая 1С:Предприятие 8.3+.

Арт.: 2669235

Продано: 23

Community-Лицензия

3 000 руб.

Лицензия (основной продукт)

14 000 руб.

Выгодный пакет

34 000 руб.

Продление обновлений

6 900 руб.

24 900 руб.

Техподдержка

6 000 руб.

Analyzer 1C — единый граф типовой и расширений плюс инструмент обновления поставки

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

В линейке 2.0 анализатор стал ещё и инструментом обновления поставки: сравнивает и объединяет версии конфигурации деревом «как в Конфигураторе», загружает бинарные файлы поставки .cf/.cfe напрямую и находит скрытые конфликты обновления. На примере 1С:ERP. Управление холдингом (28 342 модуля, 699 793 функции, 2 032 роли) инструмент помогает архитектору, аналитику безопасности и разработчику ориентироваться в крупной конфигурации и получать ответы на «межсущностные» вопросы за один клик.

  • Сравнение и объединение версий деревом «как в Конфигураторе» с выгрузкой готового плана решений
  • Скрытые конфликты обновления: типовую функцию подменяет перехват расширения, висячие ссылки на удаляемые функции
  • Сквозные пометки «Доб.» / «Заимств.» / переопределения — виден вклад каждого расширения
  • Анализ влияния, запросы BSL, роли и RLS, граф вызовов, циклические зависимости модулей
  • 6 форматов загрузки: ZIP-выгрузка, монорепо, отдельные репозитории, EDT-проект, EDT workspace и бинарные .cf/.cfe
Ключевая идея: 
Сущность на экране всегда снабжена пометкой о происхождении: создана ли она расширением целиком (Доб.), является ли типовой, дополненной расширением (Заимств.), или это переопределённый обработчик. Маркеры сквозные — они работают в дереве типов, карточках объектов, ролях, параметрах сеанса, функциональных опциях, графе вызовов и конструкторе профилей. Понять «что фактически работает» в типовой плюс N расширений становится задачей одного клика, а не часовой ручной сверки.

 

Две версии в одной поставке: Community и полная

Анализатор поставляется в двух вариантах. Community — версия с минимальной стоимостью: полноценный граф одной конфигурации с расширениями, все срезы анализа (дерево типов, карточки объектов и ролей, RLS, параметры сеанса, функциональные опции, граф вызовов, циклы, запросы BSL). Полная версия снимает ограничение на число систем и добавляет инструмент обновления поставки и подключение ИИ-агентов.

Возможность Community Полная версия
Граф типовой и расширений, все срезы анализа + +
Загруженных систем одновременно 1 без ограничения
Сравнение и объединение версий, выгрузка плана для Конфигуратора +
Внешнее API для чтения графа +
Подключение ИИ-агентов по протоколу MCP +

Под ограничение в Community попадают именно эти возможности — всё остальное доступно без урезаний. Перейти на полную версию можно в любой момент, не переустанавливая продукт.

 

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

1

Граф знаний конфигурации

Парсер читает выгрузку 1С (ZIP, EDT-проект, монорепо, отдельные репозитории, EDT workspace и бинарные .cf/.cfe) и строит граф: объекты, модули, функции, права, RLS, подписки, регламенты, обработчики обновления, состав определяемых типов, XDTO-пакеты, запросы BSL.

2

Импакт-анализ

«Что сломается, если изменю эту функцию, удалю этот объект, отключу этот регламент» — с транзитивным проходом через подписки на события, регламентные задания и переопределения в расширениях.

3

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

Кто читает и пишет объект через язык запросов 1С — в модулях, формах (динамические списки) и макетах СКД. Текст запроса разворачивается прямо в карточке, флаг СКД-фильтра и счётчик соединений видны в таблице.

4

Роли, RLS и безопасность

Матрица «роль × объект × право», текст RLS-выражений в один клик, программные проверки РольДоступна. Пометка PRIV на функциях, выставляющих привилегированный режим перед установкой параметра сеанса.

5

Расширения видны везде

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

6

Cross-cutting объекты 1С

Параметры сеанса, обработчики обновления ИБ, критерии отбора, XDTO-пакеты, определяемые типы, планы видов характеристик, функциональные опции, общие команды — все теперь полноценные вершины графа со своими карточками.

7

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

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

8

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

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

9

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

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

 

Обновление поставки — главное в линейке 2.0

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

 

Сравнение версий деревом «как в Конфигураторе»

дерево сравнения версий (тип метаданных U94; объект U94; функции внутри, легенда фильтров, кнопка «Выгрузить настройки объединения»)

Раньше сравнение версий показывало плоские списки изменённых объектов и функций. Теперь это дерево по образцу штатного «Сравнения и объединения конфигураций» 1С:

  • Тип метаданных — Справочники, Документы, Общие модули, Роли, Регламентные задания и т.д. Общий функционал собран в папку «Общие» вверху, как в дереве типов.
  • Конкретный объект — подписан синонимом, с цветным маркером статуса слева: добавлен, удалён или изменён.
  • Что изменилось внутри — изменённые функции, реквизиты, формы и макеты. Функция всегда показана внутри своего объекта-владельца, а не отдельным плоским списком.

Дерево занимает треть ширины, окно просмотра изменений — остальное. Сразу видна привычная по Конфигуратору картина «что обновилось» без ручного перебора. Фильтры по категориям (конфликт, обновится само, моё сохранится, новое у вендора, удалено вендором) оставляют в дереве только нужное.

Окно кода: две и три колонки, подсветка BSL

окно кода функции: три колонки (Прошлая поставка / Новая поставка / Текущая конфигурация) с подсветкой синтаксиса BSL и панелью «Результат объединения»

Клик по изменённой функции открывает окно с её телом. В обычном сравнении двух версий — две колонки «моё ↔ эталон», при обновлении поставки — три колонки: Основная, Поставщик и База (трёхсторонняя сверка). Отдельной секцией показаны переопределения функции из расширений.

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

Рекомендации, решения и выгрузка настроек

дерево с выбором решения по каждой строке и кнопкой выгрузки настроек объединения для Конфигуратора

Сравнение доведено до полноценного инструмента обновления поставки:

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

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

Важно. Выгрузка настроек объединения пока в разработке. Используйте её только с обязательной проверкой: перед применением сверяйте предложенные решения и итоговый код в Конфигураторе. Ответственность за корректность объединения и сохранность конфигурации полностью лежит на пользователе.

Скрытый конфликт обновления из-за перехвата расширением

В дереве сравнения такое изменение помечается как конфликт: в подсказке указано, в каком расширении лежит перехват, который нужно пересмотреть перед обновлением.

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

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

Проверка висячих ссылок при удалении функции

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

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

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

 

Загрузка из бинарных .cf / .cfe и циклы зависимостей

Ещё две крупные возможности 2.0: загрузка поставки прямо из бинарного контейнера 1С — без предварительной выгрузки в файлы — и поиск циклических зависимостей между модулями.

Бинарные .cf и .cfe — шестой способ загрузки

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

список версий и кнопка «Добавить поставку (.cf/.cfe)»

Циклические зависимости между модулями

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

граф циклической зависимости с подсветкой слабого ребра

 

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

Интерфейс разделён на две части: слева — дерево навигации и кнопки специализированных экранов (Парам.сеанса, Опред.типы, Крит.отбора, XDTO-пакеты, Обновление ИБ, Функц.опции, Планы ВХ, Конструктор профилей, Анализ функций, Граф вызовов, Изучение подсистем, Внешние API), справа — карточка выбранной сущности. Базовое переключение режима — через вкладки «Подсист.», «Типы», «Роли», «Инфо».

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

Дерево типов

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

 

дерево типов слева: метаданные сгруппированы по видам; у объектов из расширения — золотистый маркер «Доб.», у дополненных типовых — фиолетовый «Заимств.»

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

 

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

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

 

дерево подсистем: состав каждой подсистемы; вклад расширения помечен (например «БКИ:Администрирование» — «Доб. УправлениеЛизингом»)

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

 

Поиск

Мгновенный поиск по всем сущностям одновременно: модули, справочники, документы, роли, подсистемы, параметры сеанса, функциональные опции, XDTO-типы. Поиск идёт по синониму, а не только по символьному имени (Ctrl+Shift+N в Конфигураторе ищет только по имени). Результаты группируются по типам и появляются по мере ввода. Объекты, добавленные или дополненные расширениями, помечены / с именем расширения — сразу видно, что пришло из расширения, а что из основной конфигурации.

 

поиск по имени и синониму: результаты сгруппированы по типам метаданных; заимствованные расширением объекты подсвечены маркером «Заимств.»

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

 

 

Возможности анализа: запросы BSL, безопасность и cross-cutting объекты

 

 

За последний год Анализатор закрыл весь приоритетный трек cross-cutting объектов 1С — команды объектов и общие команды, параметры сеанса с RLS, обработчики обновления информационной базы, критерии отбора, XDTO-пакеты с визуальным графом связей, определяемые типы и планы видов характеристик. На вершине этого — анализ запросов BSL (фича 10): обратный индекс «кто читает / пишет объект через язык запросов 1С» во всех источниках сразу — модули, формы (динамические списки) и макеты СКД.

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

Анализ запросов BSL — обратный индекс

вкладка «Запросы» в карточке регистра — обратный индекс читателей и писателей по таблицам

Вкладка «Запросы» в карточке документа — читатели и писатели в одной таблице

Конфигуратор показывает текст конкретного запроса в момент, когда вы открываете модуль. Но обратный вопрос — «кто читает этот документ в запросах 1С» — стандартными средствами не решается: нужен полнотекстовый поиск по всем модулям, формам и макетам СКД, и потом ручная сверка результатов.

Анализатор парсит все BSL-запросы во время загрузки конфигурации и строит обратный индекс: для каждого объекта (справочника, документа, регистра) известно, в каких функциях, формах и СКД-макетах он участвует как источник или приёмник. В карточке объекта появилась вкладка «Запросы».

Что внутри:

  • Читатели — функции, формы и макеты, выбирающие данные этого объекта.
  • Писатели — функции, которые записывают в объект.
  • Для каждой строки: модуль, строка кода, источник (BSL, макет СКД или динамический список формы), признак СКД-фильтра, индикатор наличия параметров, число соединений в запросе.
  • Текст запроса разворачивается рядом со строкой или открывается в отдельном окне.
  • Дедупликация рёбер: один и тот же запрос на нескольких источниках агрегируется с указанием числа источников.

Маркеры расширений — те же /  применительно к функции, содержащей запрос: видно, что чтение типового объекта идёт из BSL расширения. При обновлении типовой это критично: изменение реквизита типового документа может сломать запрос расширения, который ссылается на этот реквизит по имени.

Кейс. «Удаляем реквизит "СтавкаНДС" из документа "ОтчётКомитенту" — какие запросы конфигурации и расширений сломаются?» Карточка документа → вкладка «Запросы» → разворачиваем текст каждого запроса с reads → ищем упоминания СтавкаНДС в SELECT или WHERE. Если хоть один запрос есть в расширении — это обязательная зона рефакторинга расширения.

Параметры сеанса и точки RLS

карточка параметра сеанса: где он устанавливается, пометка PRIV у привилегированных функций, точки RLS

Карточка параметра сеанса с RLS-выражениями — четыре секции в одном окне

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

Где смотреть. Кнопка «Парам.сеанса» в левой панели. Слева список всех параметров со счётчиками (типов в составе, BSL-функций, которые пишут и читают, RLS-выражений). Справа — карточка из четырёх секций:

  • Состав типов — ссылочные типы и примитивы значения параметра; типы, добавленные расширением, помечены.
  • Устанавливают — функции, которые присваивают параметр. Стандартный БСП-обработчик УстановкаПараметровСеанса выделен красной плашкой PRIV — это привилегированный setter, в котором значение фиксируется на сеанс и подставляется в RLS.
  • Читают — функции, ссылающиеся на параметр в любых других позициях (правая часть присваивания, условие, текст запроса).
  • Используется в RLS — таблица RLS-выражений ролей, где параметр упоминается как &Имя или ПараметрыСеанса.Имя. Каждая строка показывает роль, объект, право и полный текст условия — RLS можно прочесть, не открывая роль в EDT.

Масштаб. 1С:ERP. Управление холдингом — 121 параметр сеанса, 305 установок, 767 чтений, 7 002 RLS-выражения в 2 032 ролях. Из них 5 параметров одновременно задаются в УстановкаПараметровСеанса и используются в RLS — то есть ошибка в их установке может тихо изменить поведение RLS-фильтров без предупреждений со стороны платформы. На реальной 1С:ERP. Управление холдингом параметр ОграничениеДоступаНаУровнеЗаписейУниверсально устанавливается в привилегированном режиме функцией УстановкаПараметровСеанса модуля УправлениеДоступомСлужебный и используется в 6 924 RLS-выражениях. Понять «насколько это безопасно» требует архитекторской экспертизы, но сам факт обнаружения такого пути занимает один клик.

Команды объектов и общие команды

вкладка «Команды» в карточке справочника — команды объекта, их группа и какие роли их видят

Команды объектов в карточке справочника — третья «точка входа» рядом с регламентами и HTTP-сервисами

В графе появился большой класс объектов 1С, до которого раньше анализатор не добирался — команды. И обычные пользовательские команды конкретных объектов («Создать на основании», «Печать счёта», «В отбор»), и общие команды конфигурации (CommonCommands), которые выполняются независимо от формы. Команды — это третья «точка входа» в логику конфигурации рядом с регламентными заданиями и HTTP/Web-сервисами.

Где смотреть.

  • В карточке справочника, документа, регистра, отчёта или обработки — вкладка «Команды (N)» рядом со «Связями» и «Функциями». В таблице: имя команды (с синонимом), её группа (FormCommandBarImportant, CommandGroup.усУстановитьСтатус) и счётчик ролей с правом Use (клик раскрывает список ролей).
  • В дереве типов слева — ветка «Общие команды N» рядом с «Общие модули» (например, 526 общих команд в 1С:ERP.УХ). В карточке общей команды виден список ролей, которым выдан Use.

Расширения маркируются прямо в строке: — команда добавлена расширением, — типовая команда переопределена расширением. Это закрывает класс вопросов аудита «эту команду добавил лизинг» / «эту команду переопределило Бюро1440».

Парсер ролей раньше выбрасывал имена прав вида <Object>.Command.<X> и CommonCommand.<X> — теперь они корректно резолвятся в рёбра grants к команде-vertex’у. На крупных типовых это десятки тысяч новых рёбер, делающих аудит безопасности полным: 1С:ERP. Управление холдингом — 1 619 команд (включая 41 от расширения «Управление лизингом»).

Карта миграций БСП: обновление ИБ

обработчики обновления ИБ по версиям БСП — процедура, очередь и режим выполнения

Обработчики обновления — режим «Между версиями»

Для внедренцев типовых конфигураций. Анализатор видит карту миграций между версиями БСП: полный список обработчиков ОбновлениеИнформационнойБазы.ПриДобавленииОбработчиковОбновления, разнесённый по подсистемам и версиям. Это даёт прямой ответ «что отработает при апгрейде с версии X до Y» — без чтения кода БСП и без запуска тестового обновления.

Где смотреть. Кнопка «Обновление ИБ» в левой панели. Слева список БСП-подсистем (сортировка по числу обработчиков, с поиском). Справа — два режима:

  • Все обработчики — таблица, в которой каждая запись массива Обработчики.Добавить — отдельная строка: версия с цветной подсветкой, процедура в формате <ОбщийМодуль>.<Метод> или <Документы|Справочники|Регистры…>.<Объект>.<Метод>, очередь, режим (Seamless / Deferred / Exclusively), комментарий. Имя процедуры красное с пометкой «unresolved», если функция-реализация отсутствует (сигнал об устаревших обработчиках). Правый клик на резолвленной процедуре — «Открыть в графе вызовов» и «Перейти к связям модуля».
  • Между версиями — два выпадающих списка «С версии» / «До версии» с числом обработчиков рядом. Результат — точный чек-лист, что отработает при апгрейде, с уже посчитанной очерёдностью. Каждая подсистема БСП имеет независимый таймлайн — это явно подсвечено плашкой, чтобы никто не пытался смешивать версии разных подсистем.

Расширения. Если расширение добавляет собственный общий модуль с процедурой ПриДобавленииОбработчиковОбновления (типичный паттерн отраслевых надстроек), его обработчики попадают в общий список с тегом. На реальной ЕРПУХ + Управление лизингом это 8 дополнительных миграций модуля лиз_ОбновлениеИнформационнойБазы.

Цифры. 1С:ERP. Управление холдингом — 903 обработчика обновления в 117 подсистемах, резолв 98,0 % (885 из 903). Остальные ссылаются на отсутствующие процедуры — кандидаты на чистку устаревших обработчиков.

XDTO-пакеты и критерии отбора

граф связей XDTO-типа — свойства, атрибуты, фасеты с легендой

Граф связей XDTO-типа — свойства, атрибуты, фасеты, легенда

XDTO-пакеты — схемы данных Web-сервисов 1С (по сути XSD в формате 1С). Раньше у Web-операции XDTOValueType был просто строкой prefix:Local; теперь это полноценные узлы со своими свойствами и связями. Доступны: список типов пакета (объектные и valueType), наследование, кардинальности свойств, форма (Element / Attribute / Text), список Web-операций, использующих тип, обратная связь «в каких других типах текущий тип используется как тип свойства». Расширения обрабатываются единообразно тремя способами: свой пакет с уникальным targetNamespace, дополнение типового пакета новым типом, дополнение существующего объектного типа новыми свойствами — все три отмечаются маркерами /  в карточке.

Кнопка «Граф связей» в карточке типа открывает визуальную карту: дерево раскрывается слева направо лесенкой, каждый узел — отдельная сущность с собственным +/−. Под корнем выбранного типа идут свойства, рядом — кардинальность ([0..1], [1..1], [0..∞]) и имя типа значения. Цветные плашки: голубая — сам XDTO-тип, жёлтая — свойство-элемент, бирюзовая — XML-атрибут, зелёная — Web-операция (со стрелками →/←/ по направлению параметра), серая — фасета valueType (значения, шаблон, длина). Можно «провалиться» в Patch → AppliedFor → SupportedConfiguration без переключения карточек.

Критерии отбора — ещё один cross-cutting объект, теперь самостоятельная вершина графа со своим составом, типом значения и BSL-использованиями. Кнопка «Крит.отбора» в левой панели открывает список со счётчиками ( типов значения, объектов в составе, резолвлено, использований в BSL). Карточка из трёх таблиц: тип значения, состав (полный список путей Document.X.Attribute.Y; элементы расширений маркируются ), использование в BSL (функции с обращением КритерииОтбора.<Имя>). Это упирает критерий в impact-граф изменений.

 

Перезагрузка обязательна. Все большие фичи добавляют в граф новые коллекции вершин и рёбер. Для систем, загруженных на старых версиях, нужно нажать «Перезагрузить» в шапке системы — иначе соответствующие разделы будут пустыми. Если в системе есть расширения и нужно обновить только ext-вклад, работает «Перезагрузить расширения» — все cross-cutting фичи закрывают ext-only reload корректно: числа vertex и рёбер совпадают с полной загрузкой.

 

 

Анализ функций и Граф вызовов

Самая «движковая» часть инструмента: импакт-анализ кода. Граф вызовов BSL построен на основе разбора всех модулей конфигурации и расширений. Рёбра — не только прямые вызовы, но и триггеры записи объектов, подписки на события, регламентные задания, обработчики обновления, RLS-условия и шаблоны ограничений.

 

 

Граф вызовов отвечает на вопрос «что случится, если я изменю эту функцию / удалю этот объект / отключу этот регламент». В Конфигураторе аналогичный запрос требует ручного полнотекстового поиска по коду и сверки результатов; в крупной конфигурации он занимает минуты или часы. В Анализаторе тот же запрос — это обход предварительно построенного графа в ArangoDB, и ответ появляется за доли секунды.

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

Анализ функций

раздел «Анализ функций» с фильтром «Монстры» — крупнейшие функции, строки и вызовы

Левая панель в режиме «Анализ функций» показывает то же дерево типов, но переключатель сверху правой панели — «Все / Пред. и выше / Монстры». Это фильтр по числу вызовов и метрикам функции: «монстр» — функция с одной из четырёх причин: более 500 строк кода, более 50 ветвлений (Если / Пока / Для / Попытка), запросы к БД внутри цикла (N+1), более 10 вызовов .Выполнить в одной функции.

В карточке модуля — таблица функций с колонками: имя, длина, число вызывающих, число вызываемых, флажки динамического вызова, триггеров BeforeWrite/OnWrite/Posting, признак has_dynamic_call (Выполнить/ВызватьМетодОбъекта — статически не раскрывается). Строки текста запросов (начинающиеся с |) исключены из подсчёта: весь текст запроса считается за одну логическую строку и не влияет на оценку сложности.

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

граф вызовов от функции — легенда цветов узлов и типов стрелок (подписки, &Вместо, динамические вызовы)

Отдельный режим (кнопка «Граф вызовов» в левой панели). Вы выбираете функцию в дереве или через поиск; справа открывается граф со стрелками calls in (кто вызывает выбранную функцию) и calls out (что выбранная функция вызывает дальше). Граф интерактивный: можно зумировать, двигать узлы, кликать на узел для перехода в его карточку.

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

В каждом узле графа отображается имя функции, синоним модуля (для общих модулей — имя модуля; для модулей объекта — синоним объекта-владельца), и маркер расширения, если функция или модуль из расширения. Узлы можно фильтровать по типу метаданных и направлению связи.

Точки нагрузки и проблемные модули

Фильтр «Пред. и выше / Монстры» в разделе «Анализ функций» выделяет функции по «массе» в графе вызовов:

  • Предупреждение — функции приближаются к опасным значениям: 200–500 строк, 20–50 ветвлений, 5–10 запросов. Изменение такой функции с большой вероятностью ломает существенный объём кода — рисковая зона при обновлении.
  • Монстр-функция — самые «нагруженные» функции и модули-гиганты, на которые опирается большая часть конфигурации. Первые кандидаты на рефакторинг и тщательное тестирование при обновлении типовой.

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

Кейс. Общий модуль «Хозяйственные операции» (НастройкиХозяйственныхОпераций) — функция ПриНачальномЗаполненииЭлементов: 24 266 строк и 991 ветвление. Это первый кандидат на рефакторинг при следующем апгрейде, и видно это до того, как обновление поломает что-то на тестовой ИБ.

Расширения в графе вызовов

Граф объединяет вызовы из типовой и из расширений в одну сеть:

  • Доб. <имя расширения> на узле — функция из расширения;
  • Заимств. <имя расширения> на узле типовой функции — расширение её «перехватывает» (своя функция-перехватчик типовой через &Перед, &После, &Вместо);
  • имя расширения — обработчик регламентного задания или конечной точки HTTP подменён расширением.

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

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

 

Безопасность — сводный сценарий

Программа не проверяет «правильно ли настроена безопасность» — это решает архитектор по политике организации. Зато программа собирает материал для такого решения: тексты RLS-условий, привилегированные установки параметров сеанса, сводную матрицу прав. Эти материалы разбросаны по разделам «Парам.сеанса», «Роли», «Констр.профилей»; здесь они сведены в общий поток в трёх плоскостях.

RLS — ограничения на уровне записей

Полезные выборки из карточки роли и параметра сеанса:

  • Найти роли, у которых дано Изменение на чувствительный справочник без RLS-ограничения — могут менять любую запись.
  • Посмотреть текст RLS-условия каждой пары «роль объект» и убедиться, что условие действительно ограничивает данные (а не сводится к &Истина).
  • Найти параметры сеанса, на которые опираются RLS-условия — если такой параметр устанавливается в привилегированном режиме без обоснования, это уязвимость.

Текст RLS открывается в один клик по пометке (RLS) рядом с правом — не нужно открывать роль в EDT и листать XML.

 

карточка роли: права с пометкой (RLS), по клику открывается текст RLS-условия Роль «Базовые права БСП»: право «Чтение» справочника с пометкой (RLS), в окне — текст условия (опирается на параметр сеанса)

Привилегированный режим — пометка PRIV

УстановитьПривилегированныйРежим(Истина) отключает RLS и проверки прав для блока кода. Используется обоснованно (для системных операций), но злоупотребление превращает любую функцию в потенциальную лазейку обхода прав.

В карточке параметра сеанса строка таблицы «Устанавливают» помечается PRIV, если функция выставляет привилегированный режим непосредственно перед установкой параметра. Это критическая зона аудита, потому что параметр потом используется в RLS-условии — то есть «привилегированная установка → RLS пропускает любые данные».

 

карточка параметра сеанса: где он устанавливается, пометка PRIV у привилегированных функций, точки RLS Привилегированная установка параметра, используемого в RLS

Кейс. Параметр ОграничениеДоступаНаУровнеЗаписейУниверсально устанавливается в привилегированном режиме функцией УстановкаПараметровСеанса модуля УправлениеДоступомСлужебный и используется в 6 924 RLS-выражениях ролей. Насколько это безопасно — вопрос архитекторской экспертизы, но сам факт обнаружения такого пути занимает один клик.

Разделение обязанностей

В терминах безопасности «разделение обязанностей» (Segregation of Duties, SoD) — это когда в одной роли или одном профиле не должно быть прав, которые позволяют пользователю самому и создать, и одобрить, и исполнить чувствительную операцию. Классический пример: «Добавление документа "СписаниеДенежныхСредств" + Подтверждение оплаты».

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

  • Права каждой роли по объектам — в карточке роли (раздел «Роли»), с пометкой (RLS) у прав с ограничениями.
  • Конструктор профилей — предпросмотр суммарных прав до создания профиля. Если в сводных правах профиля обнаружен объект, на который даётся Удаление, — это повод обсудить такое право с заказчиком до того, как профиль создан.

Связь с расширениями

Аудит безопасности обязан учитывать расширения. Часто именно в расширениях, написанных без оглядки на типовую политику доступа, появляются УстановитьПривилегированныйРежим там, где их не было.

Маркер у строки таблицы «Устанавливают» или «Читают» немедленно подсказывает: «это расширение, его правит ваша команда — проверьте обоснование».

Сценарий. «Проверить, не появилось ли в расширении нового PRIV-вызова поверх типового параметра». В карточке параметра сортируем «Устанавливают» по маркеру — видим только установщики из расширений. Если среди них есть строка с PRIV — это новая привилегированная установка, которой нет в типовой; её обоснование нужно документировать.

 

Расширения видны везде — три маркера

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

«Доб. имя расширения» — золотистый

Сущность создана расширением целиком. Своя роль, своя подписка, своя функциональная опция, свой регламент, свой параметр сеанса, свой XDTO-пакет, своя команда. В дереве слева помечается значком в строке объекта; в карточке справа — крупный тег в заголовке.

 

подписка на событие, добавленная расширением — золотистый маркер «Доб. имя расширения» в заголовке карточки Подписка «Отмена проведения цепочки документов» добавлена расширением «УправлениеЛизингом»

«Заимств. имя расширения» — фиолетовый

Сущность типовая, но расширение её дополнило:

  • раздало дополнительные права (роль);
  • добавило тип в состав определяемого типа или ПВХ;
  • добавило объект в состав функциональной опции;
  • добавило обработчик в подписку;
  • привязало типовой объект к подсистеме расширения;
  • добавило свойство в типовой XDTO-объект.

«Заимствование» помечается как на самой сущности (тег в карточке), так и на конкретной строке состава с указанием имени расширения. Это самый частый production-сценарий 1С-расширений: внедренец видит, какие именно элементы внутри типовой сущности добавлены расширением, без сравнения XML.

В модели данных это решено через origin-поля: для каждой коллекции (состав определяемого типа, элементы функциональной опции, права роли, объекты подсистемы) хранится карта «элемент → имя расширения». Аналитик видит карту целиком в одном клике.

«имя расширения» — переопределение обработчика

Применяется к сущностям, у которых есть функция-обработчик:

  • регламентное задание (метод-обработчик подменён);
  • конечная точка HTTP (метод-обработчик подменён);
  • операция SOAP.

В карточке такой сущности виден исходный обработчик (что было до подмены) и имя расширения, которое подменило обработчик. Это важно при апгрейде: если типовой обработчик изменился, переопределение в расширении может не подцепить новую логику — и регламент / HTTP-эндпоинт будет работать «на старой версии» молча.

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

Где маркеры встречаются

Маркеры расширений сквозные — они работают во всех разделах программы:

Раздел      
Дерево типов    
Карточка объекта (вкладки)    
Карточка роли    
Параметры сеанса    
Функциональные опции    
Определяемые типы и ПВХ    
Подписки на события      
Регламентные задания    
HTTP-сервисы и Web-сервисы    
XDTO-пакеты    
Граф вызовов      
Конструктор профилей    

Все маркеры в интерфейсе строятся из полей графа знаний — один источник истины. Поля заполняются на этапе парсинга независимо от формата исходников (ZIP-выгрузка, EDT-проект, монорепо, отдельные репозитории, рабочая область EDT).

Зачем это при обновлении типовой

При обновлении типовой маркеры подсказывают, какие именно точки расширения зависят от изменений типовой:

  • — если типовой обработчик изменился, переопределение в расширении может не подцепить новую логику. Регламентное задание или HTTP-эндпоинт нужно перепроверить.
  • — если типовая роль или тип изменились, вклад расширения нужно пересмотреть. Расширение могло раздавать права на состав, который теперь другой.
  • — если типовой объект, на который опирается сущность расширения, изменился, расширение нужно адаптировать. Это видно через граф вызовов: функции расширения, вызывающие изменённую типовую функцию.

Один взгляд на маркеры — и понятен полный список точек, которые нужно тестировать после апгрейда. Без сквозной подсветки каждое такое расследование занимает часы.

 

Чем отличается от стандартного Конфигуратора 1С

Сводная таблица «вопрос → как ответить». Включены кейсы, которые либо невозможны в Конфигураторе, либо требуют ручного обхода десятков окон. Анализатор — только анализ, без редактирования: правки кода и обновление ИБ остаются за Конфигуратором / EDT.

Структура и навигация

Кейс Конфигуратор Analyzer 1C
Все объекты одного типа в одном списке Ветка дерева Дерево со счётчиками
Поиск по синониму, а не по имени Только Ctrl+Shift+N по имени Поле поиска в шапке
Объекты типовой и расширений вместе Разделено Объединено, с маркерами и
Счётчики в реальном времени Счётчики на каждом узле
Переключение между загруженными конфигурациями Две сессии Смена системы в выпадающем списке (сравнение — только версий и поставок одной системы, в режиме «Версии»)

Зависимости и связи

Кейс Конфигуратор Analyzer 1C
Кто ссылается на этот объект Поиск ссылок Вкладка «Связи»
Кто читает объект в запросах 1С Полнотекстовый поиск Вкладка «Запросы»
Кто вызывает эту функцию Поиск ссылок Входящие вызовы в графе
Что вызывает эта функция Вычитывание текста Исходящие вызовы в графе
Транзитивная цепочка вызовов Граф с раскрытием
Косвенный путь через подписку Надо помнить о подписке Автоматически
Модули-гиганты и точки нагрузки Фильтр « Монстры»

Роли и безопасность

Кейс Конфигуратор Analyzer 1C
Все RLS-выражения роли в одном месте Каждое право вручную Кликабельная пометка (RLS) и окно с текстом
Параметры сеанса в RLS Поиск по тексту Счётчик на параметре
Привилегированные установки Вычитывание УстановитьПривилегированныйРежим Пометка PRIV в карточке параметра
Предпросмотр профиля прав Создание тестового профиля Конструктор профилей
Права роли по объектам В окне роли В карточке роли — дерево прав по объектам с пометкой (RLS)
Программные проверки РольДоступна Поиск по коду Видны рядом с правами роли

Внешние API и расширения

Кейс Конфигуратор Analyzer 1C
Все конечные точки REST в одной таблице Дерево сервисов Таблица «N сервисов, M конечных точек»
Сравнение XDTO-пакетов Две сессии Изменённые пакеты в срезе сверки версий (по сигнатуре: namespace + число типов/свойств + импорты)
Переопределение обработчика HTTP расширением Сравнение XML на конечной точке
Какие подписки расширение добавило Открыть расширение отдельно в карточке объекта-источника
Какие регламенты расширение переопределило Сверка вручную и исходный обработчик
Какие функции расширения опираются на типовую Анализ кода Граф вызовов с маркерами
Влияние расширения после обновления типовой Все маркеры в одном месте

Когда Analyzer 1C не заменяет Конфигуратор

Чтобы не создавать ложных ожиданий, Analyzer 1C — только анализ, без редактирования. Если нужно:

  • править XML/BSL — Конфигуратор или EDT;
  • запустить отладку — Конфигуратор;
  • собрать .cf-файл, выкатить обновление — Конфигуратор;
  • работать с реальной информационной базой — Конфигуратор.

Analyzer 1C показывает состояние конфигурации, не оперирует информационной базой и не выполняет код. Он отвечает на вопросы «что есть в коде» и «как это связано» — без рисков случайных изменений.

Типичная связка инструментов:

  1. В Analyzer 1C находите проблему (влияние изменения, конфликт прав, вклад расширения) и понимаете контекст.
  2. По указанному имени модуля / функции / объекта открываете его в Конфигураторе (EDT) и правите.
  3. Перезагружаете конфигурацию в Analyzer 1C — проверяете, что правка отражена в графе как ожидалось.

 

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

Карточка объекта и группа «Связи»

Карточка — центральный экран программы: с неё начинается большинство расследований («куда ссылается этот документ», «кто его читает», «какие роли дают на него права», «какие команды есть»). В шапке — иконка типа метаданных, синоним и маркер /  если есть. Под шапкой — вкладки: Связи, Функции, Команды, Запросы, Роли.

Группа «Связи» — самая важная: таблица всех рёбер графа, ведущих в объект или из него. Группировка по типу, фильтр по направлению (входящие/исходящие), фильтр по типу метаданных. Каждое ребро несёт dir («Ссылается», «Подписан», «Обработчик», «Запускает», «В составе» и т.п.), что делает таблицу читаемой без перехода на каждое ребро в графе.

 

связи документа по типам метаданных — общие модули, справочники, документы, регистры; вклад расширения помечен Документ «Реализация товаров и услуг» — 477 связей: 104 общих модуля, 69 справочников, 57 документов, 32 регистра накопления

Если ребро добавило расширение — оно подсвечено: например, « Источник ERP_IFRS» для подписки расширения на типовой документ. Сразу видно вклад расширения, не обходя список расширений отдельно.

Подписки на события и регламентные задания

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

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

 

карточка подписки на событие: список объектов-источников и модуль-обработчик Подписка «Зарегистрировать данные первичных документов» (При записи) затрагивает 212 документов — от объектов-источников к подписке и к общему модулю-обработчику

Регламентные задания — ещё одна точка входа в логику конфигурации. В карточке регламента видны: расписание, обработчик в формате <ОбщийМодуль>.<Метод>, контекст исполнения (сервер/клиент/внешнее соединение), маркер если обработчик переопределён расширением.

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

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

Профиль в БСП — это пользовательская совокупность ролей. Аналитику важно увидеть суммарные права до фактического создания профиля: какие объекты будут доступны, какие действия можно будет выполнять, нет ли неожиданных пересечений прав между выбранными ролями. В Конфигураторе профиля как сущности нет — есть роли, и проверить «что получится» можно только при тестировании в ИБ.

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

 

конструктор профилей — итоговые разрешения по выбранным ролям, агрегированные по объектам конфигурации Профиль из трёх ролей (678 разрешений) — итоговые разрешения, агрегированные по объектам конфигурации

В матрице — маркеры расширений на объектах: — объект из расширения, — типовой объект с вкладом расширения в права. Пометка (RLS) на правах с ограничением, текст условия — в том же окне, что в карточке роли. Если в матрице обнаружили объект, на который суммарно даётся Удаление, — это повод обсудить такое право с заказчиком профиля до того, как профиль создан.

Функциональные опции

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

 

сайдбар «Функц.опции» — выбранная опция, что она отключает и где проверяется в коде Сайдбар «Функц.опции» в режиме ЕРПУХ — больше тысячи опций, активные сверху, устаревшие полупрозрачные внизу

В каждой строке списка — заголовок опции и три счётчика: Состав (элементов в Content), Контролирует (объектов, реально отключаемых), Проверяется (функций BSL, где значение опции читается через ПолучитьФункциональнуюОпцию).

Если опция собственная для расширения — на ней маркер с именем расширения. Если у опции стоит «Привилегированное получение значения» — маркер. Флажок « Только затронутые расширениями» оставляет в списке только опции, чей состав или само определение правит какое-нибудь расширение. Это даёт точный ответ «что сломается при выключении опции X» до фактического выключения в ИБ.

Внешние API

Раздел «Внешние API» показывает все точки входа в конфигурацию в одном месте: HTTP-сервисы с URL-шаблонами и обработчиками методов (GET/POST/PUT/DELETE), Web-сервисы (SOAP) с операциями и привязкой к BSL-функциям, регламентные задания с расписанием и handler-методом, подписки на события и планы обмена. Для каждой записи виден контекст исполнения (сервер/клиент/внешнее соединение) и быстрая ссылка на сам обработчик в коде. Особенно полезно при аудите безопасности и интеграций: за одну страницу видно весь периметр взаимодействия системы с внешним миром.

Программный доступ к графу (MCP)

В платной версии граф конфигурации доступен не только через интерфейс, но и программно — по протоколу MCP (Model Context Protocol). Это открывает ИИ-ассистенту разработки и вашей автоматизации прямой доступ к «анатомии» системы: составу объектов, связям, анализу влияния, ролям и циклам — теми же данными, что видны в интерфейсе.

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

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

Режим знакомства с незнакомой конфигурацией через её собственный язык: подсистемы. Слева — список всех подсистем, отсортированный по числу документов (служебные платформенные скрыты по умолчанию). Клик по любой открывает карточку процесса с двумя видами:

  • Список — инициирующие документы → промежуточные → завершающие, со ссылками друг на друга через регистры и проводки;
  • Граф — тот же путь визуально, с подсветкой цепочки от выбранного документа.

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

Визуализация графа и статистика конфигурации

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

 

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

Вкладка «Инфо» показывает общую статистику загруженной конфигурации: число подсистем, модулей, функций, вызовов, ссылок реквизитов, запросов к таблицам и ролей. Удобно для быстрой оценки масштаба: 1С:ERP. Управление холдингом — 907 подсистем, 28 342 модуля, 699 793 функции, 60 470 вызовов.

вкладка «Инфо» — сводная статистика конфигурации (подсистемы, модули, функции, роли) Статистика 1С:ERP. Управление холдингом

Загрузка из ZIP, git и бинарных .cf (6 форматов)

Поддерживаются 6 способов загрузки конфигурации, формат определяется автоматически:

  1. ZIP — выгрузка 1С через «Конфигурация → Выгрузить конфигурацию в файлы» (с расширениями внутри архива).
  2. Монорепоsrc/cf/ + src/cfe/{ext1, ext2, …} в одной git-папке.
  3. Отдельные git-репозитории — main и каждое расширение в своём репозитории, клонируются в подпапки одной папки.
  4. EDT-проект — одиночный git-клон с Configuration.xml / .mdo в корне.
  5. EDT workspace — несколько EDT-проектов на произвольной глубине в одном git-репо (например, основная конфигурация и расширения в одном клоне).
  6. Бинарные .cf / .cfe — прямой бинарный контейнер поставки 1С без предварительной выгрузки в файлы, включая конфигурации-гиганты (обрабатываются потоково).

В диалоге загрузки укажите имя папки и выберите ZIP или URL git-репозитория с веткой. Для приватных репозиториев — токен в диалоге или переменной окружения ANALYZER_GIT_TOKEN в .env. Расширения подхватываются автоматически по маркеру ConfigurationExtensionPurpose.

диалог «Загрузить конфигурацию»: переключатель источника — ZIP-файл, бинарные .cf/.cfe или git-репозиторий Диалог «Загрузить конфигурацию»: вверху — выбор источника (ZIP-файл, бинарные .cf/.cfe, git-репозиторий); на примере — клонирование из git с указанием папки, URL и ветки

При повторном клонировании того же URL делается git pull в существующей папке — без дубликатов. Разбор и загрузка ERP УХ (28 342 модуля) занимает около 15 минут. Можно загрузить несколько конфигураций и переключаться между ними через выпадающий список в шапке.

 

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

Поддерживаются шесть способов загрузки конфигурации — инструмент автоматически определяет тип конфигурации и формат выгрузки. Ниже — три самых распространённых git-варианта; отдельно работают ZIP-выгрузка из Конфигуратора, EDT workspace (несколько EDT-проектов в одном git-репо) и прямая загрузка бинарных .cf/.cfe.

1

Монорепо

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

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

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

EDT-проект или одиночный репозиторий

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

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

 

 

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

Analyzer 1C поставляется как готовый Docker-образ. Для развёртывания нужен только 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
# Перелогиньтесь, чтобы применить группу

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

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

Поставка автономна: в одном архиве и приложение, и ArangoDB — они поднимаются вместе одной командой, отдельно базу устанавливать не нужно.

Linux:

bash deploy.sh

Windows (cmd или PowerShell):

deploy.bat

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

Для остановки: bash stop.sh / stop.bat. Повторный запуск: bash start.sh / start.bat.

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

Обновление ставится поверх текущей установки тем же способом, что и первая установка: скопируйте в ту же папку новый analyzer-1c-offline.tar из свежей поставки и запустите deploy.sh / deploy.bat ещё раз. Скрипт загрузит новый образ и пересоздаст контейнер приложения.

Данные при обновлении не теряются. Обновляется только образ приложения. База ArangoDB (она хранится в отдельном томе Docker) и папка conf/ с загруженными конфигурациями остаются на месте, поэтому после обновления сохраняются:

  • все загруженные конфигурации и расширения;
  • зафиксированные версии и поставки, история сверки и объединения;
  • уже построенный граф знаний — он сразу доступен после обновления.

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

 

 
Frame 1321315639.png

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

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

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

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

  • Будет одинаково работать с любой платформой 1С, где реализована выгрузка данных конфигурации в файлы. Также поддерживается формат 1С:EDT (файлы .mdo / .rights) напрямую, без промежуточной выгрузки в XML.

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

Код открыт.

 

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

Линейка 2.0 — самый большой шаг с момента появления версий: анализатор стал инструментом обновления поставки. Сравнение и объединение версий теперь идёт деревом «как в Конфигураторе» (тип метаданных → объект → функции внутри), с окном кода на две и три колонки, подсветкой синтаксиса BSL и редактируемой панелью «Результат объединения». Для каждого изменения предлагается решение в одном из четырёх режимов Конфигуратора, а готовый план выгружается файлом настроек для штатного «Сравнения и объединения». Появились проверки безопасного обновления: скрытый конфликт из-за перехвата расширением (&Вместо / &ИзменениеИКонтроль) и висячие ссылки на удаляемые вендором функции. Поставку можно загрузить напрямую из бинарных .cf/.cfe (включая гиганты больше гигабайта), добавился раздел циклических зависимостей между модулями, все формы объекта стали полноценными узлами графа, а на каждой плашке появилась контекстная справка «Как пользоваться».

Analyzer 1C 2.0.137 — теперь к анализатору могут подключаться ИИ-агенты

Главное в обновлении — анализатор научился отдавать «анатомию» конфигурации не только человеку в интерфейсе, но и ИИ-агентам: теперь они могут подключаться к нему по стандартному протоколу MCP. Вместо того чтобы догадываться об устройстве системы и придумывать имена объектов, агент обращается к анализатору и получает факт из графа: какие в системе объекты и как они связаны, кто кого вызывает, что затронет правка, какие роли дают права. Анализатору доступно десять инструментов — в том числе морфологический поиск объектов («версия таксономии» находит каталог «Версии таксономии»), структура данных с подчинённостью «Владелец» и ссылочными реквизитами, поиск функций по смыслу действия с готовой сигнатурой (имена и типы параметров, тип результата) — чтобы агент переиспользовал существующую функцию, а не писал дубль. Чтобы было видно, что именно отдаётся агенту, в интерфейсе появилась панель «MCP-инструменты» — витрина того же набора с формой вызова и ответом сервера.

Помимо этого: подчинённость «Владелец» теперь доходит до графа, у функций разбираются входы и выходы прямо из кода и комментариев ИТС (без обращения к нейросети), удобнее стала работа анализатора, встроенного в 1С:EDT (история переходов, открытие функции прямо в редакторе), а из бинарных файлов поставки .cf извлекается больше состава — определяемые типы, параметры сеанса, виды характеристик, операции веб-сервисов, типы XDTO-пакетов и команды объектов. Все возможности работают одинаково для всех шести способов загрузки, включая расширения, и проверены на поставках ERP-гигантов. Подключение агентов по MCP доступно в полной версии.

2.4.94 — в поставку добавлена программа-компаньон для подключения к Конфигуратору.

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

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

2.5.119 — добавлена возможность работы с ветками git и историями коммитов.

>>> Перезагрузка систем: ТРЕБУЕТСЯ — изменилось внутреннее устройство графа: объект конфигурации стал в нём отдельной сущностью, и связи объекта пересобираются загрузкой. Пока база не перезагружена, дерево типов у неё останется пустым; Analyzer помечает такие базы в списке систем и говорит об этом прямо над деревом.

Новое
~~~~~

- Видно, кто и когда написал каждую строку кода
  В окне функции появились «Авторство» и «История». Авторство подписывает каждую строку: кто её написал, когда и каким коммитом. История показывает, как функция менялась — что добавлено, что удалено, кем и когда, со значками + и − и подсветкой кода. Автор ищется внутри выбранной ветки, а не среди всех участников репозитория, поэтому в ветке разработчика видно его правки. Сдвиг отступа, выравнивание по колонке и перенос строки не выдаются за правку — это форматирование. Строку, которую удалили и вернули, Analyzer подписывает исходным автором, а не тем, кто её вернул. Если правка сделана перехватом расширения, авторство и история есть и у него, а в окне функции можно переключаться между оригиналом и переопределениями. Номер задачи из сообщения коммита становится ссылкой на трекер — адрес задаётся в настройках базы. Имена авторов можно обезличить одной настройкой, и включается она до просмотра, а не после. Если файла модуля в рабочей копии нет, Analyzer пишет, какой именно файл искал и в какой копии, — по этой строке причина видна сразу.

- Дорожка коммитов модуля для агента Reflexor
  Analyzer отдаёт построчную раскраску файлов модуля — каким коммитом сделана каждая строка, со сверкой соответствия текста базы и репозитория. Агент Reflexor рисует по ней слева от кода в Конфигураторе цветную дорожку: у каждого участка видно, кто, когда и какой задачей его внёс; в комплект Analyzer входит обновлённый агент Reflexor.

- Авторство всех функций модуля одной конечной точкой — для агента Reflexor
  Агент Reflexor подписывает функции открытого в Конфигураторе модуля авторством из истории git: основной автор, последний правивший и дата — у правого края области редактирования. Analyzer отдаёт авторство всего модуля одним расчётом (blame файла один раз на все функции), ответ запоминается и переживает обновления репозитория.

- Сравнение двух систем и версий прямо в интерфейсе
  Вторая сторона сравнения выбирается каскадом «система → версия»: можно сравнить поставку из .cf с git-системой, версию с версией или что угодно с текущим состоянием; отмена сбрасывает результат, а не оставляет его на экране. Сверка показывает не только изменившиеся объекты и функции, но и СВЯЗИ — какие вызовы, ссылки и права появились, пропали или изменились. Вопрос «вендор убрал метод, на котором висел мой перехват» получает ответ до обновления, а не после. Стороны, прочитанные разными версиями разбора, помечаются: различия парсеров больше не выдаются за правки вендора.

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

- Ветки обновляются сами, по расписанию
  В настройках базы появился раздел «Загрузка из git»: адрес репозитория, токен доступа, список веток и периодичность. Включите «Обновлять ветки по расписанию» — и Analyzer сам будет забирать коммиты и перезагружать те ветки, где они появились. Обновляются ветки из списка; оставьте его пустым — и обновляться будет рабочая ветка копии. Помните про цену: у каждой ветки свой полный граф, поэтому база растёт во столько же раз, сколько веток загружено, — на крупной конфигурации это гигабайты и часы за ветку. Если новых коммитов нет, загрузка не запускается, поэтому проверка ничего не стоит. Пока идёт одна загрузка, остальные ветки ждут очереди и не теряются. Токен хранится в зашифрованном виде и обратно не показывается — у каждой базы он свой. По умолчанию расписание выключено: без него всё работает как раньше, только вручную. Рядом с веткой в списке виден знак b88;, если последнее обновление не удалось; подробности — в журнале загрузки этой ветки.

- Историю коммитов и ветки можно догрузить из настроек базы, не перезаливая систему
  В настройках базы, в разделе «Загрузка из git», написано состояние истории — «полная» или «обрезана, столько-то коммитов» — и рядом стоит кнопка «Догрузить историю и ветки». Раньше это настраивалось только при первой загрузке, а сообщение об урезанной истории отсылало в форму системы, где ничего подобного не было. Догрузка идёт по всем репозиториям системы, включая расширения со своими клонами, работает фоном и не перезагружает граф. Она же приносит ветки: прежде углубление истории касалось единственной ветки, и остальные не появлялись в копии ни при какой повторной загрузке. Что именно будет догружено — перечисленные ветки или все — написано до нажатия, а после догрузки там же сказано, что графы по веткам строятся отдельно и где: принесённая ветка выбирается в списке веток и загружается по подтверждению.

- Обновление по коммитам: грузится только то, что изменилось
  В меню перезагрузки появился пункт обновления по коммитам: Analyzer сверяет, какие коммиты появились с момента сборки графа, и показывает дельту. Граф помнит, из какого коммита он собран, поэтому «актуален ли он» стало видимым фактом, а не догадкой.

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

- Токен доступа выпускается себе без администратора
  Значок ключа рядом с именем в шапке открывает окно «Мои токены доступа»: выпуск, список с датами использования и отзыв. Доступно любой роли, включая «Просмотр» — токен нужен агентам и внешним инструментам, работающим от вашего имени. Чужие токены в окне не видны; выпуск и отзыв записываются в журнал действий.

- Адреса API получили версию
  Канонический адрес — /api/v1/…, прежний /api/… остаётся навсегда как псевдоним: интеграции, развёрнутые у вас, продолжают работать без изменений.

- Формы без кода извлекаются из бинарных поставок
  Раньше из .cf и .cfe брались только формы, у которых есть модуль: формы списка, выбора и группы без кода терялись, и сверка поставок показывала их как отсутствующие. Теперь список форм читается из состава объекта, а не по наличию кода.

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

- Проверку сертификатов git и каталога LDAP можно включить
  Появились настройки для тех, кому важно, чтобы соединение подтверждало личность сервера: ANALYZER_GIT_SSL_VERIFY для загрузки конфигураций из git и ANALYZER_LDAP_TLS_VERIFY для входа через LDAP или Active Directory. Если сервер использует самоподписанный сертификат, положите корневой сертификат в папку conf и укажите путь к нему в ANALYZER_GIT_CA_FILE или ANALYZER_LDAP_CA_FILE — тогда проверка включится и будет сверяться именно с ним. Обновление ничего не меняет для тех, кто эти настройки не задаёт: поведение остаётся прежним, перенастройка не требуется.

Улучшения
~~~~~~~~~

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

- Объект конфигурации виден в связях целиком, а не через свои модули
  Раньше объект в базе Analyzer не существовал сам по себе: его подменял один из модулей, и всё, что описывает объект — реквизиты, формы, макеты, состав движений, права ролей, ссылки, запросы — привязывалось к этому модулю. У объекта без кода (справочник без модуля, роль, общая форма, регламентное задание) подходящего модуля не находилось, и часть сведений о нём терялась молча: на рабочей базе так пропадали свойства почти тысячи объектов из четырёх тысяч, а также права, ссылки и запросы к их таблицам. Теперь объект — самостоятельная единица, ему принадлежат его модули, формы и команды, а форме — её модуль. Прямое следствие: связей стало больше — ссылок между объектами на 12% и запросов к таблицам на 9%, и это те связи, которые прежде не показывались вовсе. Карточка объекта без единой строки кода теперь открывается и показывает свои связи.

- Авторство и история функции показываются на лету
  Раньше каждый показ считал историю git заново — на большом монорепо это 3–5 секунд на каждую вкладку. Теперь расчёт начинается заранее, при открытии окна функции, готовые ответы запоминаются до изменения репозитория, blame модуля считается один раз на все его функции, а первый расчёт идёт параллельно. Повторные показы открываются мгновенно, соседние функции того же модуля — в разы быстрее.

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

- Подпись авторства помнит исходного автора
  Когда строку написал один человек, а последним правил другой, в авторстве модуля появляется «изначально — кто написал». Агент Reflexor показывает это в подписи рядом с кодом в Конфигураторе. История модуля для этого прогревается заранее по самим обращениям агента — подписи появляются быстрее.

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

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

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

- Ветки: все приезжают в копию, конфигурация находится сама, а графы — по вашему выбору
  Клон приносит все ветки репозитория, а не одну: прежде клон единственной ветки без исходников означал «нет конфигурации» при полностью исправном репозитории. Если в рабочей ветке конфигурации нет, загрузка сама перейдёт на ту, где она есть (порядок: main, master, release, dev, develop, дальше по свежести); ветки без конфигурации отсеиваются заранее, и всё это видно в журнале. Граф при этом строится по рабочей ветке: каждая ветка — это полный разбор конфигурации и свой граф в базе, на репозитории с десятками веток это десятки гигабайт и часы работы. Нужные сверх того ветки перечисляются в настройках базы — тогда их поддерживает расписание — или загружаются одним щелчком из списка веток: ветка без графа теперь выбирается, Analyzer спрашивает подтверждение, честно предупреждая о длительности, и запускает загрузку, не трогая графы остальных веток. Авторство честное и без загрузки веток: история хранится в копии, у строки из влитой ветки виден её настоящий автор и ветка-источник.

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

- Ход загрузки: скорость в мегабайтах и честный остаток времени
  Скорость разбора считается по объёму обработанного кода — в мегабайтах в секунду, а не по числу модулей: модули разного размера делали штучную скорость обманчивой, она «падала» вчетверо при ровной работе. Остаток времени оценивается по темпу последних полутора минут, а не по среднему с начала этапа — оценка перестала замирать на одном значении на десятки минут. Прогресс идёт плавно, без долгих пауз с последующим рывком на сотни модулей, а сообщение при длинной операции объясняет, что для крупных блоков данных это нормально.

- Загрузка средних конфигураций стала быстрее почти вдвое
  Разбор кода распараллеливается с меньшего размера базы: конфигурация на три тысячи модулей раньше разбиралась в один поток, потому что порог включения был подобран с запасом. Замер на складской базе: разбор кода 2 мин 55 с → 1 мин 17 с, вся загрузка 3 мин 45 с → 2 мин 35 с. Порог настраивается (ANALYZER_BSL_PARALLEL_MIN), если на вашей машине выгоднее иначе.

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

- Отказ доступа к репозиторию объясняется по-русски
  Когда git отвечает «could not read Username» или «Authentication failed», журнал подсказывает: репозиторий требует входа — укажите токен в форме загрузки или настройках базы, проверьте срок действия и право чтения.

- История версий появляется сама, без нажатий
  У систем из .cf, .cfe и ZIP истории не было: загрузка новой версии затирала прежнее состояние, и сравнить «что изменилось в поставке» удавалось, только если человек заранее нажал «Зафиксировать версию». Теперь перед загрузкой новой версии прежнее состояние фиксируется само. Автоснимков хранится ограниченное число, старые убираются, а версии, зафиксированные вручную, не трогаются никогда. У git-систем история и так есть, поэтому там автофиксация не включается.

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

- Имена объектов показываются на нужном языке
  Синоним в 1С многоязычный, а Analyzer брал первый вариант из файла: в конфигурациях, где английский идёт первым, всё дерево показывалось по-английски при наличии русских имён. Теперь язык выбирается осознанно, а порядок предпочтения задаётся в настройках базы — у англоязычной конфигурации русского синонима может не быть вовсе.

- Дерево типов стало читаться как в Конфигураторе
  Первой идёт «Конфигурация», за ней папка «Общие» со значком из 1C:EDT — раньше там был серый кружок, а сама папка стояла выше конфигурации. Ветка «Прочее» переехала внутрь «Общих» и больше не мозолит глаза среди справочников и документов, а её содержимое разложено по видам: «Общие картинки», «Элементы стиля», «Языки», «Группы команд», «Общие реквизиты», «Хранилища настроек» и другие — с числом объектов и значком каждого вида. На ERP в «Прочем» три тысячи объектов, из них почти всё картинки; найти среди них язык раньше было нельзя. Объекты, вид которых определить не удалось, собраны отдельной папкой в конце.

- В истории функции дата у каждой правки и видимое сообщение коммита
  Дата показывалась только у удалённых блоков — у живых строк того же коммита её не было. Теперь дата стоит у каждого блока и везде в одном формате ДД.ММ.ГГГГ (раньше история писала «2023-11-28» рядом с «14.09.2023» авторства), а сообщение коммита видно прямо в подписи (длинное обрезается, целиком — в подсказке; номера задач внутри — ссылками). Подписи авторства и истории выглядят одинаково.

- Журнал загрузки читается по-русски
  Шаги и счётчики назывались служебными именами связей графа — «Posting summary документов», «Опции: controls (состав)», «DefinedType: composes_type», «Impact: triggers_subscription». Теперь у каждого шага человеческое название: «Движения документов из кода проведения», «Функциональные опции: чем управляют», «Определяемые типы: состав», «Влияние: срабатывание подписок». Построчная раскладка очистки коллекций убрана — осталась итоговая строка, а подробности включаются переменной ANALYZER_VERBOSE_CLEANUP для разбора проблем.

Исправление ошибок
~~~~~~~~~~~~~~~~~~

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

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

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

- Журнал загрузки читается по порядку
  Часть шагов загрузки выполняется одновременно, и в журнале их номера шли вразнобой — после сорок пятого мог появиться двадцать восьмой, будто загрузка вернулась назад. Теперь такие шаги объединены в блок с общим диапазоном номеров и подписью, что они идут одновременно и завершаются в произвольном порядке; внутри блока каждый шаг отмечается по мере готовности.

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

- Эталон поставщика размечает все ветки базы
  Эталон назначается базе, а не тому, кто его назначил, и не ветке, случайно открытой в этот момент. Раньше пометки «типовая / доработана» появлялись только в той ветке, что была активной во время пересчёта: коллега на соседней ветке видел неразмеченный код и справедливо считал, что сверка не сработала. Теперь пересчёт проходит по всем загруженным веткам базы — активная первой, чтобы её не приходилось ждать, — а в журнале видно состав веток и номер текущей.

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

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

- Графы веток не пропадают из-под работающих
  Перезагрузка одной ветки больше не может убрать графы остальных веток той же базы — даже если у загруженного графа ветка не указана (так бывает у баз из архива или бинарной поставки). Кроме того, граф, который открывали в последние сутки, при уборке сохраняется, даже если он уже не самый свежий: если им пользуются, значит он нужен. Сколько графов держать на каждой ветке и сколько суток хранить после последнего обращения — настраивается (ANALYZER_KEEP_GENERATIONS_PER_BRANCH и ANALYZER_KEEP_USED_DAYS): когда с базой работают несколько человек, полезно оставлять и предыдущий граф.

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

- Разбор кода больше не замирает молча
  Пул разбора кода переведён на другой способ запуска рабочих процессов: прежний на части машин приводил к тихой остановке — загрузка стояла без единого слова в журнале, а все процессы спали. На эталонном прогоне (27 тысяч модулей) новый способ оказался ещё и быстрее всех прежних замеров, зависаний — ноль.

- Загрузка большой конфигурации из git больше не обрывается по таймауту
  Обновление рабочей копии ограничивалось двумя минутами: на крупной конфигурации git не успевал, загрузка молча продолжалась на исходниках, которые уже лежали на диске, и отчитывалась как успешная — граф собирался из вчерашнего состояния, выглядя свежим. Предел поднят до получаса и распространён на переключение веток, чтение состава репозитория, клонирование (там git считался повисшим после двух минут молчания, хотя на большом репозитории пауза дольше нормальна) и обновления по расписанию; для медленных каналов настраивается переменной ANALYZER_GIT_TIMEOUT.

- Неудачные обновления из git больше не съедают диск
  Когда git прерывался по времени, недокачанные данные оставались на диске, и каждая следующая попытка добавляла новые: на большом репозитории это отняло у клиента больше 100 ГБ за полдня. Теперь Analyzer убирает такие остатки сразу и перед каждой новой попыткой, а прерванная попытка честно записывается как неудача и не мешает следующим.

- Повторная загрузка из git снова читает конфигурацию
  Если систему грузили из того же репозитория повторно, Analyzer забирал свежие коммиты, писал «Загрузка завершена» — и на этом останавливался: конфигурация не перечитывалась, граф оставался прежним. Со стороны это выглядело как успешная загрузка, после которой ничего не изменилось, а сама база вдобавок числилась «только в графе, без папки». Теперь разбор идёт и после обновления рабочей копии, а не только после первого клонирования.

- Повторная загрузка перестала терять доступ к репозиторию
  Если поле токена оставляли пустым (он ведь уже сохранён), Analyzer переписывал адрес репозитория без учётных данных, и следующая же загрузка падала с отказом авторизации. Теперь пустое поле означает «взять сохранённый токен», а не «ходить без него». Заодно токен подставляется и в адреса http:// — репозитории в контуре заказчика часто поднимают без шифрования, и такой адрес оставался без доступа. Углубление истории и добор веток выполняются, даже если обновление рабочей копии не удалось: одно от другого не зависит.

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

- Итог долгого клонирования не теряется из-за занятой папки
  Финальное переименование папки клона повторяется, пока её держит антивирус или индексатор: раньше единственная неудачная попытка отменяла результат часового скачивания. Если загрузка всё же завершилась ошибкой, журнал заканчивается честной строкой о сбое, а не «Загрузка завершена!».

- Полнота состава возврата у функций, вызывающих друг друга
  Если две функции вызывают друг друга, состав возвращаемой структуры у них теперь общий. Раньше одной из них доставалась лишь часть полей, и какая именно — зависело от порядка обхода, поэтому состав менялся между загрузками одного и того же кода: у одной из таких функций было 6 полей вместо 23.

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

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

- Адрес трекера задач действует сразу после сохранения
  Ссылки на задачи в авторстве и истории появлялись только после обновления страницы — только что введённый адрес выглядел неработающим. Теперь сохранение настроек применяет его немедленно.

- Поле кода в авторстве заканчивается на последней строке
  У короткой функции тёмная область кода больше не тянется пустой до низа окна — оба вида кода (авторство и история) заканчиваются там, где кончается функция. Длинная функция, как и раньше, прокручивается при неподвижной шапке.

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

- Сообщения о загрузке ветки — в тёмной теме
  Всплывающее сообщение и окно подтверждения при загрузке ветки выходили светлыми на тёмном интерфейсе; теперь они в стиле приложения.

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

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

- Настройки базы помещаются в окно целиком
  Раздел «Загрузка из git» уезжал за нижний край, и до него добирались только прокруткой. Теперь окно в две колонки — «Отображение» и «Загрузка из git» — и видно сразу всё.

 

 

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

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

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

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

1

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

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

2

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

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

3

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

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

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

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

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

Демоверсия Feedback Pro
Наименование Файл Версия Размер
Руководство пользователя по работе с Analyzer 1C .pdf 5,36Mb 21 Скачать
Описание MCP Server .pdf 290,99Kb 12 Скачать
1. GarriSoft 17.04.26 09:51 Сейчас в теме
Коллега, отличный инструмент!
50. capitan 30.07.26 10:36 Сейчас в теме
(1)Вспоминается... Вы или трусы наденьте или крестик снимите...
Обзор от ИИ
Главные её черты: бесплатный доступ, запрет на коммерческое использование и ограничение по числу пользователей. Особенности комьюнити-лицензий Бесплатно: не нужно платить за покупку ПО. Для личных целей: подходит для учебы, тестов и создания домашних проектов.Не для бизнеса: нельзя использовать для реальных продаж и работы компаний.Ограничения: часто действует только на одном ПК или для малого числа сеансов.Где применяется1С:Предприятие: бесплатная лицензия для разработчиков, чтобы писать код и отлаживать базы на одном компьютере.ПО с открытым кодом (Open Source): особые правила использования продуктов, когда код открыт, но за поддержку или крупные масштабы просят оплату.Системы виртуализации и базы данных: бесплатный доступ к софту для некоммерческих сообществ (например, тарифы Community для серверов или баз данных


Во всем остальном мире Community-Лицензия значит бесплатная, а у вас 3000 руб
Все как мы любим
Может надо так и назвать Lite
51. Техподдержка 30.07.26 16:54
(50) Бесплатной мне ее сделать не позволили правила маркетплейса. Даже чтоб снизить стоимость ниже 5000 пришлось разрешение отдельное просить. Если принципиально - можно и в Lite переименовать. Судя по тому, что интерес к ней не особо большой - сообщество делится на две группы: одним интересен полный функционал, у других и трех тысяч нет...
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 Ответить
35. arkitekt 08.06.26 17:40 Сейчас в теме
Нормально скачалось, установилось. Минус упаковки в докер - сложно залазить под капот. Но, как справедливо сами заметили - только из-за слабого знакомства с докером. Ничего страшного, подтянул :)!. Таки нашел где пишутся логи загрузки - стало значительно проще.
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) Сейчас в проработке идея сделать версионирование самих загрузок, чтобы можно было смотреть только изменения объектов от одной выгруженной версии к другой.
adamx; dusenbaev_dv; +2 Ответить
36. Техподдержка 15.06.26 15:11
(14) Выпустили новую версию 2.0, в ней реализована возможность создавать версии загруженных конфигураций, загружать старые и новые конфигурации поставок и делать двух и трехстороннее сравнение, а также формировать файлы подгрузки изменений через сравнение объединение в Конфигураторе. Будем рады обратной связи, функционал потребовал большой доработки, если будут идеи, как улучшить или увидите проблемы - сообщайте, будем оперативно корректировать.
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С, которые раньше анализатор не показывал: определяемые типы и планы видов характеристик (ПВХ). Теперь видно, какие конкретные справочники и документы скрываются за определяемым типом, какие предопределённые виды есть у ПВХ, в каком справочнике или регистре хранятся их значения и в каких реквизитах всё это используется. После обновления у уже загруженных систем нужно один раз нажать «Перезагрузить», чтобы новые ветки графа наполнились.
28. Техподдержка 13.05.26 10:12
🆕 1.7.54 - Большое обновление

Команды объектов и общие команды — видно все команды документа/справочника и кто их добавил (типовая или расширение). Полезно для аудита: «эту команду добавил лизинг», «эту переопределило Бюро1440».
Параметры сеанса с RLS — видно, кто параметр устанавливает, кто читает и в каких правилах доступа он участвует. Помогает понять, кому сломается доступ, если изменить обработчик установки.
Карта миграций БСП — точный чек-лист обработчиков, которые отработают при апгрейде между версиями. Не нужно читать код БСП или прогонять тестовое обновление.
Критерии отбора — видно, какие документы попадают в выборку критерия и где он используется в коде. Полезно при добавлении нового документа с реквизитом нужного типа: сразу ясно, в какие существующие критерии он автоматически попал.
XDTO-пакеты — контракты Web-сервисов как полноценные узлы графа со своими типами, наследованием и связями с операциями.
Граф связей XDTO — одним кликом видно структуру типа и какие Web-операции его используют. Помогает понять, что сломается при правке схемы, без перелистывания десятка карточек.
Прикрепленные файлы:
v1.7.53-whats-new.docx
29. NaKa 02.06.26 15:17 Сейчас в теме
1С регулярно меняет наименование процедур, регистров и т.п. при обновлении от версии к версии. Зачем - труднообъяснимо). Соответственно возникают проблемы с собственными расширениями. Планируется переход с версии ERP 2.5.22ДП на версию 2.5.27ДП. Поможет ли граф отследить подобные изменения и заранее обозначить проблемные (переименованные) сущности?
30. Администрация 02.06.26 17:13 Сейчас в теме
(29)
Добрый день!

Ваш вопрос взят в работу. По результату с вами свяжется менеджер по работе с клиентами для обсуждения.
31. Техподдержка 02.06.26 17:42
(29) В текущем релизе граф может помочь в данном вопросе только со стороны самой клиентской конфигурации, давая ответ, меняется ли поведение конкретного объекта с помощью расширений. Сейчас в тестировании большое обновление, где будет реализована в том числе и возможность трехстороннего сравнения с конфигурациями поставщика, позволяющая кардинально сократить время на выполнение подобных задач. Следите за анонсами.
37. Техподдержка 15.06.26 15:13
(29) Выпущен новый функционал, версия 2.0 в которой можно решать данные проблемы. Ждем обратную связь, что неудобно или работает не так, как ожидалось. Пишите, все улучшим и поправим
32. arkitekt 03.06.26 07:53 Сейчас в теме
Доброе утро! Счастливый обладатель версии 1.8.22. Подозреваю, что что-то делаю не так, но факт остается фактом. После загрузки zip-файла с конфигурацией, (что с расширениями, что без) не нахожу один (может и не только) справочник, добавленный в расширении. При этом если грузить только это расширение, то справочник нахожу. Загружаю следующим образом: Выгрузка командной строкой в файлы конфигурации в два приема: основная конфа и расширения. В Анализатор загружал как в виде отдельных архивов, так и общим.

UPD: Общий архив не получается загрузить (ошибся в описании, вчера делал и забыл результат), грузил в два приема. Два архива, в одном конфа, в другом расширения. Кстати, а есть какой-нить мануал как правильно формировать архивы для загрузки в Анализатор?
33. Администрация 03.06.26 10:22 Сейчас в теме
(32) Добрый день!
Работа по вашему вопросу будет проходить в тикете https://infostart.ru/profile/support/1617535/
34. arkitekt 04.06.26 04:57 Сейчас в теме
(33)
Разобрался же. Но тут другая сложность - в ЗУПКорп на сегодня только штатных патчей, которые загружаются отдельным расширением - 28 шт (кажись, но точно много), плюс доработки (тоже расширения). Каждое надо загружать отдельно. И ладно, что время, но это то время, когда требуется отвлекаться. Возможно как-то группой загрузить и пусть анализатор загружает?
38. Техподдержка 15.06.26 15:15
(34) В версии 2.0 доработан функционал загрузки, грузить несколько файлов одновременно стало более удобно.
39. NaKa 16.06.26 07:02 Сейчас в теме
(38) Как поняли в новом релизе реализован запрошенный функционал (см. 29.) Спасибо, будем пробовать. А manual по софту уже актуализирован под новые изменения?
40. Техподдержка 16.06.26 12:43
(39) Добрый день. Да, все верно. Новый релиз содержит функционал двух и трехстороннего сравнения версий. Держите в курсе проблем, функционал вышел очень сложным, ошибки и недочеты неизбежны, будем оперативно исправлять.
Мануал актуализировали, видео с кратким todo залили.
41. Техподдержка 17.06.26 11:47
Реализовали MCP server, теперь ваши ИИ-агенты тоже могут узнать о вашей конфигурации все.
Информация о протоколе и скиллах на странице Бесплатные файлы.
42. Техподдержка 23.06.26 23:45
Выложена упрощенная версия продукта, содержащая в себе весь аналитический функционал, но работающая только с одной базой. Также в нем отсутствуют функционал версий, сравнения и MCP-сервер.
43. Техподдержка 07.07.26 11:38
2.2.15 — 6 июля 2026
--------------------

>>> Перезагрузка систем: ТРЕБУЕТСЯ — для пересчёта иерархии подсистем, полных прав ролей и графа вызовов (динамические вызовы общих модулей).

- Эталоны поставщиков: фильтр «покажи только наши доработки»
Зарегистрированную поставку (.cf/.cfe, можно несколько от разных вендоров) можно пометить «Эталоном» в «Версиях» — каждая функция получает пометку «типовая» (совпадает с поставкой), «доработана» или «вне эталонов». В «Циклах» вендорские кольца скрываются по умолчанию, в «Анализе функций» — флажок «Скрыть типовые», доработки помечены «✎», в детали функции виден источник. Пометки пересчитываются автоматически после каждой перезагрузки системы.

- Сверка и объединение версий на уровне Конфигуратора 1С
Выравнивание строк кода (2- и 3-стороннее), окно модуля со всеми функциями и живым предпросмотром результата объединения, ручная валидация решений («Подтверждено») и выгрузка только подтверждённых настроек, блоки «// Было» / «// Новый код вендора» при объединении, сверка содержимого форм и макетов, детали изменений реквизитов и предопределённых элементов, группировка правок по формам и модулям.

- Права ролей приведены к Конфигуратору
Роли «с правами по умолчанию» («Полные права») материализуются полным набором применимых прав, включая неосновные (история данных, управление итогами); блок «Снятые права (исключения)»; подписи всех прав — дословно как в окне «Права» Конфигуратора.

- Правильная иерархия подсистем
Одноимённые подсистемы в разных ветках больше не схлопываются: в ЗУП КОРП возвращены 85 терявшихся подсистем, дочерние подсистемы отображаются правильно.

- Устойчивость загрузки
Сбой одной системы при массовой загрузке не останавливает остальные (сводка «успешно X/Y» + подсветка сбоя в интерфейсе); гибель пула BSL-разбора доживается последовательным добором без потери модулей; разбор модуля при единичном сбое повторяется — функции больше не теряются тихо; устранены обрывы на больших формах.

- Точнее кандидаты на удаление
Вызовы через ОбщегоНазначения.ОбщийМодуль("Имя") попадают в граф вызовов.

- Единое поле поиска
Весь поиск в левой панели — через одно верхнее поле (конструктор профилей, функциональные опции, определяемые типы, планы ВХ, параметры сеанса, критерии отбора, обновление ИБ, XDTO-пакеты, MCP-инструменты, изучение подсистем); результаты поиска не «отстают» от набранного запроса, одноимённые команды различаются символьным именем.

- Быстрый итоговый набор прав в конструкторе профилей
Считается за доли секунды и для «полных» ролей (было ~15 секунд); принадлежность роли к подсистемам подписана «справочно, не права».

- Журнал изменений в дистрибутиве
В каждом архиве теперь лежит changelog.txt — значимые изменения по прод-версиям, с пометкой, нужна ли перезагрузка систем после обновления.

- Удобство интерфейса
Закреплённые панель отборов и шапка таблицы в «Анализе функций», значок вклада расширения на верхних уровнях состава функциональной опции, переход к тексту функции из блока «Проверяется в коде», список «Изучение подсистем» по алфавиту, бодрее масштабирование графов колёсиком.
44. Техподдержка 09.07.26 10:13
В версии 2.2.16 добавлена возможность загрузки из git конфигураций EDT, где проект находится не в корне репо. Кроме того, с этого релиза внутри пакета так же лежит новейшая версия плагина для EDT: Effector 1C, включающая интеграцию с Analizer 1C и MCP-сервер. Подробнее о работе Effector можно прочитать на странице https://infostart.ru/1c/articles/2733396/
45. Техподдержка 10.07.26 03:46
2.3.0 — 10 июля 2026
--------------------

>>> Перезагрузка систем: не требуется.

- Пользователи и разграничение доступа (роли)
Появился вход по логину и паролю с ролями «Администратор», «Тимлид» и «Наблюдатель»: администратор заводит пользователей, назначает роли и — при необходимости — ограничивает каждому список доступных систем. Раздел «Пользователи и доступ» с журналом действий и настраиваемой длительностью сессии. По умолчанию разграничение выключено — поведение «из коробки» прежнее, вход не требуется; включается администратором стенда.

- Вход через корпоративный каталог: LDAP / Active Directory и OpenID Connect
Пользователи могут входить учётной записью домена (LDAP / Active Directory) или через единый вход организации (OpenID Connect — ADFS, Keycloak и совместимые). Роль выдаётся автоматически по группе пользователя в каталоге; правила сопоставления «группа → роль» задаёт администратор.

- Персональный токен доступа для встроенного окна в 1C:EDT
При включённом разграничении доступа встроенное окно Analyzer в 1C:EDT (плагин Effector 1C) входит по персональному токену — работает под вашей ролью и вашим списком систем. Если конфигурация из EDT не загружена на сервере, окно показывает понятную плашку вместо ошибки.

- Вкладка «Запросы» открыта всем объектам, читаемым запросами
Разбивка читателей и писателей по запросам (кто читает объект в отчётах, СКД и формах) теперь доступна в карточке любого объекта, который язык запросов принимает как таблицу: справочники, документы, перечисления, константы, планы видов характеристик, счетов и расчёта, планы обмена, задачи, бизнес-процессы, последовательности. Раньше вкладка показывалась только у регистров и журналов документов, хотя руководство обещало её шире.
46. Техподдержка 19.07.26 20:25
2.4.72 — большое обновление сравнения и объединения версий

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

Дерево стало удобнее и понятнее: функции формы теперь показываются под той же группой «Форма», где её реквизиты — состав и обработчики собраны вместе; редкие виды объектов (хранилища настроек, картинки, элементы стиля, языки и другие) разложены по своим типам вместо общей свалки «Прочие»; объекты-тёзки различаются по символьному имени, а в окне кода видно тело перехватчиков расширений. Группы форм и модулей сворачиваются и поддерживают массовые действия «Взять всё из поставки» и «Подтвердить все», а само дерево работает заметно отзывчивее даже на крупных конфигурациях. Для передачи результатов появились две выгрузки: «Отчёт о сравнении» (самодостаточный HTML со сводкой и полным списком различий) и «Настройки обновления поставки» для штатной функции 1С «Обновление конфигурации на поддержке» с попроцедурным объединением модулей.

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

Всего в релиз вошло более 70 фич, подробнее - см. ChangeLog.txt внутри файла поставки
47. Техподдержка 29.07.26 10:18
2.4.94 — в поставку добавлена программа-компаньон для подключения к Конфигуратору.

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

Кроме того, в анализе функций добавлен механизм просмотра "Кто вызывает функцию", позволяющий понять, откуда вызывается данная функция.
48. Pserofusipirian 30.07.26 03:35 Сейчас в теме
Добрый день!
При загрузке поставки (любой) для сравнения версий возникает ошибка в коде:
ОШИБКА загрузки поставки: module 'src.version_store' has no attribute '_columns_sig'
result = context.run(func, *args)
File "/app/src/cf_vendor.py", line 139, in register_vendor_version
U,V=_my_bridge(db,K);M:list[dict]=[];E=_assemble_manifest(S,L,U,V,content_blobs=M,progress=D);B,F=[],set()
Прикрепленные файлы:
49. Техподдержка 30.07.26 10:12
(48) Добрый день. Да, баг уже зафиксирован и пофикшен. Сегодня будет версия, включающая фикс.
52. Техподдержка 30.07.26 17:06
(48) Обновление выложено
53. Pserofusipirian 30.07.26 22:04 Сейчас в теме
(52) Спасибо, все загружается. При сравнении выводится такое сообщение (загружал все конфигурации из .cf, .cfe, перезагрузка поставок сообщение не убирает), но пока не понял, на что это влияет, это не критично.
Прикрепленные файлы:
57. Техподдержка 31.07.26 13:22
(53) Система проверяет, что поставки загружены более ранней версией парсера, что может привести к некорректной сверке. Нужно удалить старые загруженные поставки и загрузить заново, чтобы гарантировать, что версии поставки и основной конфигурации разобраны идентично. Если сверка не планируется, то можно старые поставки не перезагружать.
58. Техподдержка 31.07.26 13:24
(53) Перезагрузка поставок сообщение должна убрать, возможно, в блоке сверки просто продолжают быть выбранными не вновь загруженные поставки, а устаревшие.
54. Pserofusipirian 30.07.26 22:19 Сейчас в теме
На маке с apple silicon все работает. Для этого потребуется скорректировать файлы установки: из файлов deploy.sh, start.sh, stop.sh убрать "sudo ", а в файл docker-compose.prod.yaml вместо строки "image: arangodb:3.12" прописать "image: arm64v8/arangodb:3.12".
55. Техподдержка 31.07.26 10:44
Пример работы с Конфигуратором через Рефлексор.
Прикрепленные файлы:
Reflexor(1).mp4
56. Техподдержка 31.07.26 10:47
Видео прикрепилось ответом на другой комментарий... к сожалению, рефлексор доступен только для Win платформы, т.к. использует виндовский UAI
59. Техподдержка 11.08.26 00:28
Выпущено большое обновление
Теперь из git можно грузить несколько веток, переключаться между ними, работать с разными ветками одновременно, в функциях теперь можно увидеть автора коммита и даже автора коммита из незагруженной ветки, если оттуда тимлид смерджил в загруженную ветку.
В рефлексоре (поставляется в комплекте поставке) можно теперь увидеть автора коммита прямо в Конфигураторе и получить гиперссылку на задачу в баг-трекере из комментария к коммиту. И много-много всего.

Версия 2.5.119
Прикрепленные файлы:
60. Техподдержка 12.08.26 18:51
Прилетел вопрос: в новых конфигурациях есть куча модулей, где 1С изменила только копирайт в шапке. Analyzer их не показывает, как измененные, что будет при применении файла настроек обновления конфигурации из Analyzer в Конфигураторе?

Ответ:
Analyzer как раз построен таким образом, чтоб весь этот мусор не показывать, анализируется фактическая часть - реквизиты, модули без комментов и строк переноса.
Про файл настроек объединения — правило не создастся. В XML настроек выгружаются только объекты, по которым есть решение, то есть только те, что Analyzer увидел изменёнными. Измененные модули, где поменяли только комментарии в файл не попадут ни с каким правилом. Практически это не потеря обновления: Конфигуратор сравнивает конфигурации сам и к объектам, отсутствующим в файле, применяет свои настройки по умолчанию (для объекта на поддержке без ваших правок будет «взять из новой конфигурации поставщика»). Так что обновление пройдет корректно и в новую базу все комментарии копирайтов по объектам, где Analyzer не увидел изменений, попадут.
61. Техподдержка 19.08.26 15:41
Версия 2.5.131
Для отправки сообщения требуется регистрация/авторизация

См. также

Infostart Toolkit Air: Инструменты разработки в 1С:8.3 и 8.5

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

16500 руб.

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

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

22570 руб.

Infostart MCP: готовые MCP серверы для вайбкодинга в 1С

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

15250 руб.

Маркировка 2026 для УТ 10.3 (Новые товарные группы)

Доработка для 1С:Управление торговлей 10.3 (релиз 10.3.88.3) добавляет поддержку маркировки новых категорий товаров согласно постановлениям Правительства РФ 2025–2026 гг. Конфигурация УТ 10.3 снята с поддержки — новые маркируемые категории ...

14640 руб.

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

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

31720 руб.

1С.Информер

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

3050 руб.

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

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

17000 руб.

Монитор - анализ производительности

Это специализированное решение для глубокого анализа и мониторинга серверов и баз данных 1С. Продукт позволяет выявлять причины замедлений, блокировок и ошибок, объединяя данные технологического журнала, СУБД и оборудования в единой интерак...

90000 руб.

Отладчик кода 1С в режиме «Предприятия»: OneDebugger

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

9500 руб.