|
Программное создание динамической таблицы значений и её заполнение | ☑ | ||
---|---|---|---|---|
0
falselight
03.06.19
✎
07:20
|
Задача в программном создании колонок таблицы значений и последующее её заполнение.
Данные берутся из файла текстового. Первая строка колонки таблицы значений. ///////////////////// ШапкаВСообщить = ""; Для каждого ИмяКолонки Из МассивКолонок Цикл //"Период" //"РегистраторНомер" //"Регистратор" //"Организация" //"ВидЗапасов" //"Склад" //"КлючАналитики" //"Номенклатура" //"Характеристика" //"Серия" //"КоличествоОборот" //"КоличествоРасход" //"НомерГТД" //"НомерСтроки" //"" ШапкаВСообщить = ШапкаВСообщить + " | " + ИмяКолонки; ТЗсФайла.Колонки.Добавить(ИмяКолонки); КонецЦикла; Сообщить(ШапкаВСообщить); ///////////////////// Затем я пытаюсь заполнять строки. Но получается что данные заполняются в хаотичном порядке не в свои столбцы. /////////////////////////// Для НомерСтроки = 2 по ЗагружаемыйФайл.КоличествоСтрок() Цикл Строка = ЗагружаемыйФайл.ПолучитьСтроку(НомерСтроки); СтрокиФайла = РазложитьСтрокуВМассивПодстрок(Строка, Разделитель); //НоваяСтрока = Таблица.Добавить(); //Если МассивКолонок.Количество() <> Таблица.Колонки.Количество()-1 Тогда // Продолжить; //КонецЕсли; СтрокаВСообщить = ""; НоваяСтрока = ТЗсФайла.Добавить(); Для НомерКолонки = 1 по СтрокиФайла.Количество() Цикл ТекущееЗначение = СтрокиФайла[НомерКолонки-1]; //ИмяКолонки = Таблица.Колонки[НомерКолонки-1].Имя; //НоваяСтрока[ИмяКолонки] = ТекущееЗначение; СтрокаВСообщить = СтрокаВСообщить + " | " + ТекущееЗначение; // НоваяСтрока[НомерКолонки] = ТекущееЗначение; КонецЦикла; Сообщить(СтрокаВСообщить); КонецЦикла; /////////////////////////// Не наведете ли на мысль, как тут сообладать с процессем. Что бы нужные данные вставали в свои колонки в строках? |
|||
1
Chameleon1980
03.06.19
✎
07:51
|
Какая буква не правильная в "сообладать" ?
|
|||
2
Скиурус
03.06.19
✎
08:02
|
Ну на то, чтобы единичку вычесть из номера колонки при чтении тебя хватило
ТекущееЗначение = СтрокиФайла[НомерКолонки-1]; а вот на то, что то же самое нужно сделать при записи, уже нет :( НоваяСтрока[НомерКолонки<<-1>>] = ТекущееЗначение; |
|||
3
СтепаDS
03.06.19
✎
08:10
|
(1) Про "процессем" тот же вопрос.
|
|||
4
falselight
03.06.19
✎
08:12
|
Решаю. При выгрузке шапка не соответствовала с порядком строк.
НомерСтроки был в конце. Сейчас переделал таблицу выгрузки. Она пока статичная. Жаль там нет возможность перетаскивать колонки. Пришлось пере создавать все. |
|||
5
falselight
03.06.19
✎
08:20
|
Решено!
СтрокаВСообщить = ""; НоваяСтрока = ТЗсФайла.Добавить(); Для НомерКолонки = 0 по СтрокиФайла.Количество() - 1 Цикл ТекущееЗначение = СтрокиФайла[НомерКолонки]; СтрокаВСообщить = СтрокаВСообщить + " | " + ТекущееЗначение; // НоваяСтрока[ТЗсФайла.Колонки[НомерКолонки].Имя] = ТекущееЗначение; КонецЦикла; Сообщить(СтрокаВСообщить); |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |