|
Доработка результата работы СКД перед выводом | ☑ | ||
---|---|---|---|---|
0
SAP
12.09.12
✎
14:23
|
Подскажите, как модифицировать результат выполнения процессора компоновки СКД - нужно вычислить несколько полей по сложному алгоритму.
Почти во всех типовых отчетах предусмотрена процедура ПередВыводомЭлементРезультата() которая должна это делать но она нигде не задействована. |
|||
1
ChAlex
12.09.12
✎
14:25
|
(0) - ПриКомпоновкеРезультата()
|
|||
2
SAP
13.09.12
✎
10:34
|
(1) Выгрузил результат в ТЗ, обработал как мне надо, как это теперь вывести, чтобы не потерять заголовок и оформление?
|
|||
3
Maxus43
13.09.12
✎
10:38
|
в вычисляемых полях можно ещё
|
|||
4
SAP
13.09.12
✎
10:39
|
В вычисляемых поля можно функциями общих модулей использовать, а я не хочу общие модули трогать
|
|||
5
Пеппи
13.09.12
✎
10:43
|
(4) а зачем типовые трогать?
|
|||
6
SAP
13.09.12
✎
10:44
|
(5) Можно свой в общем... Но блин планировался внешний отчет
|
|||
7
Kashemir
13.09.12
✎
10:46
|
(2) Возьми оригинальную схему, поменяй набор данных с запроса на объект - передай свою перелопаченую ТЗ, поправь настройки под вывод новых полей и выводи.
|
|||
8
Пеппи
13.09.12
✎
10:47
|
а программно создавать и выводить в СКД не вариант?
|
|||
9
SAP
13.09.12
✎
10:48
|
(8) Поясните плиз выводить в СКД что? Сделать запрос из обработанной ТЗ и подсунуть его СКД?
|
|||
10
Kashemir
13.09.12
✎
10:49
|
(9) Да
|
|||
11
Kashemir
13.09.12
✎
10:50
|
+(10) Т.е. нет ... зачем еще запрос делать ? Схема может использовать непосредственно ТЗ как источник.
|
|||
12
SAP
13.09.12
✎
10:51
|
(10) А схему ту же использовать можно или еще одну надо создавать?
|
|||
13
SAP
13.09.12
✎
10:51
|
В отчете
|
|||
14
Пеппи
13.09.12
✎
10:51
|
(9) да, а в СКД использовать набор данных объект.
|
|||
15
Kashemir
13.09.12
✎
10:51
|
(12) Можно ту же
|
|||
16
Alex S D
13.09.12
✎
10:52
|
у меня 2 схемы, в первой формирую тз, потом дорабатываю и пихаю во 2-ю схему..
|
|||
17
Пеппи
13.09.12
✎
10:52
|
(12) другую конечно же, в которой и описываешь свою ТЗ которую передаешь.
|
|||
18
Пеппи
13.09.12
✎
10:53
|
(16) это как?
|
|||
19
Maxus43
13.09.12
✎
10:54
|
(18) в первой схеме обычный запрос, во второй схеме источник данных - Объект, туда ТЗ перелопаченая передаётся
|
|||
20
Kashemir
13.09.12
✎
10:54
|
(18) Он имеет ввиду 2 одинаковые схемы, только с разными наборами данных. Плюс очевидно в первой у него стоит обязательный вывод всех полей
|
|||
21
Alex S D
13.09.12
✎
10:56
|
(17) в (19) все правильно сказал)
|
|||
22
Пеппи
13.09.12
✎
10:56
|
вот я и не поняла как используются 2 схемы одновременно, если обычно используется только одна схема. может программно?
|
|||
23
Alex S D
13.09.12
✎
10:57
|
(22) программно конечно
|
|||
24
ДемонМаксвелла
13.09.12
✎
11:12
|
(19) +1
например, так сделан отчет "План-фактный анализ себестоимости выпуска" в типовой УПП. |
|||
25
SAP
13.09.12
✎
15:31
|
А какую схему делать основной, ту которая таблицу формирует или ту, которая выводит?
|
|||
26
SAP
13.09.12
✎
15:35
|
И вообще.. А первая компоновка зачем? Может просто взять из схемы параметры, написать запрос, выгрузить в ТЗ обработать и результат обратно в схему?
|
|||
27
Kashemir
13.09.12
✎
15:37
|
(26) Так ты ж по результат выполнения первой компоновки начальную ТЗ получаешь - разве нет ?
(25) Лучше вторую, если хочешь настройки с учетом добавляемых полей пользователю давать |
|||
28
SAP
13.09.12
✎
15:38
|
(27) Ну я могу получать из компоновки, а могу просто запросом, ИМХО запросом даже проще
|
|||
29
Kashemir
13.09.12
✎
15:39
|
(28) Оно то проще, но вряд ли будешь допиливать те же отборы - в результате ТЗ будет больше чем могла быть
|
|||
30
SAP
13.09.12
✎
15:41
|
Так отборы я сделаю в запросе с помощью параметров, которые возьму из компоновки... Как-то так..
|
|||
31
SAP
13.09.12
✎
15:42
|
Или я что-то не понимаю?
|
|||
32
Kashemir
13.09.12
✎
15:52
|
(31) Если ты о жестких параметризированных отборах - то проблемы нет. Если же собираешся использовать пользовательские произвольные отборы - возникнут проблемы.
|
|||
33
SAP
13.09.12
✎
16:04
|
(32) Секунду... Произвольные отборы я буду настраивать и использовать в конечной схеме, которая будет выводить ТЗ. А ТЗ я могу сформировать как угодно, я правильно понимаю? Каким образом произвольные отборы, настроенные в схеме, обрабатывающей запрос смогут быть использованы во второй схеме, которая будет заниматься как раз выводом?
|
|||
34
SAP
13.09.12
✎
16:05
|
Я не очень хорошо понимаю связь двух схем.. Они как-то влияют друг на друга?
|
|||
35
Пеппи
13.09.12
✎
16:09
|
ты можешь передавать полную ТЗ в схему, произвольные отборы установленные пользователем отрабатывают все равно позже и отберут только нужные данные.
|
|||
36
SAP
13.09.12
✎
16:12
|
(35) т.е. я делаю вывод, что для формирования ТЗ совсем не обязательно использовать дополнительную схему, правильно?
|
|||
37
Пеппи
13.09.12
✎
16:14
|
(36) ну я формировала ТЗ, передавала ее в одну только схему, ну и все. Видимо дополнительная использовалась выше потому что она уже была настроена. Я хз. :)
|
|||
38
SAP
13.09.12
✎
16:16
|
(36) Спасибо, похоже так и есть )) Ваше "хз" очень сексуально )))))))))))
|
|||
39
vmv
13.09.12
✎
17:11
|
если мне нужно дать возможность пользователю делать отборы в массивной тз и результать этого отбора "скармливать" в отчет на СКД, то я поступаю следующим образом
1. завожу в метаданных отчета табличную часть 2. на форме отчета делают заклатдку "Отбор" или создаю форму отбора из этой ТЧ 3. ПриКомпоновкеРезультата() объект "видит" эту, посему там инициализирую параметр ТчОтбора в Скд или НаборДанных в Скд - одной командой загрузки Тч в ту или другую сущность 4. Получаю результат 5. По желанию варианты отобранной Тч можно сохранять в настройках пользователя все |
|||
40
SAP
13.09.12
✎
17:57
|
(39) Не понял "объект "видит" эту," Что? ТЧ и ее отборы?
|
|||
41
SAP
17.09.12
✎
16:15
|
В продолжение темы. При программном выполнении компоновки не действуют пользовательские настройки.
Вот код. НастройкиОтчета = КомпоновщикНастроек.ПолучитьНастройки(); ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных; КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных,НастройкиОтчета,ДанныеРасшифровки); ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки,ВнешниеНаборыДаных,ДанныеРасшифровки); ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент; ПроцессорВывода.УстановитьДокумент(Форма.ЭлементыФормы.Результат); ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных); Как сделать, чтобы компоновка использовала пользовательские настройки? |
|||
42
Kashemir
17.09.12
✎
16:32
|
(41) А с каким объектом у тебя связаны пользовательские настройки ? Если с дефолтным КомпоновщикНастроек то проблемы быть не должно.
|
|||
43
SAP
17.09.12
✎
16:39
|
Компоновщик настроек дефолтный вроде в коде.
НастройкиОтчета = КомпоновщикНастроек.ПолучитьНастройки(); Причем в переменной НастройкиОтчета в отладчике видно, что она содержит пользовательские настройки |
|||
44
Kashemir
17.09.12
✎
16:55
|
(43) Тогда она их и использует.
|
|||
45
SAP
17.09.12
✎
16:58
|
(44) Да вот что-то не использует. По крайней мере состав колонок изменить не удается. Хотя в НастройкиОтчета видно, что он меняется
|
|||
46
Kashemir
17.09.12
✎
16:58
|
+ (44) КомпоновщикНастроекКомпоновкиДанных.ПолучитьНастройки (DataCompositionSettingsComposer.GetSettings)
КомпоновщикНастроекКомпоновкиДанных (DataCompositionSettingsComposer) ПолучитьНастройки (GetSettings) Синтаксис: ПолучитьНастройки() Возвращаемое значение: Тип: НастройкиКомпоновкиДанных. Описание: Позволяет получить копию настроек компоновки данных. Доступность: Сервер, толстый клиент, внешнее соединение. Примечание: К возвращаемой копии применяются пользовательские настройки. Применение фиксированных настроек: Отбор из фиксированных настроек добавляется к отбору основных настроек; Условное оформление добавляется к условному оформлению основных настроек; Параметры данных, установленные в фиксированных настройках устанавливаются в основных настройках. При наличии пересечения отбора и параметров фиксированных настроек с отбором и параметрами настроек генерируется исключение. |
|||
47
SAP
17.09.12
✎
16:59
|
Читал
|
|||
48
SAP
17.09.12
✎
17:00
|
Но почему-то не отрабатывает
|
|||
49
Kashemir
17.09.12
✎
17:00
|
(47) Тогда не знаю чем помочь - вроде все верно.
|
|||
50
acsent
17.09.12
✎
17:02
|
посмотри отладчикоч что там в настройках
|
|||
51
SAP
17.09.12
✎
17:08
|
(50) смотрел - в переменной НастройкиОтчета состав колонок меняется, если пользователь их меняет в настройках, но на вывод это не влияет
|
|||
52
SAP
18.09.12
✎
10:26
|
Все - разобрался - мастер создал макета в виде списка, а надо было таблицей
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |