Пользователь
Сообщения: 110
Благодарности: 0
|
Профиль
|
Отправить PM
| Цитировать
В Oracle Forms, на форме, у меня из списка выбирается операция и соответствено каждой операции убераются и появляются поля.
Для этого я пременил тригер WHEN-LIST-CHANGED
PHP код:
В if :KU_OPERACIYA.OPER='Поступление' then
set_item_property('KU_OPERACIYA.PERSTOIM', visible, property_true);
set_item_property('KU_OPERACIYA.SUMA_IZN', visible, property_true);
set_item_property('KU_OPERACIYA.NEW_STOI', visible, property_false);
set_item_property('KU_OPERACIYA.NEW_IZN', visible, property_false);
set_item_property('KU_OPERACIYA.PRICHINA', visible, property_false);
set_item_property('KU_OPERACIYA.SUM_PROD', visible, property_false);
set_item_property('KU_OPERACIYA.IZM_IZN', visible, property_false);
set_item_property('KU_OPERACIYA.IZM_SUM', visible, property_false);
set_item_property('KU_OPERACIYA.NEW_PODR', visible, property_false);
set_item_property('KU_OPERACIYA.NEW_MOL', visible, property_false);
SET_ITEM_PROPERTY('KU_OPERACIYA.SUMA_IZN', ENABLED, PROPERTY_true);
SET_ITEM_PROPERTY('KU_OPERACIYA.PERSTOIM', ENABLED, PROPERTY_true);
else
if :KU_OPERACIYA.OPER='Выбытие' then
set_item_property('KU_OPERACIYA.PERSTOIM', visible, property_true);
set_item_property('KU_OPERACIYA.SUMA_IZN', visible, property_true);
set_item_property('KU_OPERACIYA.NEW_STOI', visible, property_false);
set_item_property('KU_OPERACIYA.NEW_IZN', visible, property_false);
set_item_property('KU_OPERACIYA.PRICHINA', visible, property_true);
set_item_property('KU_OPERACIYA.SUM_PROD', visible, property_true);
set_item_property('KU_OPERACIYA.IZM_IZN', visible, property_false);
set_item_property('KU_OPERACIYA.IZM_SUM', visible, property_false);
set_item_property('KU_OPERACIYA.NEW_PODR', visible, property_false);
set_item_property('KU_OPERACIYA.NEW_MOL', visible, property_false);
SET_ITEM_PROPERTY('KU_OPERACIYA.SUMA_IZN', ENABLED, PROPERTY_true);
SET_ITEM_PROPERTY('KU_OPERACIYA.PERSTOIM', ENABLED, PROPERTY_true);
SET_ITEM_PROPERTY('KU_OPERACIYA.PRICHINA', ENABLED, PROPERTY_true);
SET_ITEM_PROPERTY('KU_OPERACIYA.SUM_PROD', ENABLED, PROPERTY_true);
else
if :KU_OPERACIYA.OPER='Изменение стоимости' then
set_item_property('KU_OPERACIYA.PERSTOIM', visible, property_true);
set_item_property('KU_OPERACIYA.SUMA_IZN', visible, property_true);
set_item_property('KU_OPERACIYA.NEW_STOI', visible, property_true);
set_item_property('KU_OPERACIYA.NEW_IZN', visible, property_true);
set_item_property('KU_OPERACIYA.PRICHINA', visible, property_false);
set_item_property('KU_OPERACIYA.SUM_PROD', visible, property_false);
set_item_property('KU_OPERACIYA.IZM_IZN', visible, property_true);
set_item_property('KU_OPERACIYA.IZM_SUM', visible, property_true);
set_item_property('KU_OPERACIYA.NEW_PODR', visible, property_false);
set_item_property('KU_OPERACIYA.NEW_MOL', visible, property_false);
SET_ITEM_PROPERTY('KU_OPERACIYA.SUMA_IZN', ENABLED, PROPERTY_true);
SET_ITEM_PROPERTY('KU_OPERACIYA.PERSTOIM', ENABLED, PROPERTY_true);
SET_ITEM_PROPERTY('KU_OPERACIYA.IZM_IZN', ENABLED, PROPERTY_true);
SET_ITEM_PROPERTY('KU_OPERACIYA.NEW_IZN', ENABLED, PROPERTY_true);
SET_ITEM_PROPERTY('KU_OPERACIYA.IZM_SUM', ENABLED, PROPERTY_true);
SET_ITEM_PROPERTY('KU_OPERACIYA.NEW_STOI', ENABLED, PROPERTY_true);
else
if :KU_OPERACIYA.OPER='Внутренее перемешение' then
set_item_property('KU_OPERACIYA.NEW_STOI', visible, property_false);
set_item_property('KU_OPERACIYA.PERSTOIM', visible, property_false);
set_item_property('KU_OPERACIYA.SUMA_IZN', visible, property_false);
set_item_property('KU_OPERACIYA.IZNOS', visible, property_false);
set_item_property('KU_OPERACIYA.NEW_IZN', visible, property_false);
set_item_property('KU_OPERACIYA.PRICHINA', visible, property_false);
set_item_property('KU_OPERACIYA.SUM_PROD', visible, property_false);
set_item_property('KU_OPERACIYA.IZM_IZN', visible, property_false);
set_item_property('KU_OPERACIYA.IZM_SUM', visible, property_false);
set_item_property('KU_OPERACIYA.NEW_PODR', visible, property_true);
set_item_property('KU_OPERACIYA.NEW_MOL', visible, property_true);
SET_ITEM_PROPERTY('KU_OPERACIYA.NEW_PODR', ENABLED, PROPERTY_true);
SET_ITEM_PROPERTY('KU_OPERACIYA.NEW_MOL', ENABLED, PROPERTY_true);
end if;
end if;
end if;
end if;
при заполнении все работает и при сохранении даные сохроняются.
Но при выполнении запроса к БД выдается ошибка
FRM-40735: POST-OUERY триггер вызвал необработанное ислючение ORA-01403
вот текст POST-OUERY
PHP код:
select inve_nomer,per__stoi,sum_izn
into :KU_OPERACIYA.invent_nom,:KU_OPERACIYA.PERSTOIM,:KU_OPERACIYA.SUMA_IZN
from ku_inven_kart
where id_kart=:KU_OPERACIYA.id_kart;
select naim_prod
into :KU_OPERACIYA.PODR
from ku_katol_podr
where Kod_podr=:KU_OPERACIYA.Kod_podrt;
select fio
into :KU_OPERACIYA.MOL
from ku_mol
where kod_mol=:KU_OPERACIYA.kod_mol;
select naim_os
into :KU_OPERACIYA.NAIM
from ku_os
where id_os=:KU_OPERACIYA.id_os;
if :KU_OPERACIYA.OPER='Поступление' then
set_item_property('KU_OPERACIYA.PERSTOIM', visible, property_true);
set_item_property('KU_OPERACIYA.SUMA_IZN', visible, property_true);
set_item_property('KU_OPERACIYA.NEW_STOI', visible, property_false);
set_item_property('KU_OPERACIYA.NEW_IZN', visible, property_false);
set_item_property('KU_OPERACIYA.PRICHINA', visible, property_false);
set_item_property('KU_OPERACIYA.SUM_PROD', visible, property_false);
set_item_property('KU_OPERACIYA.IZM_IZN', visible, property_false);
set_item_property('KU_OPERACIYA.IZM_SUM', visible, property_false);
set_item_property('KU_OPERACIYA.NEW_PODR', visible, property_false);
set_item_property('KU_OPERACIYA.NEW_MOL', visible, property_false);
SET_ITEM_PROPERTY('KU_OPERACIYA.SUMA_IZN', ENABLED, PROPERTY_true);
SET_ITEM_PROPERTY('KU_OPERACIYA.PERSTOIM', ENABLED, PROPERTY_true);
else
if :KU_OPERACIYA.OPER='Выбытие' then
set_item_property('KU_OPERACIYA.PERSTOIM', visible, property_true);
set_item_property('KU_OPERACIYA.SUMA_IZN', visible, property_true);
set_item_property('KU_OPERACIYA.NEW_STOI', visible, property_false);
set_item_property('KU_OPERACIYA.NEW_IZN', visible, property_false);
set_item_property('KU_OPERACIYA.PRICHINA', visible, property_true);
set_item_property('KU_OPERACIYA.SUM_PROD', visible, property_true);
set_item_property('KU_OPERACIYA.IZM_IZN', visible, property_false);
set_item_property('KU_OPERACIYA.IZM_SUM', visible, property_false);
set_item_property('KU_OPERACIYA.NEW_PODR', visible, property_false);
set_item_property('KU_OPERACIYA.NEW_MOL', visible, property_false);
SET_ITEM_PROPERTY('KU_OPERACIYA.SUMA_IZN', ENABLED, PROPERTY_true);
SET_ITEM_PROPERTY('KU_OPERACIYA.PERSTOIM', ENABLED, PROPERTY_true);
SET_ITEM_PROPERTY('KU_OPERACIYA.PRICHINA', ENABLED, PROPERTY_true);
SET_ITEM_PROPERTY('KU_OPERACIYA.SUM_PROD', ENABLED, PROPERTY_true);
else
if :KU_OPERACIYA.OPER='Изменение стоимости' then
set_item_property('KU_OPERACIYA.PERSTOIM', visible, property_true);
set_item_property('KU_OPERACIYA.SUMA_IZN', visible, property_true);
set_item_property('KU_OPERACIYA.NEW_STOI', visible, property_true);
set_item_property('KU_OPERACIYA.NEW_IZN', visible, property_true);
set_item_property('KU_OPERACIYA.PRICHINA', visible, property_false);
set_item_property('KU_OPERACIYA.SUM_PROD', visible, property_false);
set_item_property('KU_OPERACIYA.IZM_IZN', visible, property_true);
set_item_property('KU_OPERACIYA.IZM_SUM', visible, property_true);
set_item_property('KU_OPERACIYA.NEW_PODR', visible, property_false);
set_item_property('KU_OPERACIYA.NEW_MOL', visible, property_false);
SET_ITEM_PROPERTY('KU_OPERACIYA.SUMA_IZN', ENABLED, PROPERTY_true);
SET_ITEM_PROPERTY('KU_OPERACIYA.PERSTOIM', ENABLED, PROPERTY_true);
SET_ITEM_PROPERTY('KU_OPERACIYA.IZM_IZN', ENABLED, PROPERTY_true);
SET_ITEM_PROPERTY('KU_OPERACIYA.NEW_IZN', ENABLED, PROPERTY_true);
SET_ITEM_PROPERTY('KU_OPERACIYA.IZM_SUM', ENABLED, PROPERTY_true);
SET_ITEM_PROPERTY('KU_OPERACIYA.NEW_STOI', ENABLED, PROPERTY_true);
else
if :KU_OPERACIYA.OPER='Внутренее перемешение' then
set_item_property('KU_OPERACIYA.NEW_STOI', visible, property_false);
set_item_property('KU_OPERACIYA.PERSTOIM', visible, property_false);
set_item_property('KU_OPERACIYA.SUMA_IZN', visible, property_false);
set_item_property('KU_OPERACIYA.IZNOS', visible, property_false);
set_item_property('KU_OPERACIYA.NEW_IZN', visible, property_false);
set_item_property('KU_OPERACIYA.PRICHINA', visible, property_false);
set_item_property('KU_OPERACIYA.SUM_PROD', visible, property_false);
set_item_property('KU_OPERACIYA.IZM_IZN', visible, property_false);
set_item_property('KU_OPERACIYA.IZM_SUM', visible, property_false);
set_item_property('KU_OPERACIYA.NEW_PODR', visible, property_true);
set_item_property('KU_OPERACIYA.NEW_MOL', visible, property_true);
SET_ITEM_PROPERTY('KU_OPERACIYA.NEW_PODR', ENABLED, PROPERTY_true);
SET_ITEM_PROPERTY('KU_OPERACIYA.NEW_MOL', ENABLED, PROPERTY_true);
end if;
end if;
end if;
end if;
Вроде все правелно ктонибуть может сказать в чем дело??????
|