Имя: Пароль:
1C
1С v8
Работа с перечислениями
0 Wonders
 
13.07.17
17:14
Здраввствуйте, подскажите, как устранить такую ошибку:

Есть форма докумета с реквизитами "Сотрудник", "Статус", "Задание", реквизит "Статус" имеет тип перечисления со значениями "Свободен" и "Занят". Нужно чтобы при выборе перечисления "Занят" реквизит "Задание" становился недоступным для редактирования.

Вот код:

&НаСервере
Процедура СтатусПриИзмененииНаСервере()
    Если Статус = Перечисления.Статус.Занят Тогда
        Элементы.Задание.ТолькоПросмотр = Истина;
    КонецЕсли
КонецПроцедуры


Возникает такая ошибка:

{Документ.ПолученныеЗадания.Форма.ФормаДокумента.Форма(39,7)}: Переменная не определена (Статус)
    Если <<?>>Статус = Перечисления.Статус.Занят Тогда (Проверка: Сервер)

Попробовал через ПредопределенноеЗначение:

&НаСервере
Процедура СтатусПриИзмененииНаСервере()
    Если Элементы.Статус = ПредопределенноеЗначение("Перечисления.Статус.Занят") Тогда
        Элементы.Задание.ТолькоПросмотр = Истина;


Конфигуратор ошибок не выдал, но при выборе любого значения перечисления непосредственно из формы документа выдает следующее:

{Документ.ПолученныеЗадания.Форма.ФормаДокумента.Форма(39)}: Ошибка при вызове метода контекста (ПредопределенноеЗначение)
    Если Элементы.Статус = ПредопределенноеЗначение("Перечисления.Статус.Занят") Тогда
по причине:
Предопределенное значение "Перечисления.Статус.Занят" не найдено.

Подскажите, плиз, что не так?
1 Господин ПЖ
 
13.07.17
17:16
Перечисление
2 vicof
 
13.07.17
17:17
Объект.Статус
3 YFedor
 
13.07.17
17:18
"С реквизитами ..."  это точно реквизиты формы?