Error en vTools 7.19


([N3] leonel1284) #1

Bueno con la novedad de que actualice el vTools a la 7.19, a todo aquel que ocupe el menú personalizado en la rejillas, principalmente para exportar a Excel, les recomiendo fuertemente que NO actualicen, por que ya no se puede exportar a excel, ya que te arroja un error del script de exportación de información, me comentan en soporte que ahora lo que se muestra en la rejilla (para poder exportarla a Excel) debe de ser de una tabla maestra, nada de enlaces porque ahí falla. Una opción de solución es crear “tablas temporales” lo cual no es factible cuando tienes muchas rejillas y sobre todo cuando los reportes incluyen mas de 1 millón de registros. Por fas, si alguien tiene una alternativa viable, favor de facilitarla. Tengo a mis clientes encima este día, porque es crucial su información en Excel, al menos en México se utiliza mucho no se en España.



([N4] avela) #2

Hola leonel1284;

Actualmente existe una versión de vTool actualizada y revisada.Le recomiendo que la descargue y compruebe el script de exportación a excel con el script que usted dispone en su solución.

En cuanto a la imagen que usted adjunta, la imagen indica que existe un error en el fichero script generado y debido a ello excel no puede abrirlo.

Seria recomendable que abriera el fichero .vbs generado y localizar dónde se encuentra el error generado, y así podrá ver qué tipo de información a intentado exportar y qué error ha podido cometer vTools en la generación del fichero.

Actualmente vTools incorpora mejoras que los propios miembros de este foro -agradezco personalmente desde aquí vuestra colaboración- han propuesto mediante el canal de soporte y que hemos visto viable la incoporación en vTools.

leonel1284, utilice soporte para cualquier error que pueda encontrar en vTools o en la plataforma para poder evaluarla y proceder a su corrección lo antes posible.

Actualmente los campos enlazados a maestro son funcionales, compruebe el soporte correspondiente donde le pongo imágenes de la exportación funcional realizada con vTools.

Muchas gracias por vuestra colaboración.

Un saludo,
Antonio Vela


([N3] leonel1284) #3

Estimado Antonio Vela, dando seguimiento a este tema y con respecto al soporte. Te pongo lo mismo que en el soporte (me cito a mi mismo):

"Las diferencias que encontré son:

vtools 7.18 correcto:
objSheet.Cells(2,5).Value = “12.9102”

vtools 7.19 erróneo:
objSheet.Cells(2,5).Value = 12,9102

en otra de mis aplicaciones tengo la versión 7.19 erróneo:
objSheet.Cells(2,5).Value = 926,133

A mi se me hace que estas haciendo pruebas con tu formato de número regional, y es que España separa los decimales con una coma (,) y en México se hace con un punto, veo que en tus rejillas que si manejas el punto decimal pero en Excel ese punto esta en los miles. Ya cambie mi configuración de Windows a Español España y como bien dices no hubo error al exportar con el vTools.

Ya anteriormente tuve una bronca con el vtools referente a fechas y es que creo que se les esta pasando que esto es para todos los países no solo para España.

Quedo al pendiente, como bien dije y estoy demostrando el vTools 7.19.0 tiene problemas. Me avisas si en la 7.19.1 ya esta corregido o si tengo que esperar a la 7.19.2"

Me comentas que la versión 7.19.1 es la correcta, desafortunadamente la que me descarga el link que llega a mi correo es la 7.19.0. Con esto queda mas que claro, lo que dije al principio: “el vTools a la 7.19, a todo aquel que ocupe el menú personalizado en la rejillas, principalmente para exportar a Excel, les recomiendo fuertemente que NO actualicen, por que ya no se puede exportar a excel, ya que te arroja un error del script de exportación de información” al menos en México, tuve que regresar al vtools 7.18.

Adjunto la imagen de la rejilla que si se exportó, pero en formato España.



([N3] pacosatu) #4

Hola leonel1284.

