
static void TIDF_getDimensionValue(Args _args)
{
DimensionAttribute dimAttr;
DimensionAttributeViewContract dimAttrViewContract;
Query q;
QueryRun qR;
QueryBuildDataSource qbds;
Common common;
dimAttr = DimensionAttribute::findByName("1. STORE");
dimAttrViewContract = DimensionAttribute::getViewContract(dimAttr.RecId);
q = new Query();
changecompany (dimAttr.company())
{
qbds = q.addDataSource(dimAttrViewContract.parmViewId());
qbds.addSortField(dimAttrViewContract.parmValueFieldId(),SortOrder::Ascending);
// Apply ranges on language ID fields.
DimensionAttribute::addTranslViewRangesToBackingEntityQuery(dimAttr.RecId, qbds);
if (DimensionCache::instance().dimensionAttributeHasCategorization(dimAttr.RecId))
{
if (dimAttr.Type == DimensionAttributeType::MainAccount)
{
qbds.addRange(dimAttrViewContract.parmCategoryFieldId()).value(queryValue(LedgerChartOfAccounts::current()));
}
else if (dimAttr.Type == DimensionAttributeType::CustomList)
{
qbds = qbds.addDataSource(tablenum(DimensionAttributeDirCategory), 'DimAttDirCat');
qbds.relations(true);
qbds.joinMode(JoinMode::InnerJoin);
qbds.fetchMode(QueryFetchMode::One2One);
qbds.addLink(dimAttrViewContract.parmCategoryFieldId(), fieldnum(DimensionAttributeDirCategory, DirCategory));
qbds.addRange(fieldnum(DimensionAttributeDirCategory, DimensionAttribute)).value(strfmt('%1', dimAttr.RecId));
}
}
}
qR = new QueryRun(q);
while(qR.next())
{
common = qR.get(dimAttrViewContract.parmViewId());
info(strFmt("%1 %2",common.getFieldValue(dimAttrViewContract.parmValueFieldName()), common.getFieldValue(dimAttrViewContract.parmNameFieldName())));
}
}
Like this:
Like Loading...
Related