Axapta:如何在数据库日志报告的选择对话框中使用表名称(而不是表 ID)作为选择?

发布于 2024-08-04 04:21:18 字数 45 浏览 8 评论 0原文

目前只能使用Table Id,它是一个数字,没有意义。一点代码示例真的很棒。

Currently only the Table Id can be used which is meaningless as it is a number. A little bit of code example would really be great.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

提笔书几行 2024-08-11 04:21:18

创建一个新的 RunBaseReport 类,并记住在 lastValueElementName 方法中命名 SysDatabaseLog 报告。

dialog方法中提示表名;使用 TableName 扩展数据类型来启用查找。

Object dialog() 
{
    DialogRunbase dlg = super();
    ;
    dialogTableName = dlg.addFieldValue(typeId(TableName),tableId2Name(tableId));      
    return dlg;  
}

调用super()后,在getFromDialog方法中更新queryRun.query()的表id范围。使用tableName2Id函数转换为表id。

boolean getFromDialog()
{
    boolean ret = super();
    ;
    tableId = tableName2Id(dialogTableName.value());
    this.queryrun().dataSourceNo(1).findRange(fieldNum(SysDatabaseLog,Table)).value(queryValue(tableId));
    return ret;
}

validate 方法中,验证表名称是否有效(表 id 不为 0,表不为 temp 等)。

最后,您将输出菜单项更改为指向类而不是报告。

警告:代码尚未经过测试!

Create a new RunBaseReport class and remember to name the SysDatabaseLog report in the lastValueElementName method.

Prompt the table name in the dialog method; use the TableName extended data type to enable lookup.

Object dialog() 
{
    DialogRunbase dlg = super();
    ;
    dialogTableName = dlg.addFieldValue(typeId(TableName),tableId2Name(tableId));      
    return dlg;  
}

Update the table id range of the queryRun.query() in the getFromDialog method after calling super(). Use the tableName2Id function to convert to table id.

boolean getFromDialog()
{
    boolean ret = super();
    ;
    tableId = tableName2Id(dialogTableName.value());
    this.queryrun().dataSourceNo(1).findRange(fieldNum(SysDatabaseLog,Table)).value(queryValue(tableId));
    return ret;
}

In the validate method, validate that table name is valid (table id not 0, table not temp etc.).

Lastly you change the output menu item to point to the class rather than the report.

Warning: code has not been tested!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文