Программно создать реквизит типа Булево

1. Synthersizer 04.10.22 14:09 Сейчас в теме
Имеется пустой документ. Как мне программно создать и поместить на него реквизит типа булево? И как помещать этот элемент в разные элементы формы? Например в командную панель. Пробую так но реквизит на форму не появляется.
НовЭлемент = Элементы.Добавить("Тест", Тип("ПолеФормы"));
	НовЭлемент.Вид = ВидПоляФормы.ПолеФлажка;	
	НовЭлемент.Заголовок = "Получилось!";
	НовЭлемент.Видимость = Истина; 
Прикрепленные файлы:
user1856280; +1 Ответить
По теме из базы знаний
Найденные решения
15. Sashares 34 04.10.22 15:50 Сейчас в теме
(14)
Элементы.МойЭлемент.УстановитьДействие("ПриИзменении", "NameПриИзменении");
user1856280; Synthersizer; +2 Ответить
6. Synthersizer 04.10.22 14:38 Сейчас в теме
(4)(5) Спасибо огромное что помогли разобраться) Выводится
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
	ДобавляемыеРеквизиты = Новый Массив();
	РеквизитТестовый = Новый РеквизитФормы("НазваниеРеквизита",Новый ОписаниеТипов("Булево")); 
	ДобавляемыеРеквизиты.Добавить(РеквизитТестовый);
	ЭтаФорма.ИзменитьРеквизиты(ДобавляемыеРеквизиты);
	НовЭлемент = Элементы.Добавить("Тест", Тип("ПолеФормы"));
	НовЭлемент.Вид = ВидПоляФормы.ПолеФлажка;	
	НовЭлемент.Заголовок = "Получилось!"; 
	НовЭлемент.ПутьКДанным = "НазваниеРеквизита";   
	НовЭлемент.Видимость = Истина; 
КонецПроцедуры
Показать
Прикрепленные файлы:
user1856280; +1 Ответить
14. Synthersizer 04.10.22 15:38 Сейчас в теме
(13) А подскажите еще пожалуйста) Как ловить изменения программно созданных элементов? Или это то, про что вы и говорили "а почему этот реквизит не сохраняется".
Процедура NameПриИзменении(Элемент) 

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

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

Ну и саму процедуру действия прописать. Всем спасибо еще раз огромное!)
user1856280; +1 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Sashares 34 04.10.22 14:11 Сейчас в теме
(1)
Пробую так но реквизит на форму не появляется.

Вы добавляете элемент.
Сначала нужно добавить реквизит формы, а потом уже добавить для него элемент.
user1856280; Synthersizer; +2 Ответить
3. Synthersizer 04.10.22 14:24 Сейчас в теме
(2) Что-то вроде такого?)
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
	РеквизитТестовый = Новый РеквизитФормы("НазваниеРеквизита",Новый ОписаниеТипов("Булево"));
	НовЭлемент = Элементы.Добавить("Тест", Тип("ПолеФормы"));
	НовЭлемент.Вид = ВидПоляФормы.ПолеФлажка;	
	НовЭлемент.Заголовок = "Получилось!"; 
	НовЭлемент.ПутьКДанным = "НазваниеРеквизита";   //Тут не так
	НовЭлемент.Видимость = Истина; 
КонецПроцедуры
Показать
user1856280; +1 Ответить
5. Sashares 34 04.10.22 14:33 Сейчас в теме
(3) Почти.
Надо еще
ЭтаФорма.ИзменитьРеквизиты(ДобавляемыеРеквизиты);
Где добавляемые реквизиты это массив добавляемых реквизитов.

