Использование #Вставка без &ИзменениеИКонтроль (InsertionWithoutChangeAndValidate)¶
| Тип | Поддерживаются языки |
Важность | Включена по умолчанию |
Время на исправление (мин) |
Теги |
|---|---|---|---|---|---|
Ошибка |
BSL |
Критичный |
Да |
1 |
error |
Описание диагностики¶
Директива #Вставка / #КонецВставки используется в теле метода (процедуры или функции), который не помечен аннотацией &ИзменениеИКонтроль (&ChangeAndValidate). Это приводит к ошибке компиляции модуля.
Директивы #Вставка и #КонецВставки предназначены для вставки кода расширения конфигурации. Платформа разрешает их использование только в методах с аннотацией &ИзменениеИКонтроль, которые явно декларируют намерение изменять код расширяемого объекта.
Вставка на уровне модуля (вне методов) аннотации не требует и диагностикой не помечается.
Примеры¶
Неправильно¶
Процедура ДобавитьРеквизит()
#Вставка
... // код вставки
#КонецВставки
КонецПроцедуры
Правильно¶
&ИзменениеИКонтроль
Процедура ДобавитьРеквизит()
#Вставка
... // код вставки
#КонецВставки
КонецПроцедуры
См. также¶
Сниппеты¶
Экранирование кода¶
// BSLLS:InsertionWithoutChangeAndValidate-off
// BSLLS:InsertionWithoutChangeAndValidate-on
Параметр конфигурационного файла¶
"InsertionWithoutChangeAndValidate": false