Доброго времени суток

Необходимо провернуть такую вещь:
 - создать динамически таблицу;
 - заполнить её данными;
 - вывести в виде таблицы на форму.

Может у кого есть рабочий пример?

Спасибо.
---
MOPC,
Когда-то делал сходное:

```1c
    //РезультатЗапроса - реквизит формы, тип - ТаблицаЗначений
    //

    &НаСервере
    Процедура РезультатЗапроса_Очистить()
    ТЗ = РеквизитФормыВЗначение("РезультатЗапроса") ;

    МассивРеквизитов = Новый Массив;
    Для Каждого Колонка Из ТЗ.Колонки Цикл
    МассивРеквизитов.Добавить("РезультатЗапроса." + Колонка.Имя);
    КонецЦикла;
    ИзменитьРеквизиты(,МассивРеквизитов);

    ТЗ.Очистить();

    ЗначениеВРеквизитФормы(ТЗ,"РезультатЗапроса");

    РезультатЗапроса.Очистить();

    Для каждого Элемент Из Элементы.РезультатЗапроса.ПодчиненныеЭлементы Цикл
    Элементы.Удалить(Элемент);
    КонецЦикла;
    КонецПроцедуры

    &НаСервере
    Процедура РезультатЗапроса_НоваяКолонка(Имя)
    ТЗ = РеквизитФормыВЗначение("РезультатЗапроса") ;
    ТЗ.Колонки.Добавить(Имя);

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

    НовыйЭлемент = Элементы.Добавить("РезультатЗапроса" + Имя, Тип("ПолеФормы"), Элементы.РезультатЗапроса);
    НовыйЭлемент.Вид = ВидПоляФормы.ПолеВвода;
    НовыйЭлемент.ПутьКДанным = "РезультатЗапроса." + Имя;

    ЗначениеВРеквизитФормы(ТЗ,"РезультатЗапроса");
    КонецПроцедуры

    &НаСервере
    Процедура РезультатЗапроса_СоздатьКолонки(МассивКолонок)
    ТЗ = РеквизитФормыВЗначение("РезультатЗапроса") ;

    МассивРеквизитов = Новый Массив;
    Для каждого Имя Из МассивКолонок Цикл
    ТЗ.Колонки.Добавить(Имя);
    МассивРеквизитов.Добавить(Новый РеквизитФормы(Имя, Новый ОписаниеТипов("Строка"), "РезультатЗапроса"));
    КонецЦикла;

    ИзменитьРеквизиты(МассивРеквизитов);

    ЗначениеВРеквизитФормы(ТЗ,"РезультатЗапроса");

    Для каждого Имя Из МассивКолонок Цикл
    НовыйЭлемент = Элементы.Добавить("РезультатЗапроса" + Имя, Тип("ПолеФормы"), Элементы.РезультатЗапроса);
    НовыйЭлемент.Вид = ВидПоляФормы.ПолеВвода;
    НовыйЭлемент.ПутьКДанным = "РезультатЗапроса." + Имя;
    КонецЦикла;
    КонецПроцедуры

    &НаСервере
    Функция РезультатЗапроса_НоваяСтрока()
    //НоваяСтрока =РезультатЗапроса.Добавить();
    //Возврат РезультатЗапроса.Индекс(НоваяСтрока)
    ТЗ = РеквизитФормыВЗначение("РезультатЗапроса") ;
    НоваяСтрока =ТЗ.Добавить();
    ИндексСтроки = ТЗ.Индекс(НоваяСтрока);
    ЗначениеВРеквизитФормы(ТЗ,"РезультатЗапроса");
    Возврат ИндексСтроки
    КонецФункции
```
---
MOPC, таблица полностью пустая? И колонки будут зависеть от запроса?
---
MOPC,
```1c
    //очищаем таблицу и удаляем информацию
    Таблица.Очистить();
    Таблица.Колонки.Очистить();
    ЭлементыФормы.Таблица.Колонки.Очистить();

    //раскладываем стрoку в массив
    МассивКол = РазложитьСтрокуВМассивПодстрокMSExchange(Шапка, Разделитель, СимволВыделения);

    //генерируем столбцы
    Для Каждого ИмяСтолбца Из МассивКол Цикл

    ИмяБезПробелов = СтрЗаменить(ИмяСтолбца," ","); // убираем из имени пробелы

    Таблица.Колонки.Добавить(ИмяБезПробелов,,ИмяСтолбца);
    НовыйСтолбец = ЭлементыФормы.Таблица.Колонки.Добавить(ИмяБезПробелов, ИмяСтолбца);
    НовыйСтолбец.Данные = ИмяБезПробелов;

    КонецЦикла;

    //После того, как шапка сформирована можно приступать к обработке загрузке самих данных
    Для НомерСтроки = НомерСтрокиДанных по ЗагружаемыйФайл.КоличествоСтрок() Цикл

    Состояние("Обрабатывается "+Строка(Формат(?(ЗагружаемыйФайл.КоличествоСтрок()=0,0,((100*НомерСтроки)/ ЗагружаемыйФайл.КоличествоСтрок())),"ЧЦ=3; ЧДЦ=0"))+" %");
    ОбработкаПрерыванияПользователя(); //указав данный оператор, цикл можно прервать в любой момент нажатие ctrl+break

    // получить стрoку с указанным номером и преобразуем её в массив
    Строка = ЗагружаемыйФайл.ПолучитьСтроку(НомерСтроки);
    //МассивКол = ОбщегоНазначения.РазложитьСтрокуВМассивПодстрок(Строка, Разделитель);// процедура из типовой конфигурации, разбивает строку в массив по разделителям
    МассивКол = РазложитьСтрокуВМассивПодстрокMSExchange(Строка, Разделитель, СимволВыделения);
    НоваяСтрочка = Таблица.Добавить();

    Если МассивКол.Количество() <> Таблица.Колонки.Количество() Тогда
    Продолжить; // скорее всего в тексте содержит разделитель
    КонецЕсли;

    Для НомерСтолбца = 1 по МассивКол.Количество() Цикл
    //заполняем строчку значениями
    ТекущееЗначение = МассивКол[НомерСтолбца-1];
    ИмяКолонки = Таблица.Колонки[НомерСтолбца-1].Имя;
    НоваяСтрочка[ИмяКолонки] = ТекущееЗначение;
    КонецЦикла;

    КонецЦикла;
```

