Переворот или ТРАНСПОНИРОВАНИЕ Таблицы Значений
Задача такова что необходимо поменять местами Колонки со Строками. Условие Первая колонка значений это название колонок будущей таблицы значений.
Исходная таблица:
Индекс Колонка1 Колонка2 Колонка3 Колонка4
0 "Тип11" "Тип21" "Тип31" "Тип41"
1 "Тип12" "Тип22" "Тип32" "Тип42"
2 "Тип13" "Тип23" "Тип33" "Тип43"
3 "Тип14" "Тип24" "Тип34" "Тип44"
4 "Тип15" "Тип25" "Тип35" "Тип45"
Полученная таблица:
Индекс Тип11 Тип12 Тип13 Тип14 Тип15
0 "Тип11" "Тип12" "Тип13" "Тип14" "Тип15"
1 "Тип21" "Тип22" "Тип23" "Тип24" "Тип25"
2 "Тип31" "Тип32" "Тип33" "Тип34" "Тип35"
3 "Тип41" "Тип42" "Тип43" "Тип44" "Тип45"
Минус ы :
1.того что имя колонок первоначальных не видно.
2. Значение исходной таблицы первой колонки должны быть типизированны для название колонок.
P.S. Может поможет кому 😉
- Описание
- Подробнее
Описание
// Функция возвращает перевернутую ТЗ// Кидаем ТЗФункция ПеревернутьТЗ(ТЗ) ТЗ2 = Новый ТаблицаЗначений; Массив=Тз.ВыгрузитьКолонку(Тз.Колонки[0]); Для Каждого Значения ИЗ Массив ЦИКЛ ЗН=ВРег(СокрЛП(Значения)); ТЗ2.Колонки.Добавить(Значения); Конеццикла; Для каждого стр из Тз.Колонки Цикл ТЗ2.Добавить(); КонецЦикла; СчетчикСтрок=-1; Для каждого стр из Тз Цикл СчетчикСтрок=СчетчикСтрок+1; Мас= Новый Массив; счетчик=-1; Для каждого КН из Тз.Колонки Цикл счетчик=счетчик+1; ЗначениеИндекса=стр[КН.Имя]; Мас.Вставить(счетчик,ЗначениеИндекса); КонецЦикла; ТЗ2.ЗагрузитьКолонку(Мас,ТЗ2.колонки[СчетчикСтрок]); КонецЦикла; Возврат ТЗ2; КонецФункции

