Элементы формы добавляются при изменении реквизита формы командой

```1c
    ТаблицаПолейВыбора = Элементы.Добавить("ТЗН", Тип("ТаблицаФормы"),Элементы.ТаблицаПоказателей);
```

Ранее эти элементы удаляются в попытке командой

```1c
    Элементы.Удалить(ЭтаФорма.Элементы.ТаблицаПоказателей.ТЗН);
```

При первом изменениии реквизита все срабатывает, при повторном нет, выдает ошибку неверности параметра при добавлении элемента. Я так понимаю он не удаляется. Что не так?
---
Оказывается не надо было указывать группу в методе удалить, не так

```1c
    Элементы.Удалить(ЭтаФорма.Элементы.ТаблицаПоказателей.ТЗН);
```

а так

```1c
    Элементы.Удалить(ЭтаФорма.Элементы.ТЗН);
```
---
"Я так понимаю он не удаляется" посмотри отладкой. + лучше выкладывать ошибку "как есть" а не интерпретировать ее своими словами. + посмотри и сравни, что лежит в параметрах при первом и повторном добавлении реквизитов.
---
а как в отладчике смотреть наличае элементов формы
---
```1c
    ЭтаФорма.Элементы
```

Вроде так.
---
Я локальных переменных ЭтаФорма не нашожу, и добавить ее не знаю как
---
у вас обычные формы?
---
управляемые
---
Тогда &НаКлиенте , или &НаСервере ставьте точку останова, напишите "ЭтаФорма.Элементы" , выделите это и нажмите шифт+F9
---
ТЗН удаляется, ЭтаФорма.Элементы.ТаблицаПоказателей ТЗН перед добавлением нет
---
А зачем вы их вообще удаляете и добавляете по несколько раз? Не проще видимостью управлять?
---
ТЗН полностью программно создается, колонки у разных отчетов разные, в принципе все сделано как в одном из местных примеров
---
это же колонка таблицы, как я понял?

```1c
    &НаСервере
    Процедура ДобавитьКолонкуНаСервере()
    нРеквизиты = Новый Массив;
    нРеквизиты.Добавить(Новый РеквизитФормы("Тест3", Новый ОписаниеТипов("Строка"), "Объект.Тест", "Тест3", Истина));
    ИзменитьРеквизиты(нРеквизиты);

    нЭлемент = Элементы.Добавить("Тест3", Тип("ПолеФормы"), Элементы.Тест);
    нЭлемент.Вид = ВидПоляФормы.ПолеВвода;
    нЭлемент.ПутьКДанным = "Объект.Тест.Тест3";
    КонецПроцедуры
```

вот пример добавления колонки, попробуйте как в нем добавлять.
---
Плохой вариант, у меня при смене вида отчетности, меняются все колонки, мне надо какие то удалить, какие то добавить, страсть как сложно так делать.
Я вот что подумал, может фокус в том что удаляю на сервере? при этом на клиент может все не передается, и при повторном добавлении сбоит
---
чем плох? Создайте процедуру для добавления и вызывайте ее

```1c
    &НаСервере
    Процедура ДобавитьКолонкуТаблицаПоказателей(ИмяКолонки,ИмяРеквизита)

    нЭлемент = Элементы.Добавить(ИмяКолонки, Тип("ПолеФормы"), Элементы.ТаблицаПоказателей);
    нЭлемент.Вид = ВидПоляФормы.ПолеВвода;
    нЭлемент.ПутьКДанным = "Объект.ТаблицаПоказателей." + ИмяРеквизита;

    КонецПроцедуры
```

И вызывайте ее, когда надо

```1c
    ДобавитьКолонкуТаблицаПоказателей("ТЗН", "ТЗН");
```
---
А удалять старые?
---
Создайте процедуру для удаления)
---
Почему мой код то работает то нет, переписывать заколебусь, нужно просто понять почему
---
Мой совет, лучше переписать, особенно, если у вас много повторений одного и того же кода, типа такого "ТаблицаПолейВыбора = Элементы.Добавить("ТЗН", Тип("ТаблицаФормы"),Элементы.ТаблицаПоказателей);"

Мало того что значительно повысится читаемость, дак в дальнейшем, особенно через промежуток времени, будет легче модифицировать и дорабатывать форму.
---
Для справки: если планируете удалять программно созданные элементы, то перед удалением ищите их методом Элементы.Найти(<Имя_элементы>), далее если у вас элемент найден, то удаляйте.
Потому как в УФ можно таскать элементы куда угодно на форме в пользовательском режиме, а у вас идет явное указание где этот элемент располагается.
---
У меня попытка на удаление, это с примера взято который тут нарыл
вот ошибка сама
{Документ.АИС_АПК_ОтчетностьСХТП.Форма.ФормаДокумента.Форма(445)}: Ошибка при вызове метода контекста (Добавить)
    ТаблицаПолейВыбора = Элементы.Добавить("ТЗН", Тип("ТаблицаФормы"),Элементы.ТаблицаПоказателей);
по причине:
Недопустимое значение параметров
---
Либо элемент "ТаблицаПоказателей" не существует, либо в предыдущий раз элемент не был удален. Очень похоже, что элемент с именем "ТЗН" уже есть на форме.
---
Я ж и начал с того что написал что похоже ТЗН не удаляется, и привел код как добавления так и удаления, причем тот же код в другом месте срабатывает, Еще на форме появляется новая таблица значений, новая, с другим видом колонк, но строи у нее пустые, тут что то тоньше
---
Какая то особенность именно метода добавить
---
Я что то не понял, добавил
&НаКлиенте
Процедура УдалитьТЗН ()
 Попытка
  Элементы.Удалить(ЭтаФорма.Элементы.ТаблицаПоказателей.ТЗН);
 Исключение
  Сообщить ("Не удалилось");
 КонецПопытки
КонецПроцедуры

У меня всегда неудалось получается
---
Метод "Удалить()" доступен только в серверном контексте.
---
Ну почему один и тот же код в разных процедурах работает, а если команды удаления и добавления в одной - нет?
---
Оказывается не надо было указывать группу в методе удалить, не так

```1c
    Элементы.Удалить(ЭтаФорма.Элементы.ТаблицаПоказателей.ТЗН);
```

а так

```1c
    Элементы.Удалить(ЭтаФорма.Элементы.ТЗН);
```