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

Использование зарезервированных имен

Использование зарезервированных имен в присваивании может привести к ошибке "Поле объекта недоступно для записи".

Пример воспроизведения ошибки:

WebЦвета = Новый Массив;

WebЦвета - это зарезервированное имя - системное перечисление платформы.

Можно исправить на:

СписокWebЦветов = Новый Массив;

или

СписокВебЦветов = Новый Массив;

В правиле учетны такие зарезервированные имена, как: * Имена системных типов платформы (все, кроме группы Свойства объектов метаданных). Например, ТипЗаписиЗапроса или WebЦвета; * Имена свойств глобального контекста. Например, Документы или ВнешниеОбработки; * Имена общих модулей, с учетом доступности на клиенте и/или на сервере. Например, имя ОбщегоНазначенияКлиент нельзя использовать на клиенте, но на сервере таких ограничений нет.

Так же учетно перекрытие зарезервированных имен. Например, в обработке существует реквизит Задачи с типом Строка, а в модуле объекта в этот реквизит записываются значения через запятую:

Задачи = "Первая, Вторая, Третья";

Ошибки записи в поле не будет, т.к. доступность менеджера Задачи по имени перекрыта.

Аналогично перекрытие имен происходит через параметры методов или через реквизиты управляемых форм:

Процедура ОбработатьЗадачи(Задачи)
    Задачи = Непределено;
КонецПроцедуры

См. также

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

// sonar:UsingReservedNames:off
// sonar:UsingReservedNames:on