|
0
zladenuw
06.09.12
✎
13:12
|
Получаю диапазон. вроде все неплохо. но
Range = ТекущийЛист.getCellRangeByPosition(begCol, begRow, endCol, endRow);
лпМассивCOM = Новый COMSafeArray("VT_VARIANT", Range.Columns.Count, Range.Rows.Count);
лпМассивCOM = Range.getDataArray();
Данные = лпМассивCOM.Выгрузить();
Получаю массив строк, а не колонок.
Вот таким методом не смогу заполнить Таблицу значений
Для Счетчик = 1 По RowCount Цикл
НоваяСтрока = ТЧДанных.Добавить();
КонецЦикла;
//Заполнение Тч данными
Для Счетчик = 0 По ВсегоКолонок-1 Цикл
ТЧДанных.ЗагрузитьКолонку(Данные[Счетчик], "Колонка"+Счетчик);
КонецЦикла;
Как можно заполнить тз еще ?
|
|
|
1
zladenuw
06.09.12
✎
13:21
|
Получилось только так.
Данные = лпМассивCOM.Выгрузить();
//Создание пустых строк по RowCount
Для Счетчик = 1 По endRow Цикл
НоваяСтрока = ТЧДанных.Добавить();
КонецЦикла;
//Заполнение Тч данными
Для Счетчик = 0 По endRow Цикл
//ТЧДанных.ЗагрузитьКолонку(Данные[Счетчик], "Колонка"+Счетчик);
НоваяСтрока = ТЧДанных.Вставить(Счетчик);
МассивСтроки = Данные[Счетчик];
НомЭлемента = 0;
Для каждого Колонка Из ТЧДанных.Колонки Цикл
НоваяСтрока[Колонка.Имя] = МассивСтроки[НомЭлемента];
НомЭлемента = НомЭлемента+1;
КонецЦикла;
КонецЦикла;
Может есть другой вариант ? оптимальней
|
|