Release v0.3.beta - много новых проверок и квик-фиксов
Релиз поставляется в составе 1C:EDT 2022.1 - самостоятельная установка не требуется.
Новые проверки
Метаданные
- Длина синонима раздела верхнего уровня, отображаемого в интерфейсе, не должна превышать 35 символов
- Реквизиты составного типа, содержащие ссылочные типы и нессылочные типы вместе
- Реквизиты составного типа, содержащие типы
ЛюбаяСсылка
,СправочникСсылка
,ДокументСсылка
и аналогичные - Небезопасное хранение паролей в информационной базе
Формы
- У реквизита "Ссылка" динамического списка выключен признак "Использовать всегда"
- У поля "Ссылка" таблицы динамического списка не отключена пользовательская видимость
- У каждого события должна быть назначена своя процедура-обработчик
- Проверка заполнения заголовка поля динамического списка
- Реквизит "Ссылка" динамического списка не выведен в таблицу на форме
Код модулей
- 3 проверки на избыточное обращение внутри модуля через его имя или псевдоним ЭтотОбъект (к методу, свойству или реквизиту)
- Проверка использования устаревшего "ЭтаФорма" в модуле формы
- Избыточное ключевое слово Экспорт
- Проверка нарушения схемы работы с транзакциями связанной с фиксацией транзакции:
- Вызов "ЗафиксироватьТранзакцию()" находится вне конструкции "Попытка... Исключение"
- Отсутствует вызов "НачатьТранзакцию()", хотя вызываются "ЗафиксироватьТранзакцию()"
- Для вызова "НачатьТранзакцию()" отсутствует парный вызов "ОтменитьТранзакцию()"
- Mежду "ЗафиксироватьТранзакцию()" и "Исключение" есть исполняемый код, который может вызвать исключение
- Проверка нарушения схемы работы с транзакциями связанной с отменой транзакции:
- Вызов "ОтменитьТранзакцию()" находится вне конструкции "Попытка... Исключение"
- Отсутствует вызов "НачатьТранзакцию()", хотя вызываются "ОтменитьТранзакцию()"
- Для вызова "НачатьТранзакцию()" отсутствует парный вызов "ЗафиксироватьТранзакцию()"
- Mежду "Исключение" и "ОтменитьТранзакцию()" есть исполняемый код, который может вызвать исключение
- Проверка нарушения схемы работы с транзакциями связанной с началом транзакции:
- Mежду "НачатьТранзакцию()" и "Попытка" есть исполняемый код, который может вызвать исключение
- Не найден оператор "Попытка" после вызова "НачатьТранзакцию()"
- Отсутствует удаление временного файла после использования.
- Структура модуля. Проверка областей событий формы.
- Структура модуля. Добавлена проверка области событий.
- Отсутствует включение безопасного режима перед вызовом метода "Выполнить" или "Вычислить"
- Структура модуля. Добавлена проверка метода вне области.
- Структура модуля. Добавлена проверка соответсвия состава областей верхнего модуля стандарту, их порядка и наличия дублей.
- Структура модуля. Проверка что код инициализации расположен в области инициализации.
- Структура модуля. Область объявления переменных.
Запросы
- В качестве правого операнда операции сравнения "ПОДОБНО" указано поле таблицы
- В запросе в бинарной операции используются константные значения
Права ролей
- Установлено право "Удаление"
Новые быстрые исправления (Quick-fix)
- 3 исправления исправления для удаления избыточного обращения внутри модуля к самому себе
- Замена в модуле формы устаревшего свойства "ЭтаФорма" на "ЭтотОбъект"
- Конвертация функции в процедуру
- Генерация заголовка элемента формы динамического списка
- Генерация заголовка поля динамического списка (8.3.19 и выше)
- Добавление включения безопасного режима перед вызовом метода "Выполнить" или "Вычислить"
Исправленные ошибки
- Неправильно валидируется пустой метод с комментарием #1007
- Понижение критичности для ошибок с кодами "doc-comment-use-minus", "form-module-missing-pragma" #1014
- Ошибка проверки md-standard-attribute-synonym-empty на проекте расширения #1021
- NPE при проверке в FunctionCtorReturnSectionCheck #1029
- NullPointerException, если проект EDT - расширение без указания основного языка. #1033
- Исключить BaseForm из проверок для форм #1037
- Ложное срабатывание проверки: common-module-type (признак привилегированный) #1031
- Ложное срабатывание проверки: invocation-parameter-type-intersect для Списка значений #997
- Ложное срабатывание проверки: invocation-parameter-type-intersect - для методов с несколькими вариантами вызова #992 #1039 #1056
- Ложное срабатывание проверки: doc-comment-ref-link Учет точки в конце ссылки на метод #993
- Ложное срабатывание проверки: statement-type-change для типов общего модуля #994
- Некорректное сообщение об ошибке в строгих типах. Не существует типа "Таблица" #1055
- Ложное сообщение об ошибке о неиспользовании составных типов для стандартных объектов метаданных #1069
- Ложное срабатывание проверки для динамических списков с произвольным запросом: У реквизита "Ссылка" динамического списка выключен признак "Использовать всегда" #1071
- Проверка: right-... не находит ошибку для роли с включением по умолчанию #815
- Отключение проверок для заимствованных объектов в расширении #1076
- Проверка: form-self-reference не находит ошибку #1086
- Ложное срабатывание проверки: module-structure-event-regions для обработчиков событий расположенных в общем модуле #1102
- Автосортировка падает при переводе кода #1106