Имеется пустой документ. Как мне программно создать и поместить на него реквизит типа булево? И как помещать этот элемент в разные элементы формы? Например в командную панель. Пробую так но реквизит на форму не появляется.

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

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

```1c
    Процедура NameПриИзменении(Элемент)
```

Так пробовал но нет) (Кажется нашел тему на форуме с подобным, сейчас попробую)

Разобрался!)

```1c
    НовЭлемент.УстановитьДействие("ПриИзменении", "МойОбработчикПриИзменении");
```

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

```1c
    &НаСервере
    Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    РеквизитТестовый = Новый РеквизитФормы("НазваниеРеквизита",Новый ОписаниеТипов("Булево"));
    НовЭлемент = Элементы.Добавить("Тест", Тип("ПолеФормы"));
    НовЭлемент.Вид = ВидПоляФормы.ПолеФлажка;
    НовЭлемент.Заголовок = "Получилось!";
    НовЭлемент.ПутьКДанным = "НазваниеРеквизита"; //Тут не так
    НовЭлемент.Видимость = Истина;
    КонецПроцедуры
```
---
Почти.
Надо еще
ЭтаФорма.ИзменитьРеквизиты(ДобавляемыеРеквизиты);
Где добавляемые реквизиты это массив добавляемых реквизитов.

Вот например публикация подробная https://infostart.ru/1c/articles/1118319/?ysclid=l8u4gv83u7355940893
---
Для добавления реквизитов на форму, нужно использовать метод формы "ИзменитьРеквизиты".
После этого добавляете элементформы, где ПутьКДанным это имя реквизита
---
(5) Спасибо огромное что помогли разобраться) Выводится

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

```1c
    НовЭлемент = Элементы.Добавить("Тест", Тип("ПолеФормы"), КоманднаяПанель);
```

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

А потом горько разочароваться, узнав, что поля ввода вообще никак нельзя поместить в командную панель.
---
Хорошо, а как например тогда поместить в эту группу? Я правда рад бы почитать литературу, но в 1С гайды в большинстве случаев очень странно написаны (как для меня). Либо я просто привык слишком к другим языкам. Простите за такие вопросы уж)
---
Указать третьим параметром именно эту группу.
---
Спасибо вам огромнейшее)

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

```1c
    Процедура NameПриИзменении(Элемент)
```

Так пробовал но нет) (Кажется нашел тему на форуме с подобным, сейчас попробую)

Разобрался!)

```1c
    НовЭлемент.УстановитьДействие("ПриИзменении", "МойОбработчикПриИзменении");
```

Ну и саму процедуру действия прописать. Всем спасибо еще раз огромное!)
---
```1c
    Элементы.МойЭлемент.УстановитьДействие("ПриИзменении", "NameПриИзменении");
```
---
В школу!!! https://v8.1c.ru/metod/books/71121.htm