问题:
根据一个字段A的值控制另一个字段B是否显示。只是控制一个字段而不是控制一列是否显示。
解决方法
有2种:
1. (1)在字段B的预处理宏里设置如下公式:
$SETVALUE("visible",$IFF($GETOUTPUTOBJVALUE("fieldA","value")=="比较值",TRUE(),FALSE()))
fieldA表示字段A的名称,在其对象属性的窗口标题栏中有显示,例如“field8”。这个根据自己的实际情况替换。
“比较值”替换为实际中的值
(2)当A和B在同一容器中时,设置A的优先级为1,默认情况下,A和B的优先级都为0,即设置字段A的优先高于字段B的优先级。 如不在同一容器,需对A和B所在的容器的优先级进行一样的设置。
2. (1)在A字段的后处理宏处写公式:
$SET("xx", $GETOUTPUTVALUE("value"))
xx为变量的名称(该变量名可任意取,保证设值时和取值时的名字一致即可),不用定义,不能重名。一个变量对应一对函数$SET和$GET
(2)在B字段的“是否可见”处写公式:
$IFF($GET("xx")=="比较值",TRUE(),FALSE())
(3)优先级设置参见第1种方法。
注意:
字段值比较时,即使字段在元数据中已经定义为string类型,但在判断是否为空时应特别处理下,应先做下转换,例如:
$IFF($TOSTRING($GETOUTPUTOBJVALUE("A","value"))=="",TRUE(),FALSE())
金蝶BOS,让ERP随需应变