Второй день "пляшу с бубном". На форме документа (УФ) две ТЧ. Стоит задача добавить строки первой таблицы перенести в колонки второй, таким образом, чтобы значения строк первой стали заголовками второй. Массив с именами колонок подготовил. Делаю цикл. Параметры выражений Новый РеквизитФормы, Элементы.Добавить и ПутьКДанным ожидают ввода строки в кавычках. Если делаю переменную (нужно в цикле) то получаю ошибку "Неверно указан параметр "1". Если оставляю кавычки, то одна строка успешно переходит в колонку. Если две, то ругается на уникальность имени заголовка (все логично). Конструкции типа "Имя" + переменная не прокатывают, хотя везде пишут, что работает. Ткните носом что не так.

 МассивДобавляемыхРеквизитов = Новый Массив;
 Для Каждого тЭлемент из мсДанных Цикл //массив имен мсДанных содержит названия колонок
  МассивДобавляемыхРеквизитов.Добавить(Новый РеквизитФормы("тЭлемент", // Вот здесь нужна переменная
  ОписаниеТиповДляРеквизита,"Объект.ТЗвторая",тЭлемент,Ложь));

 КонецЦикла;

 ИзменитьРеквизиты(МассивДобавляемыхРеквизитов);

 Для Каждого тЭлемент из мсДанных Цикл
     нЭлемент = ЭтаФорма.Элементы.Добавить("тЭлемент", // и вот здесь нужна переменная
                                       Тип("ПолеФормы"), Элементы.УстановкаДоступности);
     нЭлемент.Вид = ВидПоляФормы.ПолеВвода;
     нЭлемент.ПутьКДанным = "Объект.ТЗвторая.тЭлемент"; // путь? вариант "Объект.ТЗвторая." + тЭлемент не проходит
     нЭлемент.Видимость = Истина;
 КонецЦикла;
---
1.
```1c
    Новый РеквизитФормы("тЭлемент"......
```

Заменить на

```1c
    Новый РеквизитФормы(тЭлемент.....
```

2. Убедиться, что значение, которое вводится в строку(оно же, хранящееся в тЭлемент) соответствует требованиям к наименованию реквизитов(не содержит пробелов, спецсимволов, начинается с буквы)
---
Добавлю к (3): проверять так же надо на дубли.
---
Элементы массива имеют тип "строка"
---
1.
```1c
    Новый РеквизитФормы("тЭлемент"......
```

Заменить на

```1c
    Новый РеквизитФормы(тЭлемент.....
```

2. Убедиться, что значение, которое вводится в строку(оно же, хранящееся в тЭлемент) соответствует требованиям к наименованию реквизитов(не содержит пробелов, спецсимволов, начинается с буквы)
---
Сообщение было скрыто модератором.
---
Предлагаемый вариант самый логичный на мой взгляд. Так я и делал. В результате получаю ошибку:

Ошибка при вызове конструктора (РеквизитФормы)
{Документ.УстановкаДоступностиДокументовПользователям.Форма.ФормаДокумента.Форма(31)}:МассивДобавляемыхРеквизитов.Добавить(Новый РеквизитФормы(тЭлемент,
{Документ.УстановкаДоступностиДокументовПользователям.Форма.ФормаДокумента.Форма(115)}:ДалееНаСервере();

по причине:
Недопустимое значение параметра (параметр номер '1')

Сейчас кот выглядит так :

```1c
    МассивДобавляемыхРеквизитов = Новый Массив;
    Для Каждого тЭлемент из мсДанных Цикл //массив имен содержит названия колонок

    МассивДобавляемыхРеквизитов.Добавить(Новый РеквизитФормы(тЭлемент,
    ОписаниеТиповДляРеквизита,"Объект.ТЗвторая",тЭлемент,Ложь));

    КонецЦикла;

    ИзменитьРеквизиты(МассивДобавляемыхРеквизитов);

    Для Каждого тЭлемент из мсДанных Цикл
    нЭлемент = ЭтаФорма.Элементы.Добавить(тЭлемент, Тип("ПолеФормы"), Элементы.Объект.ТЗвторая);
    нЭлемент.Вид = ВидПоляФормы.ПолеВвода;
    нЭлемент.ПутьКДанным = Объект.ТЗвторая+"."+тЭлемент;
    нЭлемент.Видимость = Истина;
    КонецЦикла;
```
---
Сообщение было скрыто модератором.
---
Недопустимое значение параметра (параметр номер '1')
Недопустимое имя колонки. Предположительно содержит пробелы и/или начинается на цифру и/или содержит недопустимые символы.
Формируйте конструктор с именами генерированными отдельно от строк названий колонок.
ИмяКолонки = "Колонка_"+СтрЗаменить(Новый УникальныйИдентификатор(),"-","_");
И уже в качестве имени указывайте ее, а в заголовок нужное строковое значение.
Соответственно и ПутьКДанным будет с учетом ИмяКолонки.
---
Сообщение было скрыто модератором.
---
перечитай задачу:
"Стоит задача добавить строки первой таблицы перенести в колонки второй, таким образом, чтобы значения строк первой стали заголовками второй"
В задаче только заголовки нужны.
---
Сообщение было скрыто модератором.
---
ты путаешь имя колонки и заголовок. Заголовок указывается нужный, как заведен в строке первой таблицы. Про имена колонок ничего в задаче не сказано.
---
Сообщение было скрыто модератором.
---
которые и будут заноситься в Заголовок.
---
Сообщение было скрыто модератором.
---
ты отделяй условия поставленной перед ним задачей и его попыткой это решить. Просто он посчитал, что заголовки это и есть имена колонок.
Итого имеем. Первая ТЧ. В строках заносится текст, который в итоге должен отображаться в заголовках второй таблицы.
Этот тест набирает пользователь и может быть каким угодно. Пример: "Это вот такой красивый заголовок". Вот этот текст и должен быть отображен в колонке второй таблицы. Именно отображен как заголовок. Именно это и указано в условии задачи.
А "Массив с именами колонок подготовил." это уже попытка решить задачу.
---
Сообщение было скрыто модератором.
---
Спорим потом возникнет задача обратной связи? Когда по заголовку колонки второй таблицы надо будет найти строку в первой таблице?
Это решается дополнительным хранилищем соответствия.
(17) Вот вот. так что проблем вообще не вижу.
Можно вообще пересоздавать вторую таблицу. Все зависит от задачи использования ее дальше.
---
ПРОБЕЛЫ!!! Пробелы я упустил из виду, а массив гарантированно содержит пробелы. Про дубли дельное замечание, нужно будет включить проверку. Всем огромное спасибо за науку!
---
После СтрЗаменить() все заработало!!!