Para crear dimensiones financieras en AX 2012, hemos encontrado una manera sencilla de hacerlo con estructura de datos, para la cuál solo es necesario poner el nombre de la dimensión y el valor de la misma en la estructura antes mencionada y llamar a una clase estándar. De la siguiente manera:
Struct struct = new Struct();
container defDimensionCon;
int i;
DimensionDefault newDimensionDefault;
struct.add('NOMBRE_DIMENSION1',"valor_dimension1");
struct.add('NOMBRE_DIMENSION2',"valor_dimension2");
defDimension += struct.fields();
for (i = 1; i <= struct.fields(); i++)
{
defDimension += struct.fieldName(i);
defDimension += struct.valueIndex(i);
}
if (struct.fields())
{
newDimensionDefault = AxdDimensionUtil::getDimensionAttributeValueSetId(defDimensionCon);
}
Como podemos ver, simplemente agregamos la estructura a un contenedor y llamamos a la clase estándar. En el caso de que quieran agregan una cuenta y crear un LedgerDimension podemos hacer lo siguiente:
mainAccDimension = DimensionStorage::getDefaultAccountForMainAccountNum(strLRTrim(Cuenta));
LedgerDimension = DimensionDefaultingService::serviceCreateLedgerDimension(mainAccDimension, newDimensionDefault);
No hay comentarios:
Publicar un comentario