|
Пользовательский отбор по программно добавленой схеме данных в СКД |
☑ |
0
vladnet
13.01.12
✎
16:25
|
Ситуация - у формы есть реквизит формы типа: КомпоновщикНастроекКомпоновкиДанных, для предоставления пользователю возможности произвольного отбора в СКД. Но сама схема скд добавляется программно. Выполнить СКД проблем нет. Но никак не могу решить вопрос чтобы пользователь добавил в нее сам произвольные отборы, делаю так:
лСКД=Новый СхемаКомпоновкиДанных;
лИсточникДанных=лСКД.ИсточникиДанных.Добавить();
лИсточникДанных.Имя="ИсточникДанных";
лИсточникДанных.ТипИсточникаДанных="Local";
лНаборДанныхЗапрос=лСКД.НаборыДанных.Добавить(Тип("НаборДанныхЗапросСхемыКомпоновкиДанных"));
лНаборДанныхЗапрос.ИсточникДанных="ИсточникДанных";
лНаборДанныхЗапрос.Запрос=
"ВЫБРАТЬ
| Список.Ссылка КАК Ссылка
|ИЗ
| "+Модули.Типы().ТипЕдинственноеЧисло(Объект.ТипОбъекта)+"."+Объект.ВидОбъекта+" КАК Список";
Объект.НастройкиКомпоновки.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(лСКД));
В итоге, для реквизита НастройкиКомпоновки появляются доступные отборы, но пользователь их выбрать не может.
Что я забыл сделать?
|
|
1
Kom-off
13.01.12
✎
16:47
|
Разместить на форме отбор от "реквизита формы типа: КомпоновщикНастроекКомпоновкиДанных". Только не помню точно какие настройки надо размещать (их там 3 вида), то ли текущие, но не фиксированные это точно.
|
|
2
vladnet
13.01.12
✎
16:51
|
(1) В том то и дело что я разместил, но при выборе поля для отбора - список пуст.
Вроде насколько понимаю все должно работать, я проинициализировал НастройкиКомпоновки из произвольного СКД, он должен был запомнить с какими полями что можно сделать, потом позже эти настройки я снова закину в СКД и сформирую отчет. Но вот не получается (((((
|
|
3
vladnet
13.01.12
✎
17:40
|
Решил вопрос, нужно через временное хранилище почему то делать:
лИсточникНастроек=Новый ИсточникДоступныхНастроекКомпоновкиДанных(ПоместитьВоВременноеХранилище(лСКД, Новый УникальныйИдентификатор));
Объект.НастройкиКомпоновки.Инициализировать(лИсточникНастроек);
|
|