Имя: Пароль:
1C
1С v8
ТипЗнч(Элемент) = Тип("ПолеФормы") ???
0 svmix
 
22.07.11
08:32
Не проходит почему-то это сравнение.

EN 1c 8.2
В форме документа:
Для каждого Элемент Из ЭтаФорма.ЭлементыФормы Цикл
   Сообщить(ТипЗнч(Элемент));
       Сообщить(Тип("ПолеФормы"));
       Если ТипЗнч(Элемент) = Тип("ПолеФормы") Тогда
       Элемент.ТолькоПросмотр = Истина;
               Сообщить("попали");
       КонецЕсли;
КонецЦикла;
                   
В сообщениях выводит что-то вроде
Поле ввода
Поле формы

Табличное поле
Поле формы


но ни разу не "попали".
Так как же отловить реквизит с типом ПолеФормы?
1 Рэйв
 
22.07.11
08:46
поставь так
Сообщить("Тип="+Тип("ПолеФормы")+".....ТипЗнч="+ТипЗнч(Элемент));

Будет нагляднее
2 svmix
 
22.07.11
08:49
Тип=Поле формы.....ТипЗнч=Поле ввода
Тип=Поле формы.....ТипЗнч=Поле ввода
Тип=Поле формы.....ТипЗнч=Поле ввода
Тип=Поле формы.....ТипЗнч=Командная панель
Тип=Поле формы.....ТипЗнч=Надпись
Тип=Поле формы.....ТипЗнч=Флажок
Вот. Только это не решение проблемы...
3 butterbean
 
22.07.11
08:50
(2) у тебя НЕ управляемое приложение, в нем нет ПолеФормы
4 svmix
 
22.07.11
08:51
Решил записав в условии:
 Если ТипЗнч(Элемент) = Тип("ПолеВвода") Тогда.

Но тогда в непонятках остался реквизит ПолеФормы. Ну да Бог с ним.
5 svmix
 
22.07.11
08:52
Спасибо за оперативность.
6 Ненавижу 1С
 
гуру
22.07.11
08:52
интересно, а на кой это нужно?
7 butterbean
 
22.07.11
08:52
(5) просто читай СП, и будет тебе счастье