|
Вопрос по Вумудщзук
|
|||
---|---|---|---|
#18+
Извините за глупый вопрос.Подскажите пожалуйста, как передать результат запроса передать в отчет, т.е. предположим есть личные данные (фио, адрес и т.д.), нужно выбрав нужного человека сформировать отчет. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.05.2002, 12:11 |
|
Вопрос по Вумудщзук
|
|||
---|---|---|---|
#18+
Насколько я понял Вумудщзук = Developer. И создается отчет на Reports. Если отчет запускать из Forms, то работает след. код declare pl_id ParamList; BEGIN pl_id := Get_Parameter_List('tmpdata'); IF NOT Id_Null(pl_id) THEN Destroy_Parameter_List( pl_id ); END IF; pl_id := Create_Parameter_List('tmpdata'); Add_Parameter(pl_id,[имя параметра],TEXT_PARAMETER,[Значение которое надо передать]); Run_Product(REPORTS,[путь к файлу отчета],SYNCHRONOUS,runtime,FILESYSTEM,pl_id,NULL); end if; ЕND; теперь что делать в отчете: в секции парметры пользователя объявить переменную с именем, таким же как и имя параметра в процедуре Add_Parameter. А затем эту переменную можно использовать в модели данных отчета, в качестве параметра в условии. Это если вызывать отчет из Forms. Извините если ответ немного не в жилу :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2002, 15:00 |
|
Вопрос по Вумудщзук
|
|||
---|---|---|---|
#18+
С точки зрения реализации данного примера все верно, но я решил все-же позаимствовать одну идею, порожденную глюками Developer Forms 4.5 (про которые мне сказали, когда я начал изучать формы: Там есть глюки, делай лучше так), но этот способ обладает достаточной универсальностью только если у тебя много типизированных отчетов. 1. Создаешь таблицу параметров: TASK_ID, SID, SERIAL# + PARAM0x (тип NUMBER) PARAM1x (тип VARCHAR2) PARAM2x (тип DATE) и пр.. 2. Создаешь тригеры для защиты параметров от редактирования другой сессией 3. Создаешь процедуры создания и удаления TASK 4. И прежде чем вызвать отчет, ты создаешь ему TASK, заполняешь необходимые параметры, переприсваеваешь TASK новой сессии, и вызываешь сам отчет, передав ему единственный параметр TASK_ID Плюсов здесь несколько. Во-первых ты видишь активные TASK. Во-вторых ты можешь сделать соответсвующий журнал TASKов. В-третьих ты можешь определить при каких условиях отчет зависает, вылетает, ломается и пр. Какие еще плюсы... ну не знаю придумать еще можно. Насчет минусов... не знаю, не думал... наверное потому-что не сталкивался с этими минусами ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2002, 19:43 |
|
|
start [/forum/topic.php?fid=52&fpage=2846&tid=1993278]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
43ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
2ms |
others: | 285ms |
total: | 419ms |
0 / 0 |