Skip to content

Release v0.3.beta - много новых проверок и квик-фиксов

Compare
Choose a tag to compare
@github-actions github-actions released this 16 Aug 08:08

Релиз поставляется в составе 1C:EDT 2022.1 - самостоятельная установка не требуется.

Новые проверки

Метаданные

  • Длина синонима раздела верхнего уровня, отображаемого в интерфейсе, не должна превышать 35 символов
  • Реквизиты составного типа, содержащие ссылочные типы и нессылочные типы вместе
  • Реквизиты составного типа, содержащие типы ЛюбаяСсылка, СправочникСсылка, ДокументСсылка и аналогичные
  • Небезопасное хранение паролей в информационной базе

Формы

  • У реквизита "Ссылка" динамического списка выключен признак "Использовать всегда"
  • У поля "Ссылка" таблицы динамического списка не отключена пользовательская видимость
  • У каждого события должна быть назначена своя процедура-обработчик
  • Проверка заполнения заголовка поля динамического списка
  • Реквизит "Ссылка" динамического списка не выведен в таблицу на форме

Код модулей

  • 3 проверки на избыточное обращение внутри модуля через его имя или псевдоним ЭтотОбъект (к методу, свойству или реквизиту)
  • Проверка использования устаревшего "ЭтаФорма" в модуле формы
  • Избыточное ключевое слово Экспорт
  • Проверка нарушения схемы работы с транзакциями связанной с фиксацией транзакции:
    1. Вызов "ЗафиксироватьТранзакцию()" находится вне конструкции "Попытка... Исключение"
    2. Отсутствует вызов "НачатьТранзакцию()", хотя вызываются "ЗафиксироватьТранзакцию()"
    3. Для вызова "НачатьТранзакцию()" отсутствует парный вызов "ОтменитьТранзакцию()"
    4. Mежду "ЗафиксироватьТранзакцию()" и "Исключение" есть исполняемый код, который может вызвать исключение
  • Проверка нарушения схемы работы с транзакциями связанной с отменой транзакции:
    1. Вызов "ОтменитьТранзакцию()" находится вне конструкции "Попытка... Исключение"
    2. Отсутствует вызов "НачатьТранзакцию()", хотя вызываются "ОтменитьТранзакцию()"
    3. Для вызова "НачатьТранзакцию()" отсутствует парный вызов "ЗафиксироватьТранзакцию()"
    4. Mежду "Исключение" и "ОтменитьТранзакцию()" есть исполняемый код, который может вызвать исключение
  • Проверка нарушения схемы работы с транзакциями связанной с началом транзакции:
    1. Mежду "НачатьТранзакцию()" и "Попытка" есть исполняемый код, который может вызвать исключение
    2. Не найден оператор "Попытка" после вызова "НачатьТранзакцию()"
  • Отсутствует удаление временного файла после использования.
  • Структура модуля. Проверка областей событий формы.
  • Структура модуля. Добавлена проверка области событий.
  • Отсутствует включение безопасного режима перед вызовом метода "Выполнить" или "Вычислить"
  • Структура модуля. Добавлена проверка метода вне области.
  • Структура модуля. Добавлена проверка соответсвия состава областей верхнего модуля стандарту, их порядка и наличия дублей.
  • Структура модуля. Проверка что код инициализации расположен в области инициализации.
  • Структура модуля. Область объявления переменных.

Запросы

  • В качестве правого операнда операции сравнения "ПОДОБНО" указано поле таблицы
  • В запросе в бинарной операции используются константные значения

Права ролей

  • Установлено право "Удаление"

Новые быстрые исправления (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