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.
No hay comentarios.:
Publicar un comentario