Имя: Пароль:
1C
 
Как не дать изменить реквизит объекта
0 lanc2233
 
17.09.15
23:13
&НаКлиенте                                      
Процедура РеквизитПриИзменении(Элемент)
    Если Объект.Реквизит Тогда
        Если Условие Тогда
                    Предупреждение("Низя");
                    // Здесь нужно вернуть значение реквизита в Ложь
                КонецЕсли;
    КонецЕсли;    
КонецПроцедуры

При изменении флага на форме, нужно проверить условие, и не дать пользователю его изменить.
Параметра "Отказ" там нет.
Объект.Реквизит = Ложь; выдает ошибку
"Нельзя изменять поле, содержащее объект данных формы".

В том числе если устанавливаю это значение на сервере.

Как это сделать?
1 Смотрящий
 
17.09.15
23:15
(0) У тебя процедура вызывается после изменения реквизита, надо в момент изменения.
2 lanc2233
 
17.09.15
23:18
У флага только одно событие - ПриИзменении
3 RomanYS
 
17.09.15
23:22
(0) у меня
Объект.Реквизит = Ложь;
нормально работает, проверь какого типа у тебя Объект
4 lanc2233
 
17.09.15
23:42
(3) Да тупонул, именем реквизита ошибся.
Спасибо.
5 RomanYS
 
17.09.15
23:49
А вообще гуманнее проверять условия заранее(по другим событиям) и снимать доступность с флага, а не ругаться, когда пользователь пробует флаг изменить
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.