根据使用显示逻辑在客户端Widnow中选中或未选中的刻度标记,隐身隐藏/显示字段

时间:2019-09-26 13:04:59

标签: java java-ee adempiere

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

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

我没有得到适当的输出。

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

1 个答案:

答案 0 :(得分:0)

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

因此,将sql值设置为“是/否”虚拟列到表中

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

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

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

@Is_ScanBarcodeMaterialReceipt@=Y