Имя: Пароль:
1C
 
Программно создать элемент формы и записать данные
0 Олеся999
 
02.02.17
14:43
Подскажите пожалуйста как программно записать данные в программно созданный элемент ?


Элемент создаю так :

&НаСервере
Процедура Команда1НаСервере()
    ДобавляемыеРеквизиты = Новый Массив;
    цум =    Рекв ;
    ИмяСтраницы = Строка(цум);
    
    Реквизит11 = Новый РеквизитФормы("Список"+ ИмяСтраницы, Новый ОписаниеТипов("Строка"));   //Тут указываем тип
    ДобавляемыеРеквизиты.Добавить(Реквизит11);
    ИзменитьРеквизиты(ДобавляемыеРеквизиты);

//Добавляем новое поле ввода Комментарий на форму
    Элемент33 = ИмяСтраницы;
    Элемент33 = ЭтаФорма.Элементы.Добавить("ОтборКомментарий"+ ИмяСтраницы, Тип("ПолеФормы"), ЭтаФорма.Элементы.Группа1);
    Элемент33.Вид = ВидПоляФормы.ПолеВвода;
    Элемент33.ПутьКДанным = "Список"+ ИмяСтраницы;
    
    КонецПроцедуры

&НаКлиенте
    Процедура ПриОткрытии(Отказ)
    Рекв = 22;
    КонецПроцедуры

&НаКлиенте
    Процедура Команда1(Команда)
Рекв = Рекв + 1;
Команда1НаСервере();
    КонецПроцедуры

Жму на кнопочку и создаются элементы.
получается что то  вроде этого :
http://img.donnet.ru/i/2017/02/02/a370f41.png
1 shamannk
 
02.02.17
14:48
Форма данные не хранит.
2 Олеся999
 
02.02.17
14:54
(1) я понимаю, а выводить нельзя что ли ?
3 Windyhead
 
02.02.17
15:09
Ну так элемент должен быть связан с реквизитом , в реквизит и пиши данные
4 Олеся999
 
02.02.17
15:11
А нельзя связать с переменной?
5 shamannk
 
02.02.17
15:12
6 Mort
 
02.02.17
15:13
ЭтотОбъект["Список"+ ИмяСтраницы] = "Так можно присвоить значение созданному реквизиту";
7 Олеся999
 
02.02.17
15:16
(6) О круто спасибо большое, получилось ))))))
8 Windyhead
 
02.02.17
15:16
Реквизит11 = Новый РеквизитФормы("Список"+ ИмяСтраницы, Новый ОписаниеТипов("Строка"));

А эта строчка для красоты чтоли?
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший