Adempiere Hiding / Showing Field Based on tick mark checked or unchecked in client widnow 通过使用显示逻辑

Adempiere Hiding / Showing Field Based on tick mark checked or unchecked in client widnow by using display logic

我正在与 adempiere 合作,我想 Hide/Show window 字段基于另一个 window 客户端中可用的刻度线,即 (AD_Clinet table).例如。我在 Material 收据 window 中创建了条码字段,我只想在客户端屏幕 Material 收据上扫描条码时显示它。我正在使用 window Tab Field > Tab > Field 的显示逻辑,我尝试了以下内容

  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@

我没有得到正确的输出。

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

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

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

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

用相同的名称调用此列 Is_ScanBarcodeMaterialReceipt。将它添加到 window/tab 但不显示它。当您打开 window.

时,该值应该出现在上下文中

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

@Is_ScanBarcodeMaterialReceipt@=Y