Подставите свои значения, примерно вот так это делается.
---
Xershi, спасибо.

Смысл такой, есть таблица в MSSQL, необходимо вывести её на форму для начала.
Объект "Внешние данные" не предлагать.
---
MOPC, это уже другой вопрос. Код бери который подключается к базе и дальше уже используй (3).
---
Xershi, уже проверяю.
---
MOPC,
Когда-то делал сходное:

```1c
    //РезультатЗапроса - реквизит формы, тип - ТаблицаЗначений
    //

    &НаСервере
    Процедура РезультатЗапроса_Очистить()
    ТЗ = РеквизитФормыВЗначение("РезультатЗапроса") ;

    МассивРеквизитов = Новый Массив;
    Для Каждого Колонка Из ТЗ.Колонки Цикл
    МассивРеквизитов.Добавить("РезультатЗапроса." + Колонка.Имя);
    КонецЦикла;
    ИзменитьРеквизиты(,МассивРеквизитов);

    ТЗ.Очистить();

    ЗначениеВРеквизитФормы(ТЗ,"РезультатЗапроса");

    РезультатЗапроса.Очистить();

    Для каждого Элемент Из Элементы.РезультатЗапроса.ПодчиненныеЭлементы Цикл
    Элементы.Удалить(Элемент);
    КонецЦикла;
    КонецПроцедуры

    &НаСервере
    Процедура РезультатЗапроса_НоваяКолонка(Имя)
    ТЗ = РеквизитФормыВЗначение("РезультатЗапроса") ;
    ТЗ.Колонки.Добавить(Имя);

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

    НовыйЭлемент = Элементы.Добавить("РезультатЗапроса" + Имя, Тип("ПолеФормы"), Элементы.РезультатЗапроса);
    НовыйЭлемент.Вид = ВидПоляФормы.ПолеВвода;
    НовыйЭлемент.ПутьКДанным = "РезультатЗапроса." + Имя;

    ЗначениеВРеквизитФормы(ТЗ,"РезультатЗапроса");
    КонецПроцедуры

    &НаСервере
    Процедура РезультатЗапроса_СоздатьКолонки(МассивКолонок)
    ТЗ = РеквизитФормыВЗначение("РезультатЗапроса") ;

    МассивРеквизитов = Новый Массив;
    Для каждого Имя Из МассивКолонок Цикл
    ТЗ.Колонки.Добавить(Имя);
    МассивРеквизитов.Добавить(Новый РеквизитФормы(Имя, Новый ОписаниеТипов("Строка"), "РезультатЗапроса"));
    КонецЦикла;

    ИзменитьРеквизиты(МассивРеквизитов);

    ЗначениеВРеквизитФормы(ТЗ,"РезультатЗапроса");

    Для каждого Имя Из МассивКолонок Цикл
    НовыйЭлемент = Элементы.Добавить("РезультатЗапроса" + Имя, Тип("ПолеФормы"), Элементы.РезультатЗапроса);
    НовыйЭлемент.Вид = ВидПоляФормы.ПолеВвода;
    НовыйЭлемент.ПутьКДанным = "РезультатЗапроса." + Имя;
    КонецЦикла;
    КонецПроцедуры

    &НаСервере
    Функция РезультатЗапроса_НоваяСтрока()
    //НоваяСтрока =РезультатЗапроса.Добавить();
    //Возврат РезультатЗапроса.Индекс(НоваяСтрока)
    ТЗ = РеквизитФормыВЗначение("РезультатЗапроса") ;
    НоваяСтрока =ТЗ.Добавить();
    ИндексСтроки = ТЗ.Индекс(НоваяСтрока);
    ЗначениеВРеквизитФормы(ТЗ,"РезультатЗапроса");
    Возврат ИндексСтроки
    КонецФункции
```
---
MOPC, Может у кого есть рабочий пример?

их есть