Ayuda! Ingreso de CheckBox y StringEdit a campo especifico de tabla temporal.

Hilo iniciado por Mario Andres Bustos Araya el 17 de febrero de 2016

Viendo 1 entrada (de un total de 1)
  • Autor
    Entradas
  • #10010
    RangoMario Andres Bustos ArayaMario Andres Bustos Araya
    Participante
    APRENDIZ
    999 Rincoins

    Hola amigos de AX. Quiero contarles mi problema a ver si me pueden ayudar. Estoy ingresando mi CSV a una tabla temporal para mostrarla en un GRID, le estoy haciendo unas validaciones para que cuando se ingrese un dato erróneo o vació el programa lo deje checkeado en el grid y en otro campo mande la descripcion del error. Por ahora solo tengo esto, valida pero al momento de ingresar el check y la descripción en el stringEdit me lo ingresa en los primeros campos y no en los campos específicos que están malos los datos.

    ALGUNA ALMA DIVINA!?? que me pueda ayudar con la sintaxis para poder ingresar el check y la descripción en el campo malo… les dejo mi codigo, lo estoy checkeando en el else de la validación 

    Muchas gracias por su atención 

    static void clicked(Args args){

    GridTemporal cargar; // tabla
    MultiselectionHelper copyhelper = MultiselectionHelper::construct();
    FileName fileName = FileOpen.text();
    CommaIo csvFile;
    container readCon;
    LedgerJournalACType tipo;
    str transdate_,txt_, error,type_,GDsError,divisa_;
    int64 cuenta_;
    real debito_,credito_;
    int numLines, cnt;
    date trdate;
    //NoYesId check;
    anytype value;
    TransDate trs;
    NoYesId check = NoYes::No;
    Dialog dialog = new Dialog(“New dialog with checkBox”);
    DialogField dialogField = dialog.addFieldValue(extendedTypeStr(NoYesId), check, “Check it”);
    ;

    //—-
    csvFile = new CommaIo(filename, ‘r’);
    csvFile.inFieldDelimiter(‘;’); // Delimiter…

    try
    {
    if (csvFile)
    {
    readCon = csvFile.read();
    while (csvFile.status() == IO_Status::OK)
    {//fila

    readCon = csvFile.read();// see leen las columnas
    if(conLen(readCon) >0){
    //lectura de datos de CVS
    cnt++;
    type_ = conPeek(readCon, 1);//transdate
    credito_ = conPeek(readCon, 2);// tipo
    debito_ = conPeek(readCon, 3);//txt
    transdate_ = conPeek(readCon, 4);//debito
    txt_ = conPeek(readCon, 5);//credito
    divisa_ = conPeek(readCon, 6);
    cuenta_ = conPeek(readCon, 7);

    //Validacion de Transdate (Tipo de argumento erróneo para función de conversión. solo funciona para campos vacios)
    if (conPeek(readCon,4))
    {
    value = conPeek(readCon,4);
    value = strLRTrim(value);

    try{
    GridTemporal.TransDate = str2Date(value,123);
    }catch{
    throw error(“fecha mala”);
    //info(“Error de compatibilidad”);
    // check = true;
    }
    }else{
    check = dialogField.value();
    info(strfmt(“Value %1” , check));
    info(strFmt(“Dato de Transdate Vacio %1”, transdate_));

    }//if transdate

    // if para que tome en cuenta si estan los 2 campo vacios o incompatibles
    if(credito_ ==0 && debito_ == 0){
    //validacion de credito————————————————————– –>
    if(conPeek(readCon,2))
    {
    value = conPeek(readCon,2);
    value = strLRTrim(value);
    try{
    GridTemporal.AmountCurCredit = value;
    }catch{
    info(strFmt(“no compatible credito %1”, credito_));
    //check = true;
    }
    }else{
    error = strFmt(“Dato de credito vacio %1”, credito_);
    }//if debito

    //validacion de debito—————————————————————–>
    if(conPeek(readCon,3))
    {
    value = conPeek(readCon,3);
    value = strLRTrim(value);
    try{
    GridTemporal.AmountCurCredit = value;
    }catch{
    info(strFmt(“no compatible credito %1”, debito_));
    //check = true;
    }
    }else{
    info(strFmt(“Dato de credito vacio %1”, check));

    //check = true;
    }//if debito
    }//if de credito&debito

    //Traspasos de datos a tabla temporal
    GridTemporal.clear();

    GridTemporal.TransDate = str2Date(transdate_,123);
    GridTemporal.AccountType = str2enum(tipo,type_);
    GridTemporal.txtd = txt_;
    GridTemporal.AmountCurCredit = credito_;
    GridTemporal.AmountCurDebit = debito_;
    GridTemporal.LedgerDimension = cuenta_;
    GridTemporal.CurrencyCode = divisa_;
    GridTemporal.CheckValue = check;
    GridTemporal.DscpError = error;
    GridTemporal.insert();
    GridTemporal_ds.executeQuery();

    }// if contador
    }//while status
    }//if cvsFile
    }catch{
    info(“Creo que hay un error”);
    }
    }

Viendo 1 entrada (de un total de 1)
  • Debes estar registrado para responder a este debate.
Carrito de compra