Имя: Пароль:
1C
 
Не появляется на форме программно создаваемая таблица
0 falselight
 
03.06.19
10:35
По примеру статьи http://catalog.mista.ru/public/203445/
Программно создаю таблицу. Код отрабатывает. Но на форме ничего не появляется.
И ошибок не возникает. Подскажите что я не так сделал?


//
&НаСервере
Процедура ЗагрузитьНаСервереTXT();
    //
    ТЗсФайла        = Новый ТаблицаЗначений;
    //
    Разделитель     = "|";
    ЗагружаемыйФайл = Новый ТекстовыйДокумент;
    ЗагружаемыйФайл.Прочитать(ДиалогВыбораФайла);
    Шапка          = ЗагружаемыйФайл.ПолучитьСтроку(1);
    МассивКолонок  = РазложитьСтрокуВМассивПодстрок(Шапка, Разделитель);
    ШапкаВСообщить = "";
    Для каждого ИмяКолонки Из МассивКолонок Цикл
        //
        ШапкаВСообщить = ШапкаВСообщить + " | " + ИмяКолонки;
        ТЗсФайла.Колонки.Добавить(ИмяКолонки);
    КонецЦикла;
    Сообщить(ШапкаВСообщить);
    //
    Для НомерСтроки = 2 по ЗагружаемыйФайл.КоличествоСтрок() Цикл
        Строка          = ЗагружаемыйФайл.ПолучитьСтроку(НомерСтроки);
        СтрокиФайла     = РазложитьСтрокуВМассивПодстрок(Строка, Разделитель);
        СтрокаВСообщить = "";
        НоваяСтрока     = ТЗсФайла.Добавить();
        Для НомерКолонки = 0 по СтрокиФайла.Количество() - 1 Цикл
            ТекущееЗначение                                 = СтрокиФайла[НомерКолонки];
            СтрокаВСообщить                                 = СтрокаВСообщить  + " | " +  ТекущееЗначение;
            //
            НоваяСтрока[ТЗсФайла.Колонки[НомерКолонки].Имя] = ТекущееЗначение;
        КонецЦикла;           
        Сообщить(СтрокаВСообщить);  
    КонецЦикла;
    //////////////////////////////////////////////////////////////////////////
    ТЗ_рез              = РеквизитФормыВЗначение("ТЗДляЗагрузки");
    МассивРеквизитов = Новый Массив;
    Для каждого Колонка Из ТЗ_рез.Колонки Цикл
        МассивРеквизитов.Добавить("ТЗДляЗагрузки." + Колонка.Имя);
    КонецЦикла;
    ИзменитьРеквизиты(,МассивРеквизитов);
    //
    ЭлементТаблица = Элементы.Найти("ТЗДляЗагрузки");
    Если ЭлементТаблица <> Неопределено Тогда
        Элементы.Удалить(ЭлементТаблица);
    КонецЕсли;
    //
    ЭлементТаблица                = Элементы.Добавить("ТЗДляЗагрузки", Тип("ТаблицаФормы"));
    ЭлементТаблица.ПутьКДанным = "ТЗДляЗагрузки";
    ЭлементТаблица.Отображение = ОтображениеТаблицы.Список;
    //
    МассивРеквизитов.Очистить();
    Для каждого Колонка Из ТЗ_рез.Колонки Цикл
        МассивТипов = Новый Массив;
        МассивТипов.Добавить(Колонка.ТипЗначения);
        НоваяКолонка = Новый РеквизитФормы(Колонка.Имя, Новый ОписаниеТипов(МассивТипов), "ТЗДляЗагрузки");
        МассивРеквизитов.Добавить(НоваяКолонка);
    КонецЦИкла;
    ИзменитьРеквизиты(МассивРеквизитов);
    ЗначениеВРеквизитФормы(ТЗ_рез, "ТЗДляЗагрузки");
    //
    ЭлементТЗ = Элементы.ТЗДляЗагрузки;
    Для каждого Колонка Из ТЗ_рез.Колонки Цикл
        НовыйЖлементФОрмы               = Элементы.Добавить("ТЗДляЗагрузки" + Колонка.Имя, Тип("ПолеФормы"), ЭлементТЗ);
        НовыйЖлементФОрмы.Вид          = ВидПоляФормы.ПолеВвода;
        НовыйЖлементФОрмы.ПутьКДанным = "ТЗДляЗагрузки." + Колонка.Имя;
    КонецЦикла;
КонецПроцедуры
//