我有两列名为" C_BPartner_ID"和" displayname"在我的桌子上。我想要只读#34; displayname"列" C_BPartner.name" =' test'
问题是我不知道如何在adempiere中只读这个字段。 我将以下sql查询添加到表&中的readonly逻辑字段中。列。
@SQL=(SELECT C_BPartner.C_BPartner_ID FROM C_BPartner WHERE C_BPartner.name='test')=@C_BPartner_ID@
我认为使用" Column SQL"我们可以让字段只读。我也尝试过这样做..但它对我来说也没有用。
这不起作用.....任何人都可以帮助我......谢谢..
答案 0 :(得分:2)
内部联接不起作用, 让我们做一件事在你的表中添加C_BPartner_ID.Name(如hiddenfield) 并尝试使用它
答案 1 :(得分:2)
假设您在ADempiere的应用程序字典(AD)表中的元数据是C_BPartner,正确的用法应该是布尔评估:
@Name@='test'
此处的内容由AD引擎解析,如ReadOnlyLogic代码的APIdoc中所述(GridTab.isReadOnly() - Boolean evaluateLogic):
* Evaluate Logic.
* <code>
* format := <expression> [<logic> <expression>]
* expression := @<context>@<exLogic><value>
* logic := <|> | <&>
* exLogic := <=> | <!> | <^> | <<> | <>>
*
* context := any global or window context
* value := strings can be with ' or "
* logic operators := AND or OR with the prevoius result from left to right
*
* Example '@AD_Table@=Test | @Language@=GERGER
* </code>
* @param source class implementing get_ValueAsString(variable)
* @param logic logic string
* @return logic result