Задача програмно создать РеквизитФормы а также вывести этот реквизит на форму, с видом Поле картинки.
Никак не получается прописать путь елемента к реквизиту формы. Получаю ошибку "Неприпустимое значение"

```1c
    ИмяРеквизитаФормы = строка(" +"Photo" +(новСтр.НомерСтроки -1));
    НовыйРеквизит = Новый РеквизитФормы(ИмяРеквизитаФормы, Новый ОписаниеТипов("Строка"),, ИмяРеквизитаФормы, Истина);

    ФормаГде = ЭтаФорма.Элементы.СписокФоток;
    ЭлементОтображения = ЭтаФорма.Элементы.Добавить(ИмяРеквизитаФормы, Тип("ПолеФормы"), ФормаГде);
    ЭлементОтображения.Вид = ВидПоляФормы.ПолеКартинки;
    ЭлементОтображения.ПутьКДанным = "ИмяРеквизитаФормы"; //здесь ошибка
```
---
Ваш новый реквизит принадлежит форме. Это новое поле формы. Соответственно присваивать значение следует так:

```1c
    ЭтаФорма.Фото0 = Значение; // если известно имя
    ЭтаФорма["Фото" + Номер] = Значение; // если имя составное
```
---
НовыйРеквизит = Новый РеквизитФормы(ИмяРеквизитаФормы, Новый ОписаниеТипов("Строка"),, ИмяРеквизитаФормы, Истина);Этого недостаточно. Необходимы еще три инструкции:

```1c
    ДобавляемыеРеквизиты = Новый Массив;
    ДобавлямыеРеквизиты.Добавить(НовыйРеквизит);
    ИзменитьРеквизиты(ДобавляемыеРеквизиты);
```
---
ДобавляемыеРеквизиты = Новый Массив;
ДобавлямыеРеквизиты.Добавить(НовыйРеквизит);
ИзменитьРеквизиты(ДобавляемыеРеквизиты);

Спасибо, так получилось. Но возник другой вопрос.
Если Реквизит создан не програмно, а ручками, то после того как я изменил значение реквизита на сервере, на клиенте потом я мого его обновить
Элементы.Фото0.Обновить();

Но если я создаю его програмно, то как тепер на клиенте получить название нового созданого елемента формы, и как обновить его?
---
Можно и как "Элементы.Фото0.Обновить()". Контекстная подсказка такого элемента не покажет, во время выполнения программы ошибки не будет.
---
с обновлением решил церез цикл на кленте

```1c
    Для каждого Элемент Из Элементы.СписокФоток.ПодчиненныеЭлементы Цикл
    Элементы[Элемент.Ключ].Обновить();
    КонецЦикла;
```

но увы начальный вопрос так и не решен. У меня ЭлементФормы не получает значения пути новосозданого реквизита формы, и соответсвенно ЭлементФормы ничего не отображает

Если я правильно думаю, то должно быть так
ЭлементОтображения.ПутьКДанным = НовыйРеквизит;

Но увы получаю ошибку
---
Путь к данным это строка. ЭлементОтображения.ПутьКДанным = ИмяРеквизитаФормы.
---
хорошо, тогда как записать данные в новосозданный резквизит?
---
Хм, а ежели кавычки убрать?
---
такая же ошибка
---
У "поля картинки" нет свойства "ПутьКДанным"
---
почему, если ручками создать РеквизитФормы и вывести его на форму, то у этого елемента формы есть ПутьКДанным, а мне нужно это все прописать програмно
---
Форма обычная или управляемая у вас?
---
управляемая
---
так как записать данные в новосозданный резквизит?

```1c
    ИмяРеквизитаФормы = строка(" +"Photo" +(новСтр.НомерСтроки -1));
    НовыйРеквизит = Новый РеквизитФормы(ИмяРеквизитаФормы, Новый ОписаниеТипов("Строка"),, ИмяРеквизитаФормы, Истина);

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

    ФормаГде = ЭтаФорма.Элементы.СписокФоток;
    ЭлементОтображения = ЭтаФорма.Элементы.Добавить(ИмяРеквизитаФормы, Тип("ПолеФормы"), ФормаГде);
    ЭлементОтображения.Вид = ВидПоляФормы.ПолеКартинки;
    ЭлементОтображения.ПутьКДанным = ИмяРеквизитаФормы;
    НовыйРеквизит = ПолучитьНавигационнуюСсылку(ТекДок, "СписокФото.Фото", (новСтр.НомерСтроки -1));
```
---
Ваш новый реквизит принадлежит форме. Это новое поле формы. Соответственно присваивать значение следует так:

```1c
    ЭтаФорма.Фото0 = Значение; // если известно имя
    ЭтаФорма["Фото" + Номер] = Значение; // если имя составное
```