Имя: Пароль:
1C
1С v8
ЭлементФормы.ТолькоПросмотр не устанавливается доступность
0 _student_
 
30.01.20
15:54
Здравствуйте, при открытии документа отрабатывается следующий код:

Процедура МояПроцедура() // Вызывается из ПриОткрытии()
// Если заявка старше 24 часов блокируем ее элементы
        Результат = УправлениеЗаявкамиСервер.ПолучитьРазницуМеждуДатамиВЧасах(Объект.Дата,ТекущаяДата());
        Если Результат Тогда
        Для каждого ЭлементФормы Из ЭтаФорма.Элементы цикл
                Попытка
                    ЭлементФормы.ТолькоПросмотр = Результат;
                Исключение
                КонецПопытки;
        КонецЦикла;
        КонецЕсли;
        
        
        ЭтаФорма.Элементы.ПередатьВПроизводство.ТолькоПросмотр = Ложь;
КонецПроцедуры

ЭтаФорма.Элементы.ПередатьВПроизводство.ТолькоПросмотр = Ложь; - Эта строка кода не работает, постоянно значение Истина, что не так?
1 unenu
 
30.01.20
15:56
(0) проверяйте тип элемента, отладчик в руки и понимать, что мир гораздо богаче чем вы думаете.
2 ZDenis
 
30.01.20
15:58
(0) Вы уверены что Результат - это булево?
3 unenu
 
30.01.20
15:59
(2) Если Результат Тогда тут бы на не булево ругалось
ветка на поговорить
4 ZDenis
 
30.01.20
16:05
(3) Не ругается, проверил. Но есть и фича, при таком условии проваливается в "Если"

    А = 10;
    Если А Тогда
        Б = А
    Иначе
        Б = 0;
    КонецЕсли;


Ответ: Б =10
5 bolobol
 
30.01.20
16:18
Глупости какие-то. Читаем название метода внимательно: "УправлениеЗаявкамиСервер.ПолучитьРазницуМеждуДатамиВЧасах" и анализируем, когда же ноль будет, если используем в сравнении "ТекущаяДата()" - которая каждую секунду разная
6 bolobol
 
30.01.20
16:22
Последняя строка вполне выполняется, но ТолькоПросмотр, может, наследуется от родительского элемента, которому установлена Истина в ТолькоПросмотр?
7 _student_
 
30.01.20
19:07
(2) 100 пудов (5) Возвращаю именно булево, если больше 24 часов то истина иначе ложь
8 _student_
 
30.01.20
19:09
ПередатьВПроизводство - это реквизит объекта, тип Булево, простым языком флажок)