Версия 2.0 · macOS · Windows · сервер MCP

Ревизор

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

межмодульный анализцепочки вызововклиент-сервер89 правилподсветка как в конфигуратореMCP для ИИ-ассистентовподключение к базеGo · Wails
Задача

Ошибки, которые не видны в одном модуле

Вызов в никуда

Метод общего модуля переименовали или сделали неэкспортным — вызовы в формах и объектах остались и падают у пользователя.

Клиент и сервер

Клиентская форма вызывает серверный модуль, серверный код — клиентский. Или в цикле на клиенте каждая итерация ходит на сервер.

Скрытый запрос в цикле

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

Как работает

Выгрузка → дерево разбора → граф вызовов → правила

01 · ВЫГРУЗКА

Метаданные

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

02 · ПАРСЕР

Встроенный язык

Собственный парсер: дерево разбора, препроцессор, #Вставка/#Удаление расширений. 76 тыс. реальных модулей без ложных ошибок.

03 · СВОДКИ

Граф вызовов

Методы, параметры, директивы, вызовы в циклах, обращения к базе. Дерево сворачивается — память не растёт.

04 · ПРАВИЛА

Замечания

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

Рабочее место

Результат проверки

Окно Ревизора с результатами проверки

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

Межмодульный анализ

Цепочка вызовов до обращения к базе

Важно К12 · Серверный вызов в цикле на клиенте

ФормаДокумента, строка 7: в цикле по товарам вызывается ЦенообразованиеВызовСервера.ЦенаТовара().

ЦенообразованиеВызовСервера.ЦенаТовара() — серверный вызов
ЦенообразованиеСервер.ЦенаТовара()
Запрос.Выполнить() · строка 17
&НаКлиенте
Процедура ЗаполнитьЦены(Команда)
	Для Каждого СтрокаТовара Из Объект.Товары Цикл
		СтрокаТовара.Цена = ЦенообразованиеВызовСервера.ЦенаТовара(
			СтрокаТовара.Номенклатура, Объект.ВидЦены);
	КонецЦикла;
КонецПроцедуры

// Ревизор: одна итерация = серверный вызов + запрос.
// Исправление: ЦеныТоваров(массив) — один вызов до цикла.
Правила

Что проверяется

14

Конфигурация целиком

Несуществующие и неэкспортные методы, число параметров, клиент-сервер, объекты метаданных и значения перечислений, обработчики подписок и заданий, обращения к базе через цепочку.

75

Код модулей

Корректность, транзакции, безопасность, производительность, стандарты 1С:ИТС и каталог диагностик BSL Language Server.

37

Запросы — в работе

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

Ошибка Критично Важно Совет — профиль «Основной» без правил оформления, «Полный» — со всеми.

Каталог

Каждое правило — с объяснением

Каталог правил

Почему это плохо, как исправить, примеры «плохо» и «хорошо», ссылка на стандарт. Любое правило можно отключить.

Новое в 2.0 · сервер MCP

Глаза ИИ-ассистента на большой конфигурации

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

callers / calleesdb_chainmetadata_objecttable_statsrecheck_modulesync_now

Claude Code, Cursor и другие клиенты MCP. Ассистент смотрит, кто вызывает метод, до правки и сразу видит, что сломалось в других модулях, после.

▶ db_chain ЗаполнитьЦены (ФормаДокумента)
Обращается к базе:
  → ЦенообразованиеВызовСервера.ЦенаТовара()
  → ЦенообразованиеСервер.ЦенаТовара()
  → Запрос.Выполнить() (строка 17)

▶ recheck_module ЦенообразованиеСервер
Новые замечания в других модулях (3):
К03 ObjectModule.bsl:19 [ЗаполнитьЦены]
   Метод ЦенаТовара не экспортный.
Новое в 2.0 · подключение к базе

Проверка живой базы по расписанию

01 · ВЫГРУЗКА

Только изменения

Конфигуратор в пакетном режиме с -update: повторно выгружается только изменённое, пользователи продолжают работать.

02 · ДАННЫЕ БАЗЫ

HTTP-сервис

Небольшое расширение отдаёт таблицы СУБД, индексы и размер данных объектов.

03 · ПРОВЕРКА

Конфигурация и расширения

Все правила, межмодульный анализ, сравнение с прошлой проверкой.

04 · ОТЧЁТ

Что изменилось

Изменённые объекты, новые и исправленные замечания; сервер MCP перечитывает индекс сам.

Планировщик Windows запускает синхронизацию ночью или каждые несколько часов. Пароли — в диспетчере учётных данных Windows.

Итого

Технические решения

Собственный парсер

Дерево разбора встроенного языка, условия препроцессора, инструкции расширений; устойчив к ошибкам.

Сводки вместо деревьев

Модуль разбирается, проверяется и сворачивается в сводку — большие конфигурации в ограниченной памяти.

Граф вызовов

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

Бережная нагрузка

По умолчанию половина ядер и мягкий предел памяти: проверка не мешает работать.

Один файл

Go + Wails: .app для macOS и .exe для Windows без установки зависимостей; консольная утилита для CI и сервер MCP.

Расширения

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

Go · Wails · 1С:Предприятие 8.3 · GitHub