1.12
-
Правило “Обращение к стандартному реквизиту составного типа регистров”
- Если регистратор регистра является составным типом, тогда использование реквизитов регистратора через точку в запросе без функции “Выразить” является неверным.
- Например,
ОстаткиТоваров.Регистратор.Дата КАК Дата
неверно
- Например,
- Если регистратор регистра является составным типом, тогда использование реквизитов регистратора через точку в запросе без функции “Выразить” является неверным.
-
Правило “Выражение сравнивается с самим собой”
-
проверяются все операторы сравнения
=
,<>
,<
и т.п. -
проверяются различные виды условий -
Если
,ИначеЕсли
,Пока
и т.п. -
Примеры срабатывания правила:
-
Если Перем1 = Перем1 Тогда
ИначеЕсли Функция1(Перем1) < Функция1(Перем1) Тогда
Пока Перем1 + 10 <> Перем1 + 10 Цикл
- Правило “Недостижимый код”
-
Выражения переходов (Возврат, Прервать, Продолжить и Перейти) и генерация исключений переводят управление в другое место кода.
-
Как правило, любые выражения в блоке, расположенные за выражением перехода, являются недостижимыми и вносят путаницу.
-
Примеры срабатывания правила:
-
ОсновнойМетод();
Возврат;
ДополнительныйМетод(); //никогда не вызывается
Для Каждого Элемент Из Коллекция Цикл
ОсновнаяОбработка();
Продолжить;
ДополнительнаяОбработка(); //и здесь никогда не вызывается
КонецЦикла;
-
Правило на проверку уязвимости “Использование операторов «СистемнаяИнформация» и «ПользователиОС»”
- полезно для служб безопасности при приеме работ от разработчиков и подрядчиков
-
Уточнено правило “Возможно использование неинициализированной переменной” - уменьшено количество ложных срабатываний
-
Устранены или уточнены ранее не очень понятные предупреждения о метаданных, в xml-описании которых выявлены проблемы
-
Некоторое ускорение анализа исходников с помощью дополнительного кеширования