Понимаю, что уже не раз мусолили тему, но никак не допру что делаю не так или что не доделываю.
Цель. Есль некие файлы dbf с различным количеством колонок и строк. Требуется его взять, прочитать и показать на форме в виде таблицы. Платформа 8.2, форма обычная. На форме создал поле табличного документа ТаблицаDBF. Сделал реквизит Таблица2 с типом ТаблицаЗначений.
Код такой:
БД = Новый XBase;
БД.ОткрытьФайл(ПутьКФайлу + "exp_01.dbf");
БД.Первая();
к = 1;
//Если уже было заполнение чистим колонки
Таблица2.Колонки.Очистить();
//Создаем колонки в ТЗ
Пока БД.поля.Найти("F" + к) <> Неопределено Цикл
Таблица2.Колонки.Добавить("F" + к);
к = к + 1;
КонецЦикла;
//Определяем число колонок
ЧислоКолонок = Таблица2.Колонки.Количество();
//Заполняем ТЗ
Пока Истина Цикл
к = 1;
НоваяСтрока = Таблица2.Добавить();
Пока к <= ЧислоКолонок Цикл
НоваяСтрока["F" + к] = БД["F" + к];
к = к + 1;
КонецЦикла;
Если Не Бд.Следующая() Тогда
Прервать;
КонецЕсли;
КонецЦикла;
//Создаем элемент формы
Таб = ЭлементыФормы.Добавить(Тип("ТабличноеПоле"), "ТабDBF", Истина, ЭлементыФормы.ТаблицаDBF);
Таб.Значение = Таблица2;