Pues eso, el siguiente ejemplo muestra cómo enviar los datos de una consulta a un archivo de excel desde Dynamics Ax 2009. Esto es necesario en el caso en que tenemos algún usuario quisquilloso que necesita información de su área muy detallada y que en Ax no se encuentra en ningun reporte, a veces es mas fácil hacer la consulta y mandarla a un excel.
En el siguiente ejemplo, se muestra cómo pasar el resultado de una consulta a un excel y que al correr el código se abra en automático la hoja que se genero. La consulta calcula el saldo de cuentas contables referentes a los conjuntos de artículos.
static void SaldosCuentasExcel(Args _args)
{
LedgerTable ledgerTable;
ItemGroupId itemGroupId;
InventPosting inventPosting;
InventItemGroup inventItemGroup;
AmountMST balance;
TransDate fromDate,todate;
LedgerBalanceSum_CurrentMST ledgerBalanceSum_CurrentMST_SaldoMes;
CustTable custTable;
SysExcelApplication application;
SysExcelWorkBooks workbooks;
SysExcelWorkBook workbook;
SysExcelWorksheets worksheets;
sysExcelWorksheet worksheet;
SysExcelCells cells;
SysExcelCell cell;
int row;
;
application = SysExcelApplication::construct();
workbooks = application.workbooks();
workbook = workbooks.add();
worksheets = workbook.worksheets();
worksheet = worksheets.itemFromNum(1);
cells = worksheet.cells();
cells.range('A:A').numberFormat('@');
fromdate = str2date("01/01/2011",123);
todate = str2date("08/02/2012",123);
ledgerBalanceSum_CurrentMST_SaldoMes = new LedgerBalanceSum_CurrentMST(fromdate,todate);
while select ItemRelation, LedgerAccountId, InventAccountType from inventPosting
join inventItemGroup
order by inventItemGroup.Name
where inventPosting.ItemRelation == inventItemGroup.ItemGroupId
{
balance = ledgerBalanceSum_CurrentMST_SaldoMes.balance(inventPosting.LedgerAccountId);
row++;
cell = cells.item(row,1);
cell.value(inventItemGroup.Name);
cell = cells.item(row,2);
cell.value(inventPosting.LedgerAccountId);
cell = cells.item(row,3);
cell.value(enum2str(inventPosting.InventAccountType));
cell = cells.item(row,4);
cell.value(balance);
}
application.visible(true);
}
Por último, te invito a que te unas a la página de facebook recién creada para estar al día con las actualizaciones del blog y que podamos tener más comunicación. La meta? es hacer la comunidad de habla hispana mas grande sobre Dynamics Ax en cuestiones de desarrollo.
Buscar en este blog
jueves, 9 de febrero de 2012
miércoles, 8 de febrero de 2012
Saldo de cuenta contable en Dynamics Ax
Pues aquí un tip chiquito, algunas veces para efectos de verificar cómo se van afectando los saldos de las cuentas contables de acuerdo a las compras, ventas y traslados en Ax es necesario saber los saldos de las cuentas en un solo paso, en vez de estar dando clic a cada cuenta y despues en el botón de "Saldo".
Así que por código, les muestro cómo calcular el saldo de las cuentas que estan asignadas a los grupos de artículos. Espero les sirva.
static void yc_jobs(Args _args)
{
LedgerTable ledgerTable;
ItemGroupId itemGroupId;
InventPosting inventPosting;
InventItemGroup inventItemGroup;
AmountMST balance;
TransDate fromDate,todate;
LedgerBalanceSum_CurrentMST ledgerBalanceSum_CurrentMST_SaldoMes;
;
fromdate = str2date("01/01/2011",123);
todate = str2date("08/02/2012",123);
ledgerBalanceSum_CurrentMST_SaldoMes = new LedgerBalanceSum_CurrentMST(fromdate,todate);
while select ItemRelation, LedgerAccountId, InventAccountType from inventPosting
join inventItemGroup
order by inventItemGroup.Name
where inventPosting.ItemRelation == inventItemGroup.ItemGroupId
{
balance = ledgerBalanceSum_CurrentMST_SaldoMes.balance(inventPosting.LedgerAccountId);
info(strfmt("%1, %2, %3, %4", inventItemGroup.Name, inventPosting.LedgerAccountId,
inventPosting.InventAccountType, balance));
}
}
Suscribirse a:
Entradas (Atom)