Убрать галочки в поле ввода формы

1. user1655116 21.10.24 15:05 Сейчас в теме
Здравствуйте!
Есть пользовательские поля отчёта, которые задаются на форме программно. По умолчанию все поля отмечены галочками. Подскажите, как программно убрать некоторые из них. К каком свойству нужно обратиться.
Программное создание поля ввода
	НастройкиКомпоновщика = КомпоновщикНастроек.ПолучитьНастройки();
	ЭлементыНастроек = НастройкиКомпоновщика.ПараметрыДанных.Элементы;
	
	СписокВыводимыхПолей = Новый СписокЗначений;	
	ЗаполнитьСписокВыводимыхПолей(СписокВыводимыхПолей, НастройкиКомпоновщика);
	
	ИмяРеквизитаПолейОтчета = "ПоляОтчета";
	РеквизитыОтчета = Новый Массив;
	РеквизитПоляОтчета = Новый РеквизитФормы(ИмяРеквизитаПолейОтчета, Новый ОписаниеТипов("СписокЗначений"));
	РеквизитыОтчета.Добавить(РеквизитПоляОтчета);
	Контекст.ИзменитьРеквизиты(РеквизитыОтчета);
	Контекст[ИмяРеквизитаПолейОтчета] = СписокВыводимыхПолей;
	
	ЭлементыФормы = Контекст.Элементы;
	ПанельБыстрыхНастроекФормы = ЭлементыФормы.Найти("ПанельБыстрыхНастроек");
	Если Не ПанельБыстрыхНастроекФормы = Неопределено Тогда		
		ЭлементПоляОтчета = ЭлементыФормы.Добавить(ИмяРеквизитаПолейОтчета, Тип("ПолеФормы"), ПанельБыстрыхНастроекФормы);
		ЭлементПоляОтчета.Вид = ВидПоляФормы.ПолеВвода;
		ЭлементПоляОтчета.ПутьКДанным = ИмяРеквизитаПолейОтчета;
		ЭлементПоляОтчета.Заголовок = "Поля отчёта";
		ЭлементПоляОтчета.КнопкаВыпадающегоСписка = Истина;
		ЭлементПоляОтчета.РежимВыбораИзСписка = Истина;
		ЗаполнитьСписокВыводимыхПолей(ЭлементПоляОтчета.СписокВыбора, НастройкиКомпоновщика);
	КонецЕсли;

Показать

ЗаполнитьСписокВыводимыхПолей отдельная процедура заполняющая список по своему алгоритму,
СписокВыводимыхПолей.Добавить(Строка(ВозможноеПолеОтчета.Поле),
									ВозможноеПолеОтчета.Заголовок, 
									ЭлементГруппировки.Использование,
									БиблиотекаКартинок.Реквизит);
Прикрепленные файлы:
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. kuzev 48 21.10.24 15:18 Сейчас в теме
У элемента списка значений есть свойство "Пометка".
3. user1655116 21.10.24 15:27 Сейчас в теме
(2) Спасибо! Не подскажете, что делаю не так? Добавляю в конец
	Для каждого ВыбранноеПоле из ЭлементПоляОтчета.СписокВыбора Цикл
		Если Строка(ВыбранноеПоле.Значение) = "Балансодержатель" Тогда
			ВыбранноеПоле.Пометка = Ложь;
		КонецЕсли;
	КонецЦикла;	

В условие заходит, но пометка всё равно остаётся
7. kuzev 48 21.10.24 15:49 Сейчас в теме
(3) Думаю, что Вы ошибаетесь в логике работы списка значений. В форме выбора отмечены будут только те позиции, которые выбраны пользователем. Для этого необходимо загрузить список выбранных значений в связанный с элементом реквизит формы.
Например, как-то так:
Отчет[ИмяРеквизита].ЗагрузитьЗначения(МассивВыбранныхЗначений)
4. Snoocker 21.10.24 15:32 Сейчас в теме
СписокВыводимыхПолей.Добавить(Строка(ВозможноеПолеОтчета.Поле),
                                    ВозможноеПолеОтчета.Заголовок, 
                                    ЭлементГруппировки.Использование,
                                    БиблиотекаКартинок.Реквизит);


Попробуй тут поставить "Ложь"
ЭлементГруппировки.Использование
5. user1655116 21.10.24 15:33 Сейчас в теме
(4) Если ЭлементГруппировки.Использование установить в значение Ложь, то вовсе пропадает элемент из списка
6. Snoocker 21.10.24 15:46 Сейчас в теме
(5) Я, видимо, не так обяснил
В процедуре, где заполняется список Сейчас так
СписокВыводимыхПолей.Добавить(Строка(ВозможноеПолеОтчета.Поле),
                                    ВозможноеПолеОтчета.Заголовок, 
                                    ЭлементГруппировки.Использование,
                                    БиблиотекаКартинок.Реквизит);


А попробуй так

СписокВыводимыхПолей.Добавить(Строка(ВозможноеПолеОтчета.Поле),
                                    ВозможноеПолеОтчета.Заголовок, 
                                    Ложь,
                                    БиблиотекаКартинок.Реквизит);
8. user1655116 21.10.24 16:01 Сейчас в теме
(6) Спасибо. Но, к сожалению, не получилось. Так и остались все выбранные
Оставьте свое сообщение

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