• Oracle Form在工具栏增加按钮


    1. 这个是在EVENT里头的Code:

    if (event_name = 'WHEN-NEW-FORM-INSTANCE') then 
     --普通菜单
    APP_SPECIAL2.INSTANTIATE('SPECIAL30','供应商历史采购cust',NULL,TRUE);
    APP_SPECIAL2.ENABLE('SPECIAL30',PROPERTY_ON);
    --begin add by guozhenbin 2009-11-19
    --带复选框菜单
    APP_SPECIAL2.INSTANTIATE('SPECIAL4_CHECKBOX', 'TEST_CHECKBOX','',TRUE,'LINE');
    APP_SPECIAL2.SET_CHECKBOX('SPECIAL4_CHECKBOX','TRUE');
    --end add by guozhenbin 2009-11-19
    end if;
    也可以在form. level的WHEN-NEW-FORM-INSTANCE:
    APP_SPECIAL.INSTANTIATE('SPECIAL11','测试菜单2', '', TRUE, 'LINE');

    2. 特殊性:
    上面自定义FORMS级触发器,名字必须定义为“SPECIAL+数字”,否则会报错。并且数字的大小决定了菜单出现的先后顺序。数字还有更大作用就是决定了自定义菜单选项放在哪个主菜单下。
    SPECIAL1—SPECIAL15在“工具”主菜单下。
    SPECIAL16—SPECIAL30在“报表”主菜单下。
    SPECIAL31—SPECIAL45在“活动”主菜单下。
    SPECIAL46 以上就直接报错了。

    3. 是否激活菜单:
    可基于不同的block,在block的when-new-block-instance中添加
    app_special.enable('SPECIAL1',property_off);

    4.增加一个自定义触发器(用户)

    if app_special.get_checkbox('SPECIAL4_CHECKBOX')='TRUE' then
    fnd_message.debug('Special 4 is True!');
    else
    fnd_message.debug('Special 4 is False!');
    end if;

    app_special.get_checkbox获取checkbox状态。
    app_special.set_checkbox是对checkbox进行赋值操作。

    遇到的问题:
    在FORM的开发过程中,我们在代码中设置了块的可修改、可删除属性时,但是却菜单栏上的工具条并不能马上做出响应。
    比如:在WHEN-NEW-RECORD-INSTANCE里,我们设置了块的DELETE_ALLOWED的属性值为PROPERTY_TRUE。但是在菜单栏里的工具条上的删除按钮是不可用的。如果发生这种问题,我们只需要在设置块的属性的代码后面,再加上如下一段代码既可解决问题:

    app_synch.menu_toolbar_sync(event);
    event的值为:WHEN-NEW-RECORD-INSTANCE、WHEN-NEW-BLOCK-INSTANCE、WHEN-NEW-ITEM-INSTANCE。

  • 相关阅读:
    请求测试——Fiddler2工具(可以测试POST和Get)
    VS自动注释——GhostDoc
    【转】.NET MVC控制器分离到类库的方法
    git工具的安装和使用
    Nosql的实际应用场景
    【转】为什么要用单例模式?
    【转】C#详解值类型和引用类型区别
    【转】SQL Server 2008 数据库同步的两种方式 (发布、订阅)
    加密解密大汇总
    Eclipse mybatis中XML的自动提示
  • 原文地址:https://www.cnblogs.com/Bigbirdblog/p/4818410.html
Copyright © 2020-2023  润新知