0

在像 LedgerJournalTransDaily 这样的表单中,有一个从 LedgerJournalTrans 导入的字段 Txt。使用 JournalNum,我需要转到 LedgerJournalTable 并获取 Name 字段。

我写了一个如下的显示方法:

[SysClientCacheDataMethodAttribute(true)]
public display Name GetLedgerJournalTableName()
{
   LedgerJournalTable ledgerJournalTable;
   Name ret;

   select firstFast firstOnly ledgerJournalTable
       where ledgerJournalTable.JournalNum == this.JournalNum;

   ret = ledgerJournalTable.Name;

   return ret;
 }

老实说,我不确定这是否足够快,或者是否有其他方法可以做到这一点。请给我一个提示。

4

2 回答 2

2

如果性能是一个问题,您可以尝试将LedgerJournalTable只读数据源添加到表单中OnlyFetchActive = Yes,将其与LedgerJournalTrans数据源连接,并将Name新数据源的字段添加到表单设计中。

但是如果期刊没有几百行,而且还没有性能问题,我会选择显示方法。如果它成为问题并且显示方法比新数据源的侵入性更小,您可以随时更改它。

如需进一步阅读,请查看教程: Ivan Kashperuk 的缓存显示方法。

于 2015-12-03T16:54:27.230 回答
0

您可以通过将选择部分移动到表上的静态服务器方法以及选择实际需要的定义字段来优化它。

公共静态服务器名称 getJourName... ... 从 ledgerJournalTabel 中选择名称 ...

并且您也可以在缓存属性参数中设置为 false,因为在大多数情况下,交易的日志编号不会更改。

于 2015-12-04T04:37:35.543 回答