私はクエリの最初の部分にGeneralJournalEntry
とGeneralJournalAccountEntry
を参加させています。私はDimensionProvider
クラスを正しく使用する方法がわからないので、現在はMainAccount
をハードコーディングしています。addAttributeRangeToQueryは結果にレコードを複製します
query = new Query();
qbdsGeneralJournalAccountEntry = query.addDataSource(tableNum(GeneralJournalAccountEntry));
qbr1 = qbdsGeneralJournalAccountEntry.addRange(fieldNum(GeneralJournalAccountEntry, LedgerAccount));
qbr1.value(queryValue('111111') + '*');
qbdsGeneralJournalEntry = qbdsGeneralJournalAccountEntry.addDataSource(tableNum(GeneralJournalEntry));
qbdsGeneralJournalEntry.relations(true);
qbdsGeneralJournalEntry.joinMode(JoinMode::InnerJoin);
if (_fromDate || _toDate)
{
qbdsGeneralJournalEntry.addRange(fieldnum(GeneralJournalEntry, AccountingDate)).value(queryRange(_fromDate, _toDate));
qbdsGeneralJournalEntry.addSortIndex(indexNum(GeneralJournalEntry, LedgerAccountingDateIdx));
qbdsGeneralJournalEntry.indexIsHint(true);
}
dimensionProvider = new DimensionProvider();
dimensionProvider.addAttributeRangeToQuery(
query
, qbdsGeneralJournalAccountEntry.name()
, fieldStr(GeneralJournalAccountEntr, LedgerDimension)
, DimensionComponent::DimensionAttribute
, _costCenterNumber
, "CostCenter");
私のすべての行が重複している..私は私が再びGeneralJournalAccountEntry
データソースを追加していだと思うし、私はこの動作を持っている理由です。
while qr.nextセクション内のコストセンター値を確認できますが、上記の方法を使用して正しく行う方法はありますか:addAttributeRangeToQuery
?