3.3.Creando valores para una dimensión personalizada

Como recordareis en los primeros post sobre dimensiones os explique que eran y de donde salen sus valores.
Hoy os proporcionaré una porción de código con la que crear valores para una dimensión personalizada.

Para ver las dimensiones del sistema nos dirigiremos a la siguiente ruta.

Contabilidad General > Configurar > Dimensiones Financieras > Dimensiones financieras

En la imagen podemos ver que ahora mismo solo tengo una llamada Local, la cual no tiene valores.



Aquí está nuestro código que nos creará el valor Barcelona en nuestra Dimensión.

static void CrearValorParaUnaDimensionPersonalizada(Args _args)
{
    DimensionAttribute                       dimensionAttribute = dimensionAttribute::findByName("Local");
    DimensionAttributeDirCategory   dimAttrDirCategory;
    DimensionFinancialTag                dimensionFinancialTag;
    FinancialTagCategory                   financialTagCategory;
  
    if (dimensionAttribute.RecId && dimensionAttribute.Type == DimensionAttributeType::CustomList)
    {
        select forupdate dimAttrDirCategory
            where dimAttrDirCategory.DimensionAttribute == dimensionAttribute.RecId
            join forupdate financialTagCategory
                where financialTagCategory.RecId == dimAttrDirCategory.DirCategory;
  
        dimensionFinancialTag.clear();
        dimensionFinancialTag.initValue();
        dimensionFinancialTag.FinancialTagCategory = financialTagCategory.RecId;
        dimensionFinancialTag.Value                           = "Barcelona";
        dimensionFinancialTag.Description                  = "Barcelona";
        dimensionFinancialTag.insert();
    }          
}

Aquí podemos ver el resultado final.

Comentarios