Вот например публикация подробная https://infostart.ru/1c/articles/1118319/?ysclid=l8u4gv83u7355940893
user1856280; Synthersizer; +2 Ответить
4. coollerinc 188 04.10.22 14:32 Сейчас в теме
Для добавления реквизитов на форму, нужно использовать метод формы "ИзменитьРеквизиты".
После этого добавляете элементформы, где ПутьКДанным это имя реквизита
user1856280; Synthersizer; +2 Ответить
6. Synthersizer 04.10.22 14:38 Сейчас в теме
(4)(5) Спасибо огромное что помогли разобраться) Выводится
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
	ДобавляемыеРеквизиты = Новый Массив();
	РеквизитТестовый = Новый РеквизитФормы("НазваниеРеквизита",Новый ОписаниеТипов("Булево")); 
	ДобавляемыеРеквизиты.Добавить(РеквизитТестовый);
	ЭтаФорма.ИзменитьРеквизиты(ДобавляемыеРеквизиты);
	НовЭлемент = Элементы.Добавить("Тест", Тип("ПолеФормы"));
	НовЭлемент.Вид = ВидПоляФормы.ПолеФлажка;	
	НовЭлемент.Заголовок = "Получилось!"; 
	НовЭлемент.ПутьКДанным = "НазваниеРеквизита";   
	НовЭлемент.Видимость = Истина; 
КонецПроцедуры
Показать
Прикрепленные файлы:
user1856280; +1 Ответить
7. user1831019 04.10.22 14:47 Сейчас в теме
(6) "Теперь ты еще полдня за ним бегать будешь, чтобы фотографию отдать!" (С)
Вангую, что теперь будет вопрос - а почему этот реквизит не сохраняется?
user1856280; +1 Ответить
8. Synthersizer 04.10.22 14:50 Сейчас в теме
(7)Почти. А как его помещать в нужные места? ;D
НовЭлемент = Элементы.Добавить("Тест", Тип("ПолеФормы"), КоманднаяПанель);

Я так понимаю последняя часть это указание куда поместить? Вот например в командной панели еще есть подгруппы. А как в них тогда поместить? Не до конца понимаю)
user1856280; +1 Ответить
9. user1831019 04.10.22 14:55 Сейчас в теме
(8)
Я так понимаю последняя часть это указание куда поместить?
А что нам говорит Синтакс-Помощник?
Вот например в командной панели еще есть подгруппы. А как в них тогда поместить?
Наверное, сначала придется разобраться в том, как обращаться к существующим элементам формы. почитать литературку, например.

А потом горько разочароваться, узнав, что поля ввода вообще никак нельзя поместить в командную панель.
user1856280; +1 Ответить
10. Synthersizer 04.10.22 14:59 Сейчас в теме
(9)Хорошо, а как например тогда поместить в эту группу? Я правда рад бы почитать литературу, но в 1С гайды в большинстве случаев очень странно написаны (как для меня). Либо я просто привык слишком к другим языкам. Простите за такие вопросы уж)
Прикрепленные файлы:
user1856280; +1 Ответить
11. user1831019 04.10.22 15:00 Сейчас в теме
(10) Указать третьим параметром именно эту группу.
user1856280; +1 Ответить
12. Synthersizer 04.10.22 15:10 Сейчас в теме
(11) Спасибо вам огромнейшее)
НовЭлемент = Элементы.Добавить("Тест", Тип("ПолеФормы"), ЭтаФорма.Элементы.Тест);
user1856280; +1 Ответить
13. user1831019 04.10.22 15:12 Сейчас в теме
14. Synthersizer 04.10.22 15:38 Сейчас в теме
(13) А подскажите еще пожалуйста) Как ловить изменения программно созданных элементов? Или это то, про что вы и говорили "а почему этот реквизит не сохраняется".
Процедура NameПриИзменении(Элемент) 

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

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

Ну и саму процедуру действия прописать. Всем спасибо еще раз огромное!)
user1856280; +1 Ответить
15. Sashares 34 04.10.22 15:50 Сейчас в теме
(14)
Элементы.МойЭлемент.УстановитьДействие("ПриИзменении", "NameПриИзменении");
user1856280; Synthersizer; +2 Ответить
16. user1831019 04.10.22 15:50 Сейчас в теме
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот