
【场景】在没有满足的规则时(选单启用条件),转换规则会隐藏,当全部规则被隐藏时,如果没有插件干预,则最终还是支持按照默认规则下推
【案例】实现如果没有规则则无法点击按钮
<0>扩展表单BOS_ConvertOpForm
增加自定义的确认按钮,把系统的确认按钮隐藏

<1>挂表单插件

```python
import clr
clr.AddReference("mscorlib")
clr.AddReference("System.Data")
#本次引用
clr.AddReference("Kingdee.BOS.Core")
from System import *
from System.Collections.Generic import *
from System.Data import *
##本次引用
from Kingdee.BOS.Core.DynamicForm.PlugIn import *
from Kingdee.BOS.Core.DynamicForm.PlugIn.Args import *
def ButtonClick(e):
if not e.Key.Equals("F_My_BTNOK", StringComparison.OrdinalIgnoreCase):
return;
if this.View == None:
TurnToBtnOk();
return;
if this.View.ParentFormView == None:
TurnToBtnOk();
return;
srcId = this.View.ParentFormView.BillBusinessInfo.GetForm().Id;
if ( not srcId.Equals("ER_ExpenseRequest",StringComparison.OrdinalIgnoreCase)):
TurnToBtnOk();
return;
rule = this.View.Model.GetValue('FConvertRule');
if rule == None or len(rule)<=0:
this.View.ShowMessage('没有规则不能转换');
else:
TurnToBtnOk();
def TurnToBtnOk():
this.View.ButtonClick("FBTNOK","");
```
修改逻辑
ER_ExpenseRequest——上游表单界面
F_My_BTNOK——自定义按钮
【效果】
