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

Проверка существования метаданных в коде

Обращение в коде к объектам метаданных, которых не существует, может привести к ошибкам типа:

  • "Неизвестное имя формы"

  • "Недопустимое значение параметра"

  • "Поле объекта не обнаружено"

  • "Тип не определен"

  • и так далее

Например:

ОткрытьФорму("Справочник.Справочник1.Форма.СтараяФормаЭлемента");

Форма СтараяФормаЭлемента отсутствует у объекта Справочник1 и попытка открытия формы приведет к ошибке "Неизвестное имя формы".

Особенности:

  • Параметр Проверять существование по всех конфигурациях проекта (учитывать сводный контекст) включает проверку по сводному контексту проекта. Если проект содержит несколько конфигураций и расширений, при значении параметра true имя таблицы объекта метаданных считается верным, если присутствует хотя бы в одной из конфигураций проекта (в любой). При значении false (по умолчанию) объект метаданных должен обязательно присутствовать в той конфигурации, которой принадлежит вызывающий модуль.
  • Расчет сводного контекста отключается параметром sonar.bsl.denyCumulativeContextComputation.

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

// sonar:VerifyMetadata:off
// sonar:VerifyMetadata:on