|   |   | 
| 
 | Доработка результата работы СКД перед выводом | ☑ | ||
|---|---|---|---|---|
| 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 | 
        Все - разобрался - мастер создал макета в виде списка, а надо было таблицей     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |