Problemas para poder llenar un GRID en Dynamics Ax 2012

Hilo iniciado por Mario Andres Bustos Araya el 27 de enero de 2016

Viendo 7 entradas - de la 1 a la 7 (de un total de 7)
  • Autor
    Entradas
  • #10086
    RangoMario Andres Bustos ArayaMario Andres Bustos Araya
    Participante
    APRENDIZ
    999 Rincoins

    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));

            }

        }

    }

    #10087
    RangoXBBXBB
    Participante
    PARTICIPANTE
    1.049 Rincoins

    Hola

    NombreDelDataSourceConLaTablaTmp.nombreCampo = colummn1

    NombreDelDataSourceConLaTablaTmp.nombreCampo = colummn2

    etc…

    NombreDelDataSourceConLaTablaTmp.doinsert(); <–Por si acaso

    NombreDelDataSourceConLaTablaTmp_ds.executeQuery();

    #10088
    RangoMario Andres Bustos ArayaMario Andres Bustos Araya
    Participante
    APRENDIZ
    999 Rincoins

    declare las variables de column1 como “str” (todas) y me aparece que este operador no es compatible.

    #10089
    RangoXBBXBB
    Participante
    PARTICIPANTE
    1.049 Rincoins

    Debes mirar de que tipo es cada campo de tu tabla temporal y convertir el colum a cada tipo.

    #10090
    RangoMario Andres Bustos ArayaMario Andres Bustos Araya
    Participante
    APRENDIZ
    999 Rincoins

    jaja 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();
    }

    }

    #10091
    RangoXBBXBB
    Participante
    PARTICIPANTE
    1.049 Rincoins

    Vamos 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

    #10092
    RangoMario Andres Bustos ArayaMario Andres Bustos Araya
    Participante
    APRENDIZ
    999 Rincoins

     Gracias!! 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

Viendo 7 entradas - de la 1 a la 7 (de un total de 7)
  • Debes estar registrado para responder a este debate.
Carrito de compra