Здравствуйте!
Есть пользовательские поля отчёта, которые задаются на форме программно. По умолчанию все поля отмечены галочками. Подскажите, как программно убрать некоторые из них. К каком свойству нужно обратиться.
Программное создание поля ввода
ЗаполнитьСписокВыводимыхПолей отдельная процедура заполняющая список по своему алгоритму,
Есть пользовательские поля отчёта, которые задаются на форме программно. По умолчанию все поля отмечены галочками. Подскажите, как программно убрать некоторые из них. К каком свойству нужно обратиться.
Программное создание поля ввода
НастройкиКомпоновщика = КомпоновщикНастроек.ПолучитьНастройки();
ЭлементыНастроек = НастройкиКомпоновщика.ПараметрыДанных.Элементы;
СписокВыводимыхПолей = Новый СписокЗначений;
ЗаполнитьСписокВыводимыхПолей(СписокВыводимыхПолей, НастройкиКомпоновщика);
ИмяРеквизитаПолейОтчета = "ПоляОтчета";
РеквизитыОтчета = Новый Массив;
РеквизитПоляОтчета = Новый РеквизитФормы(ИмяРеквизитаПолейОтчета, Новый ОписаниеТипов("СписокЗначений"));
РеквизитыОтчета.Добавить(РеквизитПоляОтчета);
Контекст.ИзменитьРеквизиты(РеквизитыОтчета);
Контекст[ИмяРеквизитаПолейОтчета] = СписокВыводимыхПолей;
ЭлементыФормы = Контекст.Элементы;
ПанельБыстрыхНастроекФормы = ЭлементыФормы.Найти("ПанельБыстрыхНастроек");
Если Не ПанельБыстрыхНастроекФормы = Неопределено Тогда
ЭлементПоляОтчета = ЭлементыФормы.Добавить(ИмяРеквизитаПолейОтчета, Тип("ПолеФормы"), ПанельБыстрыхНастроекФормы);
ЭлементПоляОтчета.Вид = ВидПоляФормы.ПолеВвода;
ЭлементПоляОтчета.ПутьКДанным = ИмяРеквизитаПолейОтчета;
ЭлементПоляОтчета.Заголовок = "Поля отчёта";
ЭлементПоляОтчета.КнопкаВыпадающегоСписка = Истина;
ЭлементПоляОтчета.РежимВыбораИзСписка = Истина;
ЗаполнитьСписокВыводимыхПолей(ЭлементПоляОтчета.СписокВыбора, НастройкиКомпоновщика);
КонецЕсли;
ПоказатьЗаполнитьСписокВыводимыхПолей отдельная процедура заполняющая список по своему алгоритму,
СписокВыводимыхПолей.Добавить(Строка(ВозможноеПолеОтчета.Поле),
ВозможноеПолеОтчета.Заголовок,
ЭлементГруппировки.Использование,
БиблиотекаКартинок.Реквизит);
Прикрепленные файлы:
По теме из базы знаний
- Пример доработки ЗУП 2.5 для 6-НДФЛ и для сохранения галочки Исчисленный налог = Удержанный налог
- Интеграция сценарного тестирования в процесс разработки
- Универсальный конструктор отчетов СКД (управляемые формы, тонкий клиент)
- Файлы-процессы, динамическая работа с формами и многое другое в Simple UI. Ноябрь 2021
- Ввод вступительных остатков резерва отпусков. Распределение общей сводной суммы резерва отпусков по сотрудникам в ЗУП 3.1
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(2) Спасибо! Не подскажете, что делаю не так? Добавляю в конец
В условие заходит, но пометка всё равно остаётся
Для каждого ВыбранноеПоле из ЭлементПоляОтчета.СписокВыбора Цикл
Если Строка(ВыбранноеПоле.Значение) = "Балансодержатель" Тогда
ВыбранноеПоле.Пометка = Ложь;
КонецЕсли;
КонецЦикла;
В условие заходит, но пометка всё равно остаётся
(3) Думаю, что Вы ошибаетесь в логике работы списка значений. В форме выбора отмечены будут только те позиции, которые выбраны пользователем. Для этого необходимо загрузить список выбранных значений в связанный с элементом реквизит формы.
Например, как-то так:
Например, как-то так:
Отчет[ИмяРеквизита].ЗагрузитьЗначения(МассивВыбранныхЗначений)
СписокВыводимыхПолей.Добавить(Строка(ВозможноеПолеОтчета.Поле),
ВозможноеПолеОтчета.Заголовок,
ЭлементГруппировки.Использование,
БиблиотекаКартинок.Реквизит);
Попробуй тут поставить "Ложь"
ЭлементГруппировки.Использование
(5) Я, видимо, не так обяснил
В процедуре, где заполняется список Сейчас так
А попробуй так
В процедуре, где заполняется список Сейчас так
СписокВыводимыхПолей.Добавить(Строка(ВозможноеПолеОтчета.Поле),
ВозможноеПолеОтчета.Заголовок,
ЭлементГруппировки.Использование,
БиблиотекаКартинок.Реквизит);
А попробуй так
СписокВыводимыхПолей.Добавить(Строка(ВозможноеПолеОтчета.Поле),
ВозможноеПолеОтчета.Заголовок,
Ложь,
БиблиотекаКартинок.Реквизит);
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот