Hilo iniciado por Mario Andres Bustos Araya el 5 de febrero de 2016
-
AutorEntradas
-
febrero 5, 2016 a las 4:27 pm #10033
Hola colegas Saludos, Quería pedirles ayuda en validaciones en AX, les cuento mi problema:
Tengo un Grid que esta asociado a una tabla temporal (con los mismos atributos de ledgerJournalTable) la cual la lleno importando un CSV con los datos.Necesito validar todo los campos que se ingrese desde CSV al mi Tabla temporal y luego mencionarlo en un CheckBox diciendo que esta validado o no. Bueno me di cuenta que la tabla LedgerJournalTable tiene un método que se llama ValidateField piense que ese me puede servir para hacer las validaciones en la tabla temporal. bueno aun asi si me sirve o no, no se como llamarlo o como seria la sintaxis en mi Clicked donde importo mi CSV a mi tabla temporal y a mi grid.
Ayuda! nesecito ayuda con la sintaxcis y si alguien me puede ayudar con un ejemplo de como se hacen validaciones de String, Int, Real, Date. se le agradeseria un monton !!!!!
Les dejo mi codigo donde importo mi CVS a mi tabla temporal.
csvFile = new CommaIo(filename, ‘r’);
csvFile.inFieldDelimiter(‘;’); // Delimiter…
GridTemporal.clear();try
{
if (csvFile)
{
readCon = csvFile.read();
while (csvFile.status() == IO_Status::OK)
{readCon = csvFile.read();
type_ = conPeek(readCon, 1);//Enum
credito_ = conPeek(readCon, 2);//Real
debito_ = conPeek(readCon, 3);//Real
transdate_ = conPeek(readCon, 4);//Date
txt_ = conPeek(readCon, 5);//String
divisa_ = conPeek(readCon, 6);//String
cuenta_ = conPeek(readCon, 7);//intGridTemporal.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.insert();
GridTemporal_ds.executeQuery();}
}
}catch{
info(“Creo que hay un error”);}
febrero 5, 2016 a las 8:33 pm #10034Si hubieras hecho un solo hilo seria más fácil el seguimiento, no abriendo uno nuevo cada vez que avanzas algo.
Para llamar por código al método validateField es como sigue..
nombreTable.validateField(fieldnum(nombreTable, NombreCampo));
pero lo que quieres hacer no es correcto.
Deberias crearte tus propias validaciones no tomar las de otro tabla y piensa que fieldnum es un mètodo que devolverá el id del campo de la tabla todo tiene que ser de la misma tabla, no puedes hacer algo como
CustTable.validateField(fieldnum(LedgerJournalTable, AccountNum))
por que el Id que devolvera será el del campo accountnum de la ledgerjournaltable pero tu tabla es la custTable.
lo que deberias haber hecho desde un inicio es crearte una clase donde meter toda la lógica de la lectura del fichero,la escritura en tu tabla temporal y las validaciones ,porque lo más seguro es que estes llenando el formulario de código.
febrero 5, 2016 a las 9:00 pm #10035no si doy por descartado tomar validaciones de otra tabla, lo intente y fue peor. pero no se puede validar directamente del methodo Clicked ?? porque nose como hacerlas clases como tu me dices solo eh podido a codigo duro en el clicked, cumple con su función pero ahora que me piden validar y busco info de como hacerlo ya se me complico la existencia y los ejemplos que eh encontrado no los logro entender muy bien
aqui tengo uno que hace algo parecido ( http://ax.nom.es/dynamicsax/carga-de-dimensiones-analiticas-ax-2012-r2 )
-
AutorEntradas
- Debes estar registrado para responder a este debate.

