Hilo iniciado por Mario Andres Bustos Araya el 27 de enero de 2016
-
AutorEntradas
-
enero 27, 2016 a las 8:10 pm #10086
Nesecito ayuda en AX eh creado un metodo para un boton que agarra los datos de un archivo CSV y los muestra atraves de un “info” pero necesito agarrar esos datos y mandarlos a un grid con una tabla temporal. les dejo mi codigo para ver si saben alguna sintaxis para llenar el grid..
Saludos!!
static void clicked(Args _args)
{
FileName fileName = Browser.text();
CommaIo csvFile;
container readCon;
str column1,column2,column3;csvFile = new CommaIo(filename, ‘r’);
csvFile.inFieldDelimiter(‘,’); // Delimiter…
if (csvFile)
{
readCon = csvFile.read();
while (csvFile.status() == IO_Status::OK)
{
readCon = csvFile.read();
column1 = conPeek(readCon, 1);
column2 = conPeek(readCon, 2);
column3 = conPeek(readCon, 3);
info(strFmt(“%1 – %2 – %3”, column1, column2, column3));
}
}
}
enero 28, 2016 a las 11:31 am #10087Hola
NombreDelDataSourceConLaTablaTmp.nombreCampo = colummn1
NombreDelDataSourceConLaTablaTmp.nombreCampo = colummn2
etc…
NombreDelDataSourceConLaTablaTmp.doinsert(); <–Por si acaso
NombreDelDataSourceConLaTablaTmp_ds.executeQuery();
enero 28, 2016 a las 1:36 pm #10088declare las variables de column1 como “str” (todas) y me aparece que este operador no es compatible.
enero 28, 2016 a las 2:34 pm #10089Debes mirar de que tipo es cada campo de tu tabla temporal y convertir el colum a cada tipo.
enero 28, 2016 a las 3:04 pm #10090jaja si era eso cambie las variebles por str, rela y date, pero aun asi no me inserta los datos en mi tabla, no me tira ningun error si…
static void clicked(Args _args)
{
FileName fileName = Browser.text();
CommaIo csvFile;
container readCon;
str column5,column4;
real column1,column2;
date column3;
GridTemporal griTemporal;
InventTable inventTable;
;csvFile = new CommaIo(filename, ‘r’);
csvFile.inFieldDelimiter(‘,’); // Delimiter…if (csvFile)
{
readCon = csvFile.read();
while (csvFile.status() == IO_Status::OK){
readCon = csvFile.read();
column1 = conPeek(readCon, 1);//crdit
column2 = conPeek(readCon, 2);//debit
column3 = conPeek(readCon, 3);//date
column4 = conPeek(readCon, 4);//txt
column5 = conPeek(readCon, 5);//voucher}
}
while select GridTemporal
{
// GridTemporal.clear();
//GridTemporal.initValue();
GridTemporal.AmountCurCredit = column1;
GridTemporal.AmountCurDebit = column2;
GridTemporal.TransDate = column3;
GridTemporal.Txt = column4;
GridTemporal.Voucher = column5;
GridTemporal.doinsert();
GridTemporal_ds.executeQuery();
GridTemporal.insert();
}}
enero 28, 2016 a las 4:05 pm #10091Vamos a repasar,deberias depurar el código para ve que hace
‘Te recorres el fichero y maxacas a cada vuelta el valor de columm1
con lo que al final columm1 tiene el ultimo valor
while (csvFile.status() == IO_Status::OK)
{
readCon = csvFile.read();
column1 = conPeek(readCon, 1);//crdit
column2 = conPeek(readCon, 2);//debit
column3 = conPeek(readCon, 3);//date
column4 = conPeek(readCon, 4);//txt
column5 = conPeek(readCon, 5);//voucher}
}
‘Que recorres aquí si lo tienes vacio?
while select GridTemporal
{
// GridTemporal.clear();
//GridTemporal.initValue();
GridTemporal.AmountCurCredit = column1;
GridTemporal.AmountCurDebit = column2;
GridTemporal.TransDate = column3;
GridTemporal.Txt = column4;
GridTemporal.Voucher = column5;
GridTemporal.doinsert();
GridTemporal_ds.executeQuery();
GridTemporal.insert();
}while (csvFile.status() == IO_Status::OK)
{
readCon = csvFile.read();
column1 = conPeek(readCon, 1);//crdit
column2 = conPeek(readCon, 2);//debit
column3 = conPeek(readCon, 3);//date
column4 = conPeek(readCon, 4);//txt
column5 = conPeek(readCon, 5);//voucher// GridTemporal.clear();
//GridTemporal.initValue();
GridTemporal.AmountCurCredit = column1;
GridTemporal.AmountCurDebit = column2;
GridTemporal.TransDate = column3;
GridTemporal.Txt = column4;
GridTemporal.Voucher = column5;
GridTemporal.doinsert();}
GridTemporal_ds.executeQuery();
no me gusta nada como esta hecho…pero hay tienes
enero 28, 2016 a las 4:25 pm #10092Gracias!! si lose debería hacer un FormRun, init, run y todo eso pero es que necesito crear un botón “cargar” el cvs en una tabla y hasta ahora me ingresa, el problemas es que algunos datos los toma bien y otros como campos nulos o 0
-
AutorEntradas
- Debes estar registrado para responder a este debate.

