- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如何使用 syscomputedcolumn 类检索实体的表名或字段名?使用类似于
的虚拟字段实体后加载方法,这是相当容易的public class SysDatabaseLogHeaderEntity extends common
{
public void postLoad()
{
super();
this.TableName = tableId2Name(this.table);
}
}
但有传言称即将推出的 D 365 FnO 突触链接将不支持虚拟字段,因此想知道如何使用计算列来实现这一点......
最佳答案
SysComputedColumn 用于帮助在 View 中创建计算列。
假设出于某种原因您想要一个列,其中每一行都包含字符串值“CustTable”,您将创建一个方法(AX 2012 语法):
public static server string TableNameColumn()
{
return SysComputedColumn::returnLiteral(tableStr(CustTable));
}
然后您将向 View 中添加一个计算列,如下所示:https://learn.microsoft.com/en-us/dynamicsax-2012/developer/walkthrough-add-a-computed-column-to-a-view
注意:希望这是一个玩具示例,没有理由真正做这个特定的专栏。或者任何完全静态的列。
View 计算列本质上是基于返回计算列的 SQL 定义的静态服务器方法,然后 SysComputedColumn 类有一堆帮助方法,让您无需使用后端的特定实现知识即可构建这些 SQL 字符串语句数据库,例如列名。
完整的描述超出了本评论的范围,但您将使用的主要描述是 SysComputedColumn::returnField(view,datasource,field),它从指定 View 中的指定数据源获取指定字段。您希望对这些参数使用内部函数以保持交叉引用有效 (https://learn.microsoft.com/en-us/dynamicsax-2012/developer/intrinsic-functions)。
虽然有很多事情是你做不到的。这些只是 sql,因此它们不能将单独的行发送到 X++ 业务逻辑中。您需要在 SQL 中重构所述业务逻辑,这并不总是很容易完成。
我喜欢将这些方法公开,这样我就可以将它们告知并直接在 SQL 中测试它们。我猜你无法访问 d365 中的 sql,但查看从你的方法返回的字符串仍然有助于故障排除。
关于axapta - D365FO x++ syscomputedcolumn 表名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73581320/
如何使用 syscomputedcolumn 类检索实体的表名或字段名?使用类似于 的虚拟字段实体后加载方法,这是相当容易的 public class SysDatabaseLogHeaderEnti
我是一名优秀的程序员,十分优秀!