Имя: Пароль:
1C
1С v8
Как установить значение реквизита управляемой формы, имея только его имя?
0 Lex_Liven
 
10.07.15
17:28
Всем добра.

На форме программно создан реквизит.
Как можно установить его значение?


НовыеРеквизиты = Новый Массив;
Реквизит = Новый РеквизитФормы("ТипЦен"+ЧислоОткрытыхНакладных, Новый ОписаниеТипов("СправочникСсылка.ТипыЦенНоменклатуры"), , "ТипЦен"+ЧислоОткрытыхНакладных);
НовыеРеквизиты.Добавить(Реквизит);
ИзменитьРеквизиты(НовыеРеквизиты);

        Надпись=Элементы.Вставить("ТипЦен"+ЧислоОткрытыхНакладных,Тип("ПолеФормы"),НоваяСтраница);
Надпись.Вид=ВидПоляФормы.ПолеВвода;
Надпись.Заголовок="Тип цен накладной:";
Надпись.ПутьКДанным="ТипЦен"+ЧислоОткрытыхНакладных;

ЗначениеВРеквизитФормы(Справочники.ТипыЦенНоменклатуры.НайтиПоНаименованию("Розничная"),"ТипЦен"+ЧислоОткрытыхНакладных);


Такая конструкция ругается на неверный параметр №2 в последней строке.
1 ДенисЧ
 
10.07.15
17:29
А чему равно ЧислоОткрытыхНакладных?
2 Lex_Liven
 
10.07.15
17:30
Чему-нибудь да равно. В данном отрезке кода оно не меняется и роли не играет.
3 ДенисЧ
 
10.07.15
17:30
а всё-таки?
4 Lex_Liven
 
10.07.15
17:30
Это число, если вы об этом.
5 ДенисЧ
 
10.07.15
17:30
я об его значении
6 Lex_Liven
 
10.07.15
17:31
1, 2, 3.
Какая разница? До тысяч не доходит. Если дойдет, добавлю Формат().
7 DexterMorgan
 
10.07.15
17:31
ЭтаФорма[ИмяРеквизита] =
8 Lex_Liven
 
10.07.15
17:33
(7) Спасибо.
Надо больше спать.
9 Lex_Liven
 
10.07.15
17:34
(7) Я пробовал через ЭтотОбъект[ИмяHеквизита] - не приняло.
Ваш вариант работает.
10 DexterMorgan
 
10.07.15
17:34
(8) Обращайся)
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший