Директива компиляции недоступна в модуле этого вида (CompilationDirectiveNotAllowed)¶
| Тип | Поддерживаются языки |
Важность | Включена по умолчанию |
Время на исправление (мин) |
Теги |
|---|---|---|---|---|---|
Ошибка |
BSL |
Критичный |
Да |
1 |
errorunpredictable |
Описание диагностики¶
Набор директив компиляции зависит от вида модуля:
- в модуле управляемой формы доступны
&НаКлиенте,&НаСервере,&НаСервереБезКонтекста,&НаКлиентеНаСервереБезКонтекста; - в модуле команды доступны
&НаКлиенте,&НаСервере,&НаКлиентеНаСервере.
Директива из набора другого вида модуля разбирается без синтаксической ошибки, но для этого модуля не описана.
Чаще всего это &НаКлиентеНаСервере в модуле формы вместо &НаКлиентеНаСервереБезКонтекста: метод оказывается
недоступен части вызывающих, а поведение зависит от вида клиента. Например, вызов такого метода из серверной
процедуры формы не компилируется, и форма не открывается.
Примеры¶
Неправильно (модуль формы):¶
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
ОбновитьОформление(ЭтотОбъект);
КонецПроцедуры
&НаКлиентеНаСервере
Процедура ОбновитьОформление(Форма)
...
КонецПроцедуры
Правильно:¶
&НаКлиентеНаСервереБезКонтекста
Процедура ОбновитьОформление(Форма)
...
КонецПроцедуры
Источники¶
- Синтакс-помощник: «Встроенный язык» - «Директивы компиляции»
- Ошибка платформы: &НаКлиентеНаСервере в модуле управляемой формы
Сниппеты¶
Экранирование кода¶
// BSLLS:CompilationDirectiveNotAllowed-off
// BSLLS:CompilationDirectiveNotAllowed-on
Параметр конфигурационного файла¶
"CompilationDirectiveNotAllowed": false