В общем есть задача, выводить в обычном приложении настройки системы компоновки данных для редактирования (структура отчета, отборы, сортировки) также как это делается когда просто создается форма отчета.
В общем когда получаю настройки в этом коде есть выбранные поля, отборы, и т.д. но нигде не заполнены доступные поля. (ДоступныеПоляОтбора, ДоступныеПоляВыбора)
Что сделать чтобы были?
В общем когда получаю настройки в этом коде есть выбранные поля, отборы, и т.д. но нигде не заполнены доступные поля. (ДоступныеПоляОтбора, ДоступныеПоляВыбора)
СхемаКомпоновкиДанных = ПолучитьМакет("СхемаКомпоновкиДанных");
КомпоновщикНастроек.ЗагрузитьНастройки(СхемаКомпоновкиДанных.НастройкиПоУмолчанию)
Что сделать чтобы были?
По теме из базы знаний
- 115 полезностей по курсу СКД Евгения Гилёва
- Нестандартная расшифровка СКД или расшифровка одного отчета СКД при помощи другого отчета СКД установкой пользовательских настроек (в управляемых формах, методика + пример для УТ11)
- Пример доработки типового отчета в БП 3.0 (Ограничение доступности поля в отборе, группировке) без снятия с поддержки
- Программная работа с настройками СКД
- СКД - одна из проблем связи Наборов данных
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Так разобрался, код должен быть таким:
может кому пригодиться.
СхемаКомпоновкиДанных = ПолучитьМакет("СхемаКомпоновкиДанных");
КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанных));
КомпоновщикНастроек.ЗагрузитьНастройки(СхемаКомпоновкиДанных.НастройкиПоУмолчанию)
может кому пригодиться.
(5) реанимирую (столкнулся с данной проблемой, гугл вывел на этот пост), вдруг кому поможет.
Боролся, чтобы на упр. форме, в таблице отбора, поля отбора не были помечены крестиком (доступные поля отбора пусты) при установке настроек по-умолчанию. Оказалось, надо было пробросить СКД через адрес во временном хранилище...
Боролся, чтобы на упр. форме, в таблице отбора, поля отбора не были помечены крестиком (доступные поля отбора пусты) при установке настроек по-умолчанию. Оказалось, надо было пробросить СКД через адрес во временном хранилище...
&НаСервере
Процедура ЗаполнитьНастройкиПоУмолчанию()
тОбработкаОбъект = РеквизитФормыВЗначение("Объект");
СКД = тОбработкаОбъект.ПолучитьМакет("СКД");
НастройкиПоУмолчанию= СКД.НастройкиПоУмолчанию;
АдресВоВременноеХранилище = ПоместитьВоВременноеХранилище(СКД, УникальныйИдентификатор);
ИсточникНастроек = Новый ИсточникДоступныхНастроекКомпоновкиДанных(АдресВоВременноеХранилище );
тКомпоновщик.Инициализировать(ИсточникНастроек);
тКомпоновщик.ЗагрузитьНастройки(НастройкиПоУмолчанию);
КонецПроцедуры
Показать
(7) У меня не помогло, нет доступных полей
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
ОтчетОбъект = РеквизитФормыВЗначение("Отчет");
СКД = ОтчетОбъект.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
Адрес = ПоместитьВоВременноеХранилище(СКД, УникальныйИдентификатор);
ИсточникНастроек = Новый ИсточникДоступныхНастроекКомпоновкиДанных(Адрес);
Отчет.КомпоновщикНастроек.Инициализировать(ИсточникНастроек);
Отчет.КомпоновщикНастроек.ЗагрузитьНастройки(СКД.НастройкиПоУмолчанию);
КонецПроцедуры
Показать
(9)
В общем разобрался, в наборе данных простой запрос к регистру сведений, у пользователя нет доступа на просмотр этого регистра, только Чтение.
Пробовал в наборе данных для всех полей указать типы, но всё равно не помогло.
Как только даёшь право на просмотр этого регистра (в запросе только этот регистр сведений без разыменования полей). то сразу появляются доступные поля в СКД
В общем разобрался, в наборе данных простой запрос к регистру сведений, у пользователя нет доступа на просмотр этого регистра, только Чтение.
Пробовал в наборе данных для всех полей указать типы, но всё равно не помогло.
Как только даёшь право на просмотр этого регистра (в запросе только этот регистр сведений без разыменования полей). то сразу появляются доступные поля в СКД
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот