Внешняя обработка, которая ищет в коде 1С типовые нарушения стандартов БСП и платформы — и часть из них чинит автоматически.
Зачем
При переносе legacy-кода на БСП (или просто ревью чужого кода) руками ловить Сообщить() вместо СообщитьПользователю(), модальные Вопрос()/Предупреждение(), запросы внутри циклов, незакрытый привилегированный режим — долго и скучно. Обработка делает это за секунды, по всей выгрузке конфигурации сразу.
Как устроено
Анализ — не по регулярным выражениям, а через собственный лексический разбор текста модуля (токенизация, учёт строковых литералов и комментариев, контекст — директива компиляции, текущая процедура, глубина цикла). Это исключает ложные срабатывания внутри строк/комментариев и отличает Сообщить() от Объект.Сообщить().
Два режима работы
Фрагмент кода — вставляете кусок модуля, нажимаете «Проверить» (F5). Показывает список нарушений с подсветкой по важности, тут же можно нажать «Исправить автоматически» (безопасные замены класса A) и перенести результат обратно в исходный код для повторной проверки.
Конфигурация целиком — указываете каталог XML-выгрузки конфигурации (или расширения), обработка проходит по всем модулям, строит сводку по правилам и таблицу находок по файлам. На базах с БСП (подсистема «Дополнительные отчеты и обработки» + «Длительные операции») анализ уходит в настоящее фоновое задание со стандартным диалогом ожидания; без БСП — тот же результат через поллинг, без блокировки интерфейса.
Классы автоисправлений
- A — безопасная механическая замена (например,
Сообщить()→ОбщегоНазначенияКлиентСервер.СообщитьПользователю()) — чинится по кнопке. - B — нужно переписывать вызов (например, модальный
Вопрос()→ асинхронныйПоказатьВопрос()с оповещением) — инструмент подсвечивает и даёт совет, руками. - C — архитектурные проблемы (запрос в цикле, незакрытый привилегированный режим) — автозамены нет в принципе, только рекомендация.
Отчет
Табличный документ с сводкой по правилам и детализацией по строкам, подсветка фона по критичности нарушения — без ручной подгонки колонок.
Совместимость
Готовые сборки под платформу 8.3.x и 8.5.x. Работает и на конфигурациях без БСП (в этом случае недоступен только фоновый режим анализа — используется поллинг).
Протестировано на 8.3.27.2214 и 8.5.1.1150.
Скачать
Прикреплен .epf, устанавливать через справочник «Дополнительные отчёты и обработки» (тогда доступен фоновый режим) либо открывать как обычный внешний файл.
Вступайте в нашу телеграмм-группу Инфостарт