Dynamics AX Blog - Dynamics AX 2012 - finanzdimensionen - Seite 4
Momentan angezeigt werden nur Beiträge, bei denen das Schlagwort »finanzdimensionen« eingetragen wurde. 

Momentan angezeigt werden nur Beiträge, welche für die Dynamics AX-Version »Dynamics AX 2012« relevant sind. 
RSS-Feed dieser Version

RSS-Feed dieser Version
AX 2012: Standardfinanzdimension eines Datensatzes auslesen und ausgeben
09.05.2012Microsoft Dynamics AX (Axapta)
|
AX 2012: Dimensionen einer Position einer Allgemeines Erfassung per X++ auslesen
09.05.2012Microsoft Dynamics AX (Axapta)
|
AX 2012: Datensätze mit einer bestimmten Dimension ausgeben
08.05.2012Microsoft Dynamics AX (Axapta)
Der folgende Job listet alle Debitoren auf, bei welchen in der Dimension CustomerGroup der Wert 80 eingetragen ist. Der interessante Teil des Jobs ist die Methode addDimensionAttributeRange der Klasse SysQuery, da diese sich um das Verknüpfen der benötigten Datenquellen kümmert. static void getRecords4DimensionValue(Args _args)
{ Query query; QueryBuildDataSource queryBuildDataSource; QueryBuildRange queryBuildRange; QueryRun queryRun; CustTable custTable; query = new Query(); queryBuildDataSource = query.addDataSource(tableNum(CustTable)); queryBuildRange = SysQuery::addDimensionAttributeRange( query, queryBuildDataSource.name(), "DefaultDimension", DimensionComponent::DimensionAttribute, queryValue("80"), "CustomerGroup"); queryRun = new QueryRun(query); while(queryRun.next()) { custTable = queryRun.get(tableNum(CustTable)); info(custTable.name()); } } Die Klasse SysQuery stellt übrigens zahlreiche weitere ähnliche Funktionen zur Verfügung, um mit Dimensionswerten zu arbeiten. |
|
|
|
|
|
|
Im folgenden Job werden die eingetragenen Standardfinanzdimensionen eines Datensatzes - im konkreten Fall die eines bestimmten Debitoren - ausgegeben.
{
DimensionAttributeValueSet dimensionAttributeValueSet;
DimensionAttributeValueSetItem dimensionAttributeValueSetItem;
DimensionAttributeValue dimensionAttributeValue;
DimensionAttribute dimensionAttribute;
Common dimensionValueEntity;
dimensionAttributeValueSet = DimensionAttributeValueSet::find(CustTable::find('9101').DefaultDimension);
// Find all of the 'value set items' linked against the 'value set'
while select dimensionAttributeValueSetItem
where dimensionAttributeValueSetItem.DimensionAttributeValueSet == dimensionAttributeValueSet.RecId
{
// Find the dimension 'value' (DimensionAttributeValue) that the set item points to.
dimensionAttributeValue = DimensionAttributeValue::find(dimensionAttributeValueSetItem.DimensionAttributeValue);
// Find the underlying attribute.
dimensionAttribute = DimensionAttribute::find(dimensionAttributeValue.DimensionAttribute);
// Use the helper class to obtain a reference to the underlying entity (can be anything)
dimensionValueEntity = DimensionDefaultingControllerBase::findBackingEntityInstance(
curext(),
dimensionAttribute,
dimensionAttributeValue.EntityInstance);
info(strFmt("%1: %2", dimensionAttribute.Name, dimensionAttributeValue.getValue()));
}
}