Oracle EBS R12 — персонализация форм — отключение определенного поля

Пользователь не должен обновлять Ordered Quantity Fields на вкладках, т.е. (Pricing ,Shipping,Addresses,Returns,Service,Others), если он удовлетворяет определенному условию. Если кто-то попытается обновиться - просто выскочит сообщение об ошибке

"Обновление здесь запрещено!!"

Я думаю, мы можем добиться этого с помощью персонализации форм. Но на самом деле я не уверен (Trigger Event,Trigger Object,Condition) - как отключить конкретное поле

Пожалуйста, помогите. Дайте мне знать, если вам нужны дополнительные входные данные


person FedUpWithPowerHungryHumans    schedule 16.11.2015    source источник


Ответы (1)


Это зависит от вашего состояния, зависит ли оно от данных записи, может ли оно измениться, когда пользователь изменяет данные и т. д.

Если условие постоянно во время сеанса форм, используйте триггер WHEN-NEW-FORM-INSTANCE следующим образом.

if _condition_ then
    set_item_property('your_block.item1', UPDATE_ALLOWED, PROPERTY_FALSE);
    set_item_property('your_block.item2', UPDATE_ALLOWED, PROPERTY_FALSE);
    ...
end if;

если ваше состояние зависит от данных записи, используйте триггер POST-QUERY аналогичным образом

if _condition_ then
    set_item_instance_property('your_block.item1', :SYSTEM.TRIGGER_RECORD, UPDATE_ALLOWED, PROPERTY_FALSE);
    set_item_instance_property('your_block.item2', :SYSTEM.TRIGGER_RECORD, UPDATE_ALLOWED, PROPERTY_FALSE);
    ...
else
    set_item_instance_property('your_block.item1', :SYSTEM.TRIGGER_RECORD, UPDATE_ALLOWED, PROPERTY_TRUE);
    set_item_instance_property('your_block.item2', :SYSTEM.TRIGGER_RECORD, UPDATE_ALLOWED, PROPERTY_TRUE);
    ...
end if;

если ваше состояние зависит от данных записи, которые пользователь может изменить, используйте дополнительный триггер WHEN-VALIDATE-RECORD с тем же кодом, что и POST-QUERY-TRIGGER

person Petr Pribyl    schedule 16.11.2015