|
КомпоновщикНастроекПользовательскиеНастройки как добавить на форму отчета | ☑ | ||
|---|---|---|---|---|
|
0
Гений 1С
гуру
30.10.26
✎
16:29
|
В одном отчете есть, создаю свой, никак не появляется.
Как добавить? |
|||
|
1
Garykom
гуру
30.10.26
✎
16:50
|
ЫЫ же! Спроси ЫЫ!
|
|||
|
2
Гений 1С
гуру
30.10.26
✎
18:14
|
(1) не помог ИИ, галлюцинирует
[Gemini 3.7 Flash 🌐] В управляемых формах 1С:Предприятия пользовательские настройки компоновщика (отборы, параметры, выбранные поля) выводятся на форму через элемент управления Таблица либо через привязку к реквизиту формы типа ПользовательскиеНастройкиКомпоновщикаНастроекКомпоновкиДанных. Добавить их можно двумя способами: интерактивно в конфигураторе или программно. ———————— 📚 Способ 1. Интерактивно в конфигураторе (рекомендуемый) 1. Создайте реквизит формы: ⦁ В окне редактирования формы (вкладка «Реквизиты») нажмите Добавить. ⦁ Задайте имя, например: ПользовательскиеНастройки. ⦁ Тип данных выберите: ПользовательскиеНастройкиКомпоновщикаНастроекКомпоновкиДанных. 2. Вынесите реквизит на форму: ⦁ Перетащите созданный реквизит ПользовательскиеНастройки мышью в левую верхнюю панель («Элементы формы»). ⦁ Платформа создаст элемент с типом Таблица (или Табличное поле). 3. Инициализируйте реквизит в коде модуля формы: В событии ПриСозданииНаСервере свяжите реквизит формы с реальными пользовательскими настройками вашего отчета/компоновщика: &НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) // Если форма принадлежит отчету (основной реквизит "Отчет"): ПользовательскиеНастройки = Отчет.КомпоновщикНастроек.ПользовательскиеНастройки; // Либо, если компоновщик настроек лежит в отдельном реквизите/объекте: // ПользовательскиеНастройки = МойКомпоновщик.ПользовательскиеНастройки; КонецПроцедуры ———————— 📚 Способ 2. Программное создание элемента на форме Если требуется вывести таблицу динамически из кода без ручной правки структуры формы в конфигураторе: &НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) // 1. Создаем реквизит формы динамически МассивРеквизитов = Новый Массив; ТипНастроек = Новый ОписаниеТипов("ПользовательскиеНастройкиКомпоновщикаНастроекКомпоновкиДанных"); МассивРеквизитов.Добавить(Новый РеквизитФормы("ПользовательскиеНастройки", ТипНастроек, , "Настройки")); ИзменитьРеквизиты(МассивРеквизитов); // 2. Связываем значение реквизита с компоновщиком ЭтаФорма.ПользовательскиеНастройки = Отчет.КомпоновщикНастроек.ПользовательскиеНастройки; // 3. Создаем визуальную таблицу на форме ЭлементТаблица = Элементы.Добавить("ТаблицаПользовательскихНастроек", Тип("ТаблицаФормы"), ЭтаФорма); ЭлементТаблица.ПутьКДанным = "ПользовательскиеНастройки"; ЭлементТаблица.ПоложениеКоманднойПанели = ПоложениеКоманднойПанелиЭлементаФормы.Верх; КонецПроцедуры ———————— 📚 Важный нюанс для СКД Чтобы параметры или отборы появились в этой таблице, в самой схеме компоновки данных (в настройках отчета или варианта) у нужных элементов отбора/параметров обязательно должен быть включен признак: ⦁ Включать в пользовательские настройки (значок шестеренки/человечка в конструкторе СКД) с режимом редактирования Быстрый доступ или Обычный. |
|||
|
3
Garykom
гуру
30.10.26
✎
18:23
|
На скриншоте с форума 1С обсуждается классическая проблема: как вывести пользовательские настройки компоновки данных (отборы, параметры, выбранные поля) на управляемую форму отчета.
Для ответа на форуме (чтобы помочь автору темы и закрыть спор с «галлюцинирующим ИИ») можно предложить структурированный и проверенный алгоритм решения этой задачи. Как добавить ПользовательскиеНастройки на форму отчета Чтобы настройки корректно отображались и работали на управляемой форме, выполните следующие шаги: Шаг 1. Создание и размещение реквизита Откройте форму отчета в конфигураторе и перейдите на вкладку Реквизиты. Добавьте новый реквизит (например, с именем ПользовательскиеНастройки). В поле Тип выберите: ПользовательскиеНастройкиКомпоновщикаНастроекКомпоновкиДанных. Перетащите созданный реквизит мышью в дерево элементов формы (в левую верхнюю панель). Платформа автоматически создаст элемент управления с типом Таблица (или табличное поле). Шаг 2. Инициализация настроек в коде Чтобы таблица на форме не была пустой, её необходимо связать с реальными настройками компоновщика отчета в обработчик события ПриСозданииНаСервере: Фрагмент кода &НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) // Если форма принадлежит типовому отчету (основной реквизит "Отчет"): ПользовательскиеНастройки = Отчет.КомпоновщикНастроек.ПользовательскиеНастройки; КонецПроцедуры Шаг 3. Проверка настроек в самой СКД Если после выполнения первых двух шагов элементы (отборы или параметры) всё равно не появляются на форме, проверьте настройки схемы компоновки данных (СКД): У каждого отбора, параметра или выбранного поля, которое должно быть доступно пользователю, должен стоять флаг Включать в пользовательские настройки (иконка шестеренки/человечка в конструкторе СКД). Режим редактирования у этих элементов должен быть выставлен в значение Быстрый доступ или Обычный. |
| Форум | Правила | Описание | Секции | Поиск |