|
Выгрузка всех полей запроса СКД в таблицу значений. | ☑ | ||
---|---|---|---|---|
0
FAR_E_R
18.08.16
✎
11:40
|
Добрый день!
Выгружаю результат запроса из СКД в таблицу значений по следующему варианту: КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; МакетКомпоновкиДанных = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, КомпоновщикНастроек.Настройки, , , Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений")); ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновкиДанных); ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений; ДанныеТЗ = Новый ТаблицаЗначений; ПроцессорВывода.УстановитьОбъект(ДанныеТЗ); ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных); Как сделать так чтобы в таблицу значений выгружались все поля запроса из СКД а не только те которые пользователь выбрал для в настройках СКД. |
|||
1
Cyberhawk
18.08.16
✎
11:41
|
Сделай поля обязательными
|
|||
2
FAR_E_R
18.08.16
✎
11:46
|
(0) (1) В роли поставил галочку "обязательное", но не помогло...
|
|||
3
тарам пам пам
18.08.16
✎
11:47
|
(1) Не прокатит. В ТЗ выгружается все равно по настройкам варианта отчета, флажок "обязательное" влияет только на то, будет ли СКД исключать это поле из запроса, если оно не используется.
Поэтому единственный вариант - модифицировать КомпоновщикНастроек.Настройки, добавляя туда все нужные поля. |
|||
4
Cyberhawk
18.08.16
✎
11:48
|
А зачем давать пользователю выбирать поля, если нужны все?
|
|||
5
lodger
18.08.16
✎
11:54
|
глупое предложение конечно, но может проще отдельно выдернуть запрос из СКД и выполнить его?
да, двойное обращение к бд, да, дольше, но и вы ответьте - зачем вам табзнач под скд? может вам и скд не особо нужно в таком случае? скд оптимизирует запрос так, как ему заблагорассудится, отбрасывая ненужные ему поля из запроса. |
|||
6
FAR_E_R
18.08.16
✎
11:57
|
Предполагалось использование двух схем компоновки данных.
В первой схеме выполняется запрос, который далее выгружается в таблицу значений, там обрабатывается и возвращается в СКД по вторую схему как внешний данные. Ну, раз нельзя тогда оставлю как есть. Сейчас запрос выполняется отдельно от СКД и загружается в СКД как внешний данные. Но при такой схеме есть минус. Сложные отборы пользователя в СКД нужно преобразовывать в параметры внешнего запроса вручную. Я хотел, чтобы СКД выдавала в таблицу значений данные с учетом сложных отборов пользователей, но при этом, сохраняя все поля, даже если пользователь их скрыл. |
|||
7
LordCMEPTb
18.08.16
✎
13:14
|
А что мешает для выгрузки в таблицу значений скопировать настройки компоновки, в которых указать все поля, и на этапе формирования макета компоновки дать именно эти настройки?
|
|||
8
FAR_E_R
18.08.16
✎
14:01
|
(7) Да, спасибо, попробую так, если получится, напишу...
|
|||
9
Franchiser
гуру
18.08.16
✎
14:12
|
(8) так напиши и будет счастье:
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; МакетКомпоновкиДанных = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, СхемаКомпоновкиДанных.НастройкиПоУмолчанию, , , Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений")); |
|||
10
hitodom
18.08.16
✎
14:26
|
(6) убери настройку палей с формы
|
|||
11
hitodom
18.08.16
✎
14:27
|
(9) а отборы?
|
|||
12
DrZombi
гуру
18.08.16
✎
14:36
|
(0) Формируй запрос в построителе.
Зачем тебе вообще такие сложности с СКД? Ну коль так хочется, то готовь программно СКД с нужными полями :) |
|||
13
Franchiser
гуру
18.08.16
✎
16:08
|
(11) ОК, если нужны отборы можно взять НастройкиПоУмолчанию и на них наложить только отборы и, при необходимости, пользовательские отборы.
|
|||
14
Franchiser
гуру
18.08.16
✎
16:11
|
(13) вообще я бы запретил в этом случае все настройки скд, вывел бы необходимые пользовательские отборы на форму и их крутил, если что-то сложно через внешний набор данных (Результат запроса) с передачей результата в компоновку
|
|||
15
FAR_E_R
18.08.16
✎
16:25
|
(13) К сожалению, запретить пользователю настраивать отчет не могу, но вот вариант с подменой настроек на настройки по умолчанию с переносом в них отборов мне очень понравился, буду реализовывать, большое спасибо всем кто помогал, как получится, выложу код, хоть его будет и мало…
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |