While creating data entities using financial dimensions, do not forget that those are backed in background by special classes via SysDataEntityPersister class
Those latter help resolving selected values (similar to what we see in segmented entry in forms).
Each class is meant to serve a particular EDT, for example
/// <summary> /// The <c>LedgerAccountDimensionDataEntityResolver</c> class resolves data entity ledger account values. /// </summary> [ System.ComponentModel.Composition.ExportMetadataAttribute("DimensionSFKType", identifierstr(LedgerDimensionAccount)), System.ComponentModel.Composition.ExportAttribute("Microsoft.Dynamics.AX.DimensionDataEntitySFKFieldResolver") ] public class LedgerAccountDimensionDataEntityResolver extends DimensionDataEntitySFKFieldResolver { Name accountStructure;
...
In order to let it work correctly, some fields in your data entity must have particular names.
public class DimensionDataEntityConstants { public static const str HasDimensionDataSourcesCustomPropertyName = '__HasDimensionDataSources__'; public static const str ProviderCacheName = 'DimensionDataEntitySFKProviderCacheName'; public static const str AccountStructureSuffix = 'AccountStructure'; public static const str DisplayValueSuffix = 'DisplayValue'; public static const str DisplayValueTypeName = 'DimensionDisplayValue'; }
No comments:
Post a Comment