Использование зарезервированных имен
Использование зарезервированных имен в присваивании может привести к ошибке "Поле объекта недоступно для записи".
Пример воспроизведения ошибки:
WebЦвета = Новый Массив;
WebЦвета
- это зарезервированное имя - системное перечисление платформы.
Можно исправить на:
СписокWebЦветов = Новый Массив;
или
СписокВебЦветов = Новый Массив;
В правиле учетны такие зарезервированные имена, как: * Имена системных типов платформы (все, кроме группы Свойства объектов метаданных
). Например, ТипЗаписиЗапроса
или WebЦвета
; * Имена свойств глобального контекста. Например, Документы
или ВнешниеОбработки
; * Имена общих модулей, с учетом доступности на клиенте и/или на сервере. Например, имя ОбщегоНазначенияКлиент
нельзя использовать на клиенте, но на сервере таких ограничений нет.
Так же учетно перекрытие зарезервированных имен. Например, в обработке существует реквизит Задачи
с типом Строка
, а в модуле объекта в этот реквизит записываются значения через запятую:
Задачи = "Первая, Вторая, Третья";
Ошибки записи в поле не будет, т.к. доступность менеджера Задачи
по имени перекрыта.
Аналогично перекрытие имен происходит через параметры методов или через реквизиты управляемых форм:
Процедура ОбработатьЗадачи(Задачи)
Задачи = Непределено;
КонецПроцедуры
См. также
Экранирование кода
// sonar:UsingReservedNames:off
// sonar:UsingReservedNames:on