Скорее всего, простого способа нет, и без кодирования не обойтись. Далее приведу пример, как это можно сделать с помощью компонента JavaScript (Программирование).
В мастере JavaScript в Настройках столбцов нужно указать, что выходные поля будут сформированы кодом.
И добавить сам код:
import { InputTable, OutputTable, DataType } from "builtIn/Data";
let names = []; // Массив имен полей (должны быть правильными идентификаторами)
let labels = []; // Массив меток, наше описание из первого поля/столбца
let types = []; // Массив типов полей (может быть целым, строкой, переменным типом и т.п.)
// Генерируем параметры заголовков таблицы на основе первого поля, то есть col = 0 (здесь первое поле имеет имя "COL1")
for(let line = 0; line < InputTable.RowCount; line++) {
names.push(`Col${line + 1}`); // Создаем имя в виде правильного идентификатора
labels.push(InputTable.Columns.COL1.Get(line)); // Метку берем из исходного набора
types.push(DataType.Variant); // Используем переменный тип
}
// Создаем поля таблицы
for(let col = 0; col < names.length; col++) {
OutputTable.AddColumn({Name: names[col], DisplayName: labels[col], DataType: types[col]});
}
// Заполняем строки таблицы. Начинаем с 1, так как в col = 0 у нас заголовки
for(let col = 1; col < InputTable.ColumnCount; col++) {
OutputTable.Append(); // Добавляем очередную строку
const column = InputTable.Columns[col];
for(let line = 0; line < InputTable.RowCount; line++) {
const val = column.Get(line); // Очередное значение
OutputTable.Set(line, val); // Добавляем
}
}