vClient rompe en la generacion de registros


(Jose) #1

Estoy realizando algunos procesos de importacion de datos, para realizar pruebas,

Realizo una importacion de 30.000 registros, +/-

El servidor se ejecuta en Local, aunque el equpo es un poco antiguo, tiene poca memoria y va algo lento

La importacion y generacion de registros suele tardar entre 5 y 8 minutos +/-

Los registros se generan en diferentes tablas, como Proveedores, Clientes, Cabeceras de albaranes, Lineas de albaranes, Cabeceras de compras, Lineas de compras

y he encontrado los siguientes problemas:

1. Las actualizaciones no funcionan correctamente, (aunque esto ya lo comente en un mensaje anterior) y me gustaria saber si habeis localizado el problema y se ha solucionado.

2. La funcion StringSection() no funciona correctamente cuando encuantra dos separadores unidos sin dato entre ellos, alterando el orden de los campos y por tanto se producen fallos en la generacion de datos.

3. En parte, debido a los fallos producidos por el punto anterior, y otras veces por otros fallos producidos al no existir un maestro en la generacion de un registro (p.e. al crear una cabecera de albaran con un codigo de cliente que no existe). Esto genera muchos mensajes de error en vAdmin

4. Antes de terminar la generacion de registros, vClient rompe.

5. Vuelvo a abrir vClient, y compruebo los datos, y veo que algunas tablas tienen datos, Clientes, Proveedores, Cabeceras de albaranes y Lineas de Albaranes, tienen datos, compruebo la ultima tabla y no tiene datos.

6. Vuelvo a abrir las tablas que ya habia comprobado y los datos empiezan a desaparecer. Imagino que se trata del servidor, que deshace las transacciones y empieza a eliminar los datos ya que la importacion no termino correctamente.

José

 


([N4] rcueto.velneo) #2

Hola:

1. No hemos econtrado problemas con las actualizaciones, si puedes indicarnos como reproducir el problema, lo probaremos.

2. Sobre la función stringSection, en otro hilo en el que lo comentaste (http://v7.velneo.es/foros/topic/errores-en-importacion) te pedimos una información que olvidaste facilitarnos:

 

 

No hemos podido reproducir el error que comentas, por lo que te solicitamos de nuevo que incluyas una captura del proceso que realizas y una captura del texto que importas. Indícanos por favor los parámetros que usas en la función sectionString().

 

 

3. Lógicamente los errores que se generan se muestran en Velneo vAdmin.

4.Necesitaríamos saber por qué rompe. Te aconsejamos que para ello crees un log de todo el proceso en un fichero o mensajeando por pantalla, para así saber en qué punto se produce el error. (NOTA: Si el proceso que rompe es el que hace unas semanas nos dejaste probar en tu caja, decirte que el problema ya fue detectado y estará resuelto en la próxima versión.)

5. y 6. Al tratarse de una única transacción, y al no haber finalizado, Velneo vServer la deshace.

Un saludo.

 


(Jose) #3

En la primera imagen se puede ver en Azul como entre los separadores hay algun dato y es cuando lo hace bien, y en Rojo, cuando los separadores estan unidos, se producen errores en la importacion

En la segunda imagen esta la sentencia StringSection que uso para asignar los valores a los campos de la tabla

¿Estoy haciendo algo mal? ¿Por que falla cuando los separadores estan unidos y no hay dato?

José

 

[attachment=3128,323] [attachment=3128,324]





([N4] fgutierrez.velneo) #4

La primera línea también tiene puntos en los que no hay dato y sólo separadores. ¿Esa línea la lee entera?

 

¿Puedes poner un mensaje en el que se vean todos los elementos que se importan? Es decir con una fórmula como:

"Elemento 1" + stringSection( cadena, 0, 0, 0 ) + "Elemento 2" + stringSection( cadena, 1, 0, 0 ) + ...

De esta forma veremos como lee la cadena.

 

Un saludo.

 

 


(Jose) #5

Lo que puiero mostrar con las imagenes es que si genero un fichero sin campos vacios entre los separadores, la lectura del fichero es correcta y todos los campos se importan en el orden correcto.

Pero si el fichero contiene cadenas vacias, entonces los separadores estan juntos y en aquellas lineas que aparecen los separadores juntos, la generacion del fichero no se realiza en el orden correcto y los campos extraidos cambian de posicion, como si se saltase la posicion del campo vacio y leyese el siguiente dato a extraer.

José

 


([N4] rcueto.velneo) #6

Hola:

Pon un 0 en el último parámetro (separador final) de la función stringSection y te funcionará correctamente (si está a 1 hemos comprobado que se produce un comportamiento anómalo; lo hemos incluido en nuestro sistema de gestión de incidencias con el número 1454).

Un saludo.


(Jose) #7

Gracias, voy a probar

José

 


(Jose) #8

Me surge una duda,

segun el manual en la seccion INFO, si escribo la funcion StringSection con un "0" como ultimo parametro, le indicamos a la funcion que no hay separador al final de la cadena, y por tanto el resultado obtenido será el resto de la cadena y no es eso lo que quiero.

¿Estoy equivocado?

Si ahora lo hago como indica RCueto (gracias), ¿seguira funcionando con la proxima version?, o ¿tendré que volver a cambiarlo una vez que este solucionado el problema?

José


([N4] rcueto.velneo) #9

Hola:

Seguirá funcionando en la próxima versión.

Un saludo.


(Jose) #10

Ya he realizado las pruebas y cambiando el ultimo parametro de StringSection por un "0" funciona correctamente.

Pero tal y como se explica en la seccion INFO, el parametro "0" debe indicarse cuando no hay separador al finalizar la cadena, y por tanto, la cadena extraida deberia ser desde el sepatador indicado en el primer parametro hasta el final de la linea, ¿no?

Asi es como lo explica el manual, o al menos, asi lo he entendido yo.

José

 





([N4] rcueto.velneo) #11

Hola:

Tal y como te habíamos dicho la incidencia generada al respecto -1454- está en manos del Dpto. de Desarrollo, cuando haya alguna novedad al respecto podremos responder a tu pregunta.

Un saludo.