Buscar en este blog

domingo, 1 de noviembre de 2015

Saldo de cuenta contable por dimensión por código en Dynamics Ax 2012


Anteriormente había publicado cómo consultar el saldo de una cuenta que funciona tanto para cuentas normales como para totalizadoras, en esta ocasión el código a continuación sirve para calcular el saldo de una cuenta con una dimensión especifica hasta una fecha definida haciendo uso de la clase LedgerBalanceDimAttrValueAmounts.

El método requiere como parámetro la cuenta de la que se requiere el saldo, la dimensión que en este caso es una dimensión de sucursal y la fecha hasta donde se requiere el saldo.

private AmountMST saldoCuentaSucursalAx(str _cuenta,
                                           str _sucursal,
                                           date _fechaHasta)
{
       
    LedgerBalanceDimAttrValueAmounts        balance;
    MainAccountListPageBalanceParameters    balanceParaemeters;
    MainAccount                             mainAccount;
    DimensionAttributeValue                 dimensionAttributeValue;
    DimensionAttribute                      dimensionAttribute,
                                            dimensionAttributeSucursal;
       
    mainAccount = mainAccount::findByMainAccountId(_cuenta);
    balanceParaemeters = MainAccountListPageBalanceParameters::construct();
    balance = LedgerBalanceDimAttrValueAmounts::construct();
       
    dimensionAttribute = DimensionAttribute::findByName( "MainAccount");
    dimensionAttributeValue = dimensionAttributeValue::findByDimensionAttributeAndEntityInst(dimensionAttribute.RecId, mainAccount.RecId);
       
    balance.parmAccountingDateRange(balanceParaemeters.getStartDate(), _fechaHasta);
    balance.parmPostingLayer(balanceParaemeters.getPostingLayer());
    balance.parmIncludeOpeningPeriod(balanceParaemeters.getIncludeOperatingPeriods());
    balance.parmIncludeRegularPeriod(balanceParaemeters.getIncludeOperatingPeriods());
    balance.parmIncludeClosingPeriod(balanceParaemeters.getIncludeClosingPeriods());
    balance.parmIncludeClosingPeriodBySystem(balanceParaemeters.getIncludeClosingPeriods());
       
    dimensionAttributeSucursal = DimensionAttribute::findByName( "Sucursal");
    balance.addDimAttrValue(dimensionAttributeSucursal.Recid, _sucursal);
    balance.calculateBalance(dimensionAttributeValue);
       
    return balance.getAccountingCurrencyBalance();
       

}



Post que podrían interesarte:
Saldo de cuenta contable
Saldo de cuenta contable por grupo de artículos


Y por cierto, acuérdate de darle click a algún anuncio si el post te sirvió de algo. O comenta si quieres saber sobre algún tema en específico.

No olvides que te puedes unir a la página en Facebook Aprendiendo Dynamics Ax donde únicamente se tratan temas de desarrollo y se busca crear una comunidad de desarrollador@s de Ax en nuestro idioma.