JavaScript


([N1] gberumen) #1

Alguien sabe como obtener correctamente un valor boleano al exportar a Excel? Pasa que intento obtener el tipo de campo de una columna, sin embargo cuando el campo es boleano, obtengo que es de tipo 2 (FieldTypeAlpha64) cuando esperaba que fuera 10 (FieldTypeBool). Cuando se exporta a excel el usuario final no espera ver un 1 o un 0, sino un Si o un No, por lo cual intenté validar el tipo del campo pero desconozco la manera de hacerlo.

Intenté con esto

var registro = theRegisterListIn.readAt(numRegistro);
var tablaInfo = registro.tableInfo();

Para luego obtener el tipo de la columna con tablaInfo.fieldType(numColumna)

Si alguien me puede orientar, se lo agradecería.

Saludos


([N4] Infortic) #2

Hola gberumen.

La forma que planteas parece adecuada.

¿En qué versión te pasa?

Yo tengo un par de procesos en 7.14.3 y los campos booleanos me devuelven fieldType 10 de forma correcta.


([N1] gberumen) #3

Hola, del script lo desconozco, pero lo estoy aplicando en Velneo 7.16.0.12884. Estoy intentado hacer esa funcionalidad en el script de Velneo velneoExportarExcel.js, pero sin éxito. Posiblemente algo estoy haciendo mal. ¿No estará interpretando los campos como strings?

Saludos


([N1] gberumen) #4

Ya cambié la forma de obtener los datos pero ahora tengo un problema con las fechas…al agregarla a excel, se guarda con el valor que le da la gana y no respeta el valor que está guardado en Velneo. Por ejemplo, al obtener el dato con la sentencia

dato = this.rejilla.data(fila, columna);

La fecha guardada con el valor 02/09/2014 (02 de Septiembre del 2014), en excel la muestra 09/02/2014

¿Alguien más tuvo este problema?


([N4] Infortic) #5

Aquí se habla de ello:

http://velneo.es/foros/topic/fechas-en-rejillas

yo que tu la formateaba antes de exportarla, por ejemplo en js:

function LeadingZeros( tam , num )
{
if (num.toString().length < tam) return LeadingZeros(tam, “0” + num)
else return num;
}

function FormatDate(cadena , formato)
{
return cadena.getFullYear() + “-” + LeadingZeros(2,(cadena.getMonth()+1)) + “-” + LeadingZeros(2,cadena.getDate());
}

Consigues formatear una fecha al formato 2014-10-14 que seguramente te la coja bien