Имя: Пароль:
1C
 
Реквизит на форме заполнил программно, а он никак не хочет показываться
0 evorle145
 
17.02.15
20:40
все сделал как написано:
&НаСервере
Функция ПолучитьТЧ(ОбъектСсылка,ИмяТЧ)
    ЗначениеОбъекта = ОбъектСсылка.ПолучитьОбъект();
    
    ТабРез = ЗначениеОбъекта[ИмяТЧ].выгрузить();
    
    МассивДобавляемыхРеквизитов = Новый Массив;
    МассивУдаляемыхРеквизитов = Новый Массив;
    МассивКолонок = Новый Массив;
    ИдКоллекции="ВремТабЗнач";
    
    КоллФормы=РеквизитФормыВЗначение(ИдКоллекции);
    
    Для каждого ТекКол из КоллФормы.Колонки Цикл
        МассивУдаляемыхРеквизитов.Добавить(ИдКоллекции+"."+ТекКол.Имя);
    КонецЦикла;
    
    Для каждого ТекКол из ТабРез.Колонки Цикл
        МассивДобавляемыхРеквизитов.Добавить(
            Новый РеквизитФормы(ТекКол.Имя,ТекКол.ТипЗначения,ИдКоллекции));
        МассивКолонок.Добавить(ТекКол.Имя);
    КонецЦикла;
    
    // Добавим новые, удалим старые колонки
    ЭтаФорма.ИзменитьРеквизиты(МассивДобавляемыхРеквизитов,МассивУдаляемыхРеквизитов);
    // Поместим значение в реквизит формы
    ЗначениеВРеквизитФормы(ТабРез,ИдКоллекции);
    
    // вернем массив колонок в обрабатываемой ТЗ, например для более простого перебора
    Возврат МассивКолонок;
КонецФункции

но на форме эта таблица значений не заполнена (даже колонки не создаются), помогите, очень надо понять в чем дело
1 Адский плющ
 
17.02.15
20:43
Реквизиты создал. А элементы формы Пушкин создавать будет?
2 evorle145
 
17.02.15
20:43
то есть получается как бы элемент формы, у которого указан путь к данным именно к этой таблице   не знает что добавлены колонки и таблица заполнена
3 evorle145
 
17.02.15
20:44
(1) , создал, путь к данным указал на этот реквизит, но дальше не врубаюсь.
Это не помогает: элементы.информацияозаказе.Обновить();
4 evorle145
 
17.02.15
20:47
Даже провел эксперимент: к моему реквизиту ТаблицаЗначений добавил одну колонку не программно, и исключил ее из массивов удаляемых и добавляемых реквизитов, в итоге получил что добавленный не программно реквизит Заполнился, но другие колонки так и не появились!
5 evorle145
 
17.02.15
20:48
но мне то надо именно программно добавить все реквизиты... Выручайте
6 evorle145
 
17.02.15
20:54
А не в том ли дело, что реквизит я добавил, заполнил, на клиент передал, а вот элементу формы не создал этих реквизитов?
7 evorle145
 
17.02.15
20:55
вот это кажется потерял:

А для создания элемента формы на основе это реквизита нужно сделать следующее:

ЭлементФормы = ЭтаФорма.Элементы.Добавить("ПолеВводаСтроки", Тип("ПолеФормы"), ЭтаФорма);

ЭлементФормы.ПутьКДанным = "ПолеВводаСтроки";
ЭлементФормы.Вид         = ВидПоляФормы.ПолеВвода;
8 evorle145
 
17.02.15
21:12
Да, в этом все дело было...
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.