He revisado el código Javascript de vTools y he detectado varios fallos:

  • He sustituido la función currentDecimalPoint() por sysDecimalPoint(). Con el Inglés no devolvía el valor correcto.
  • La variable decimalPointExcel siempre vale “.” porque es la que utilizamos para colocar correctamente los numeros en el script de VBScript. Los números siempre deben ir con el separador decimal del punto (y sin separador de miles) para que sea independiente del idioma utilizado en la exportación.
  • En la función isNaN() se quita el separador de miles para que funcione correctamente.

Adjunto el código Javascript modificado (Los cambios están marcados como PACOSATU). Lo sustituyes copiando y pegando en el script export_rejilla_excel.js.

Pruébalo en tu aplicación y si funciona lo envío a Soporte para que lo validen y lo incluyan en la 7.19.1.

Saludos
Paco Satué




export_rejilla_excel_20160504.zip (2.93 KB)


([N4] ihumaran) #5

Hola seh

He sustituido el código modificado, y funcionó, salvo con importes de millón, dichos importes en las celdas del Excel quedan con formato de texto, no así los importes menores a 1 millón.

Saludos

Ismael Humarán


([N3] pacosatu) #6

Hola Ismael.

Disculpa, ha habido un error con la función replace() de javascript, necesita un expresión regular, de lo contrario solo reemplaza la primera ocurrencia.

Ya está corregido.
Gracias por testear el código.

Saludos
Paco Satué

export_rejilla_excel_20160505.zip (2.96 KB)


([N4] ihumaran) #7

Hola Paco

Por favor, no tenes que disculparte
Muchas gracias por compartir tus conocimientos.

Abrazo

Ismael


([N3] blavan) #8

Gracias Paco


([N3] blavan) #9

Muchas gracias


([N4] innovadb) #10

Hola a todos

Para los que tengáis problemas con las fechas (si la rejilla tiene al año en 2 dígitos os pondrá 1916) podeis añadir esta linea if (parseInt(yyyy) <= 2000) {yyyy = parseInt(yyyy)+100}; en las funciones Date.prototype.yyyymmdd y Date.prototype.yyyymmddhhmmss

Por otra parte el script sigue sin funcionar bien y nosotros tuvimos que volver a la versión anterior. Los problemas aparecen cuando cambias el idioma de vClient y del sistema, y lo peor de todo es que es aleaorio, por ejemplo con cosas como exportar una rejilla y rompe el script, pero si le vuelves a dar ya funciona.

@Paco ¿Puedes contactar con nosotros para buscar una solución definitiva a este problema?

Nuestro mail es info@innovadb.com

Un saludo


([N3] pacosatu) #11

Hola innovadb.

  • Velneo delega al sistema operativo (configuración regional) la gestión de años de 2 cifras. Después de la experiencia con el efecto 2000 no debería haber aplicaciones que usaran años con 2 cifras en las fechas.
  • El script de vTools de exportación de Rejillas a Excel no contempla multidioma. Habrá que revisar la función Date.prototype.fromString, no supone mayor complicación.
  • El valor Data de todas las columnas de la Rejilla siempre es un String cuando no están vinculadas directamente a un campo de la tabla. Si partimos de un String, va a ser complicado conocer con total certeza si se trata de un número o de una fecha/hora y en que formato está. Esto es un gran handicap que para mí invalida totalmente este script.

Ahora mismo esta rutina solo funciona correctamente para columnas vinculadas directamente a campos de la tabla y con fechas de formato dd/MM/yyyy. Por ejemplo, si usamos la fórmula “currenDate()” en una columna, en excel aparece como un string.

Creo que este script necesita un análisis más profundo, quizás usar una tabla intermedia en la que se describan las columnas de todas las rejillas de la aplicación que sean exportables.
En cualquier caso, vTools es una utilidad de pago y debe ser el equipo de desarrollo de Velneo el encargado de hacerlo.

En cuanto a que rompa el vClient, es el precio a pagar por el uso cada vez más imprescindible del API y javascript.

Saludos
Paco Satué


([N4] mittosoftware) #12

Refloto el hilo con una pregunta, ¿saben si la version vTools 7.19.1, lanzada en 12-may-2016, soluciona estas incidencias?
https://velneo.es/velneo-open-app/velneo-vtools