隐藏/显示字段基于使用显示逻辑在客户端Widnow中选中或未选中的刻度线

2019年6月25日 2点热度 0条评论

我正在使用adempiere,我想基于另一个窗口客户端(AD_Clinet表)中可用的刻度线来隐藏/显示窗口的字段。例如。我在“物料收据”窗口中创建了条形码字段,仅当勾选“在收据上扫描条形码”屏幕时,我才想显示该字段。我正在使用窗口选项卡字段>选项卡>字段的显示逻辑,以下是我尝试的操作

AD_Client.Is_ScanBarcodeMaterialReceiot
Barcode_Field = @SELECT Is_ScanBarcodeMaterialReceiot来自AD_Client WHERE AD_Client_ID = @#AD_Client_ID @@
@ Barcode_Field = AD_Client.Is_ScanBarcodeMaterialReceiot @

我没有得到适当的输出。

请提供建议以解决此问题。

解决方案如下:

ADempiere中的显示逻辑不支持sql语句。您可以在虚拟列中使用SQL,然后在显示逻辑中引用该列。

因此,将sql值设置为,将Yes / No虚拟列添加到表中

SELECT AD_Client.Is_ScanBarcodeMaterialReceipt FROM AD_Client WHERE AD_Client_ID=@#AD_Client_ID@

用相同的名称Is_ScanBarcodeMaterialReceipt调用此列。将其添加到窗口/选项卡,但不显示。当您打开窗口时,该值应显示在上下文中。

然后,您可以在条形码字段上将显示逻辑设置为

@Is_ScanBarcodeMaterialReceipt@=Y