Здравствуйте, подскажите программно создаю реквизиты формы для таблицы значений реквизит формы. Сами реквизиты колонки динамические, то есть могут быть разные в зависимости от входящих данных. Создаю элементы формы для этих реквизитов-колонок, далее для них создаю обработчики при изменении. Но только теперь понял, что раз обработчики созданы динамически, то сами процедуры при изменении я не могу вызвать т.к. их не прописать не зная заранее все реквизиты. Или я не правильно в данном механизме что то понял. Как то можно использовать программно созданные обработчики событий, для программно созданных элементов(динамически) или так нельзя?

```1c
    мЭлемент = Элементы.Добавить(КолонкаТаблицы.ДинамическаяКолонка, Тип("ПолеФормы"), Элементы.ТаблицаЗагрузки);

    мЭлемент.Вид = ВидПоляФормы.ПолеВвода;

    мЭлемент.ПутьКДанным = "ТаблицаЗагрузки." + КолонкаТаблицы.ДинамическаяКолонка;

    мЭлемент.УстановитьДействие("ПриИзменении", "ВыполнитьДействиеПриИзмененииДанных");
```
---
Вариант такой пишите для всех элементов 1 обработчик и внем в зависимости от элемента делаете чтото.
Можно например, по имени элемента проверять, если состав колонок заранее известен (т.е. их 10 штук, но в зависимости от условий от 3 до 10 показывается)

```1c
    мЭлемент.УстановитьДействие("ПриИзменении", "ВыполнитьДействиеПриИзмененииДанных");

    Процедура ВыполнитьДействиеПриИзмененииДанных(Элемент)
    Если Элемент.Имя = "СписокЭлементКонтрагент" Тогда

    ИначеЕсли Элемент.Имя = "СписокЭлементОрганизация"

    КонецЕсли;
    КонецПроцедуры
```
---
Вариант такой пишите для всех элементов 1 обработчик и внем в зависимости от элемента делаете чтото.
Можно например, по имени элемента проверять, если состав колонок заранее известен (т.е. их 10 штук, но в зависимости от условий от 3 до 10 показывается)

```1c
    мЭлемент.УстановитьДействие("ПриИзменении", "ВыполнитьДействиеПриИзмененииДанных");

    Процедура ВыполнитьДействиеПриИзмененииДанных(Элемент)
    Если Элемент.Имя = "СписокЭлементКонтрагент" Тогда

    ИначеЕсли Элемент.Имя = "СписокЭлементОрганизация"

    КонецЕсли;
    КонецПроцедуры
```
---
Думаю такой вариант подойдет, у меня есть сохраненные имена колонок и с чем сравнивать, не додумался, что какую процедуру при изменении устанавливаешь, такая и отрабатывает, думал каждому свою только, это решает вопрос.
---
А что нужно делать то в ПриИзменении?
---
Логика такая, с эксель загружаются данные по доп реквизитам, колонки могут быть разные. После всех проверок выводится данные на форму, где отображаются и ошибки. Пользователь должен иметь возможность изменять их прям из формы. Ошибки эти пишутся в таблицу формы. И вот для того чтобы они удалялись из этой таблицы нужно чтобы при изменении значений этих программно созданных колонок проводилась проверка на правильность в базе и если все ок, то из реестра ошибок удаляем.
---
если я правильно понял также и используешь как и не для программно созданных. Попробуй хотя бы для начала
---
Там вопрос в том что заранее саму процедуру при изменении не пропишешь для каждого такого элемента, т.к. заранее его имя не известно, может подойти второй коммент
---
А что вы хотите сделать при изменении с реквизитом?
Если вы заранее не знаете имя колонки, значит у вас общая логика обработки изменения, независящая от ее имени.
```1c
    &НаКлиенте
    Процедура ВыполнитьДействиеПриИзмененииДанных(Элемент)
    ВыполнитьДействиеПриИзмененииДанныхНаСервере(Элемент.Имя)
    КонецПроцедуры

    &НаСервере
    Процедура ВыполнитьДействиеПриИзмененииДанныхНаСервере(Знач ИмяКолонки)

    ТекущиеДанные = ТаблицаЗагрузки.НайтиПоИдентификатору(Элементы.ТаблицаЗагрузки.ТекущаяСтрока);

    Элемент = Элементы[ИмяКолонки];
    ЧастиПути = СтрРазделить(Элемент.ПутьКДанным, ".");
    ИмяПоля = ЧастиПути[ЧастиПути.ВГраница()];

    ЗначениеПоля = ТекущиеДанные[ИмяПоля];

    Сообщить("Изменено значение поля " + ИмяПоля + " : " + ЗначениеПоля);

    КонецПроцедуры
```
---
Логика такая, с эксель загружаются данные по доп реквизитам, колонки могут быть разные. После всех проверок выводится данные на форму, где отображаются и ошибки. Пользователь должен иметь возможность изменять их прям из формы. Ошибки эти пишутся в таблицу формы. И вот для того чтобы они удалялись из этой таблицы нужно чтобы при изменении значений этих программно созданных колонок проводилась проверка на правильность в базе и если все ок, то из реестра ошибок удаляем.
---
Не обязательно, имена я могу брать из колонок таблицы уже с созданными реквизитами