壹佰网|ERP100 - 企业信息化知识门户

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 470|回复: 0

[二次开发] 多记录设置不可删除时工具栏的同步问题

[复制链接]
发表于 2013/6/25 19:33:26 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。如果您注册时有任何问题请联系客服QQ: 83569622  。

您需要 登录 才可以下载或查看,没有帐号?注册

x


  最近在开发和维护过程中发现一个比较经常出现的错误,在多记录块中根据某行的状态设置块的可删除属性如附件中的form界面

逻辑需求为当某行的状态不为新建时不允许进行删除


一般的处理逻辑为在块的WHEN-NEW-RECORD-INSTANCE中设置开的delete_allowed的属性,但是当在record之间进行跳转时发现工具条上的删除按钮不能实现及时同步变化,也就是在不能删除的记录上,工具栏上的删除按钮是可用的,但是点击时系统提示该记录不允许删除;在可以删除的记录上时工具栏的删除按钮是不可用的.

对于这种多记录块,实现根据行状态确定该条记录是否可删除我目前所知道的由两种方式实现:

第一种方式: 直接在块级的KEY-DELREC触发器中编写如下代码

IF 票据状态<>’新建’ THEN

  FND_MESSAGE.DEBUG(‘该票据不为新建状态,不能删除!’);

  Raise form_trigger_failure;

Else

  App_folder.event(‘KEY-DELREC’);

END IF;

第二中方式:在块WHEN-NEW-RECORD-INSTANCE里面设置块的属性,最后加上一个同步代码

IF 票据状态<>’新建’  THEN

  Set_block_property(‘BLOCK_NAME’,delete_allowed,property_false);

ELSE

   Set_block_property(‘BLOCK_NAME’,delete_allowed,property_true);

END IF;

APP_STANDARD.SYNCHRONIZE;

同过上述两种方式可以方便的实现多记录块根据行状态确定行是否可删除的功能,第一种方式不需要设置块的delete_allowed属性,同样也就不需要关心工具栏上的删除按钮的是否可用,第二种方式是直接设置块的delete_allowed属性,在设置完该属性后需要使用

APP_STANDARD.SYNCHRONIZE;来同步下工具栏的状态.



aaa.png
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|小黑屋|手机版|壹佰网 ERP100 ( 京ICP备19053597号-2 )

Copyright © 2005-2012 北京海之大网络技术有限责任公司 服务器托管由互联互通
手机:13911575376
网站技术点击发送消息给对方83569622   广告&合作 点击发送消息给对方27675401   点击发送消息给对方634043306   咨询及人才点击发送消息给对方138011526

GMT+8, 2025/11/29 18:18 , Processed in 0.021482 second(s), 19 queries , File On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表