Имя: Пароль:
1C
1С v8
1С8.2. упр.прил. в ТЧ добавил колонку, но на форме не отобразилась
0 oleg_prg
 
09.09.12
23:23
Доброй ночи. Подскажите пожалуйста, на форме в упр.прил добавил ТЧ (таблицу) в источник данных поставил ТЧ (таблица значений), загрузил в неё результат запроса, но данные на форме не отобразились. Как быть?

&НаСервере
Процедура ПолучитьДанные()
   Запрос = новый Запрос;
   Запрос.Текст = "ВЫБРАТЬ
                  |    *
                  |ИЗ
                  |    ВнешнийИсточникДанных.ВнешнийИсточникДанных1.Таблица.TECDOC_CD_4_2011_localhost_TECDOC_TOF_ENGINES КАК TECDOC_CD_4_2011_localhost_TECDOC_TOF_ENGINES";
   Рез = Запрос.Выполнить();
   ТЧ.Загрузить(Рез.Выгрузить());
КонецПроцедуры
1 sanja26
 
10.09.12
00:37
создать колонки
2 oleg_prg
 
10.09.12
01:00
(1) - я же написал, управляемое приложение, в данном режиме в ТЧ нет метода СоздатьКолонки()
3 sanja26
 
10.09.12
01:12
(2) а ты попробуй
4 sanja26
 
10.09.12
01:12
5 sanja26
 
10.09.12
01:14
ЗначениеВДанныеФормы пробовал?
6 oleg_prg
 
10.09.12
01:15
решил по своему

&НаСервере
Процедура СоздатьЭлементы()
   //ДанныеТЗ - это элемент диалога тип таблица где путь к данным ДанныеТЗ (реквизит формы)
   Запрос = новый Запрос;
   Запрос.Текст = "Выбрать 1,2,3,4,5";
   Рез = Запрос.Выполнить().Выгрузить();
       
   //Эта процедура программно создает элемент диалога "таблица" на форме
   мКолонки = Новый Массив;        //Создадим массив для хранения колонок
   
   Для А = 0 По Рез.Колонки.Количество()-1 Цикл
       Элемент = Новый РеквизитФормы(Рез.Колонки[А].Имя,Новый ОписаниеТипов("Строка"),Элементы.ДанныеТЗ.Имя);  //Создаем елементы интерфейса - колонки
       мКолонки.Добавить(Элемент);   //Добавим в массив колонки    
   КонецЦикла;
   
   ЭтаФорма.ИзменитьРеквизиты(мКолонки);     //см help
   
   Для Каждого Реквизит Из мКолонки Цикл     //В цикле добавим элементы в таблицу
       
       Элемент = Элементы.Добавить(Элементы.ДанныеТЗ.Имя + Реквизит.Имя, Тип("ПолеФормы"),Элементы.ДанныеТЗ); //Добавление элемента
       Элемент.Вид = ВидПоляФормы.ПолеВвода; //Разрешим вводить пользователю данные в таблицу    
       Элемент.ПутьКДанным = Элементы.ДанныеТЗ.Имя + "." + Реквизит.Имя;  //Назначим путь к данным, только после этого таблица появится на форме :)
       Элемент.ТолькоПросмотр = ложь;        //Дадим пользователю право редактировать таблицу
       
   КонецЦикла;
   
   ДанныеТЗ.Загрузить(Рез.Скопировать());
   
КонецПроцедуры
7 oleg_prg
 
10.09.12
01:16
(3) ради интереса попробывал, нету :)
8 sanja26
 
10.09.12
01:20
а в (6) разве не создание колонок?..
9 oleg_prg
 
10.09.12
01:23
Мне пора спать, заработался, да в (6) создание колонок, я думал ты про метод СоздатьКолонки() который есть у таблицы в неуправляемм режиме, поэтому так и ответил... Да точно, ты был прав, вот только мой мозг уже отказывается работать. Спасибо!