Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Kozyrev Участник - экстремал
Вступление в Клуб: 03.09.2007
|
Сб Апр 05, 2008 09:10   |
|
Полезность: Нет оценки
|
А если операцию печати будут вызывать несколько других операций, то как можно определять из какой именно она была вызвана?
Т.е. разные операции будут передавать разные строки, а в операции печати нужно чтобы она отличала из какой именно операции ей брать значение строки.
Может можно сделать код
Код: | if P_MESSAGE = 'DEFAULT' then
P#MEMO := ::[ВАШ_ТБП].[ИМЯ_ВЫЗЫВАЮЩЕЙ_ОПЕРАЦИИ].P_STR;
end if; |
более универсальным? |
|
 |
Alexsey Эксперт
Вступление в Клуб: 06.09.2007
|
Сб Апр 05, 2008 09:17   |
|
Полезность: Нет оценки
|
Kozyrev пишет: | А если операцию печати будут вызывать несколько других операций, то как можно определять из какой именно она была вызвана?
Т.е. разные операции будут передавать разные строки, а в операции печати нужно чтобы она отличала из какой именно операции ей брать значение строки.
Может можно сделать код
Код: | if P_MESSAGE = 'DEFAULT' then
P#MEMO := ::[ВАШ_ТБП].[ИМЯ_ВЫЗЫВАЮЩЕЙ_ОПЕРАЦИИ].P_STR;
end if; |
более универсальным? |
странно.. но судя по коду тут получается что для заполнения реквизита мемо мы вызываем операцию "ИМЯ_ВЫЗЫВАЮЩЕЙ_ОПЕРАЦИИ" из ТБП "ВАШ_ТБП"
Код: | if P_MESSAGE = 'DEFAULT' then
P#MEMO := ::[ВАШ_ТБП].[ИМЯ_ВЫЗЫВАЕМОЙ_ОПЕРАЦИИ].P_STR;
end if; |
да и если честно я не вижу смысла определять из какой именно операции произошел вызов операции печати
т.к. при вызове операции мы передаем необходимое нам число параметров печати... _________________ всегда есть как минимум 2 выхода |
|
 |
Kozyrev Участник - экстремал
Вступление в Клуб: 03.09.2007
|
Сб Апр 05, 2008 09:49   |
|
Полезность: Нет оценки
|
Код: | if P_MESSAGE = 'DEFAULT' then
P#MEMO := ::[ВАШ_ТБП].[ИМЯ_ВЫЗЫВАЮЩЕЙ_ОПЕРАЦИИ].P_STR;
end if; |
Не проходит. |
|
 |
Alexsey Эксперт
Вступление в Клуб: 06.09.2007
|
Сб Апр 05, 2008 09:52   |
|
Полезность: Нет оценки
|
все верно, получается что ты вызываешь операцию для заполнения параметра P#MEMO _________________ всегда есть как минимум 2 выхода |
|
 |
Kozyrev Участник - экстремал
Вступление в Клуб: 03.09.2007
|
Сб Апр 05, 2008 09:58   |
|
Полезность: Нет оценки
|
Извиняюсь. Наоборот!
Код: | if P_MESSAGE = 'DEFAULT' then
P#MEMO := ::[ВАШ_ТБП].[ИМЯ_ВЫЗЫВАЮЩЕЙ_ОПЕРАЦИИ].P_STR;
end if; |
Проходит.
Код: | if P_MESSAGE = 'DEFAULT' then
P#MEMO := ::[ВАШ_ТБП].[ИМЯ_ВЫЗЫВАЕМОЙ_ОПЕРАЦИИ].P_STR;
end if; |
Не проходит. |
|
 |
Alexsey Эксперт
Вступление в Клуб: 06.09.2007
|
Сб Апр 05, 2008 10:03   |
|
Полезность: Нет оценки
|
тогда я видимо в этой жизни чего то пропустил...
судя по коду вы вызываете операцию для заполнения ну никак наоборот... либо либо считываете значение реквизита...
вот тому яркий пример
Код: | begin
if p_message = 'DEFAULT' then
P#1:= this.[IN_FILE_TEXT];
end if;
end; |
_________________ всегда есть как минимум 2 выхода |
|
 |
|