Перейти к содержанию

Обращение к неизвестному методу или свойству (UnknownMember)

Тип Поддерживаются
языки
Важность Включена
по умолчанию
Время на
исправление (мин)
Теги
Ошибка BSL
OS
Важный Нет 2 suspicious

Описание диагностики

Диагностика выявляет обращения к методам и свойствам, которых не существует, — вероятные опечатки или вызовы несуществующего API:

  • Ресивер.Член — тип ресивера выведен и конкретен, но члена с таким именем у него нет;
  • голый вызов Имя(...) — имя не резолвится ни в глобальную функцию/свойство платформы или конфигурации, ни в метод/переменную текущего модуля.

Диагностика опирается на вывод типов и сведения о членах из синтакс-помощника платформы 1С (через bsl-context) либо из встроенного справочника. Если тип ресивера не выводится либо является произвольным/неопределённым, диагностика молчит, чтобы не давать ложных срабатываний.

Диагностика выключена по умолчанию — она эвристическая и требует обкатки на реальных конфигурациях (полнота справочника, динамическая типизация и т.п.).

Примеры

Массив = Новый Массив;
Массив.Добвить(1); // Срабатывание: опечатка, у типа Массив нет метода "Добвить"

Исправление — использовать существующий член:

Массив.Добавить(1);

Источники

  • Источник: синтакс-помощник платформы 1С:Предприятие 8

Сниппеты

Экранирование кода

// BSLLS:UnknownMember-off
// BSLLS:UnknownMember-on

Параметр конфигурационного файла

"UnknownMember": false