Copiar y pegar desde celdas de Excel


([N4] gontorre) #1

Buenas tardes

Desde hace tiempo se me plantea un problema con los usuarios de mi sistema.

A veces rellenan las fichas de los productos copiando y pegando desde hojas de Excel. Lo que ocurre es que si en lugar de seleccionar el texto de la celda, seleccionan la celda completa y lo pegan en un campo del formulario, en el campo se graba al final del texto un caracter oculto que debe de ser el fin de celda de Excel o algo así. Es un caracter invisible que luego me da problemas (al hacer exportaciones a CSV, por ejemplo).

En la imagen adjunta se puede apreciar que hay un artículo que tiene una especie de retorno de carro en la descripción.

¿Se os ocurre alguna forma de evitar que se graben estos caracteres en los campos de la tabla?

Un saludo


([N4] gontorre) #2

Y, como siempre, ahora la imagen, que en el mensaje original nunca se adjunta.



([N1] aztecmexico) #3

Copia y pega el contenido en el notepad++, activas que se vean los símbolos y ya ves si es un salto de linea o retorno de carro.

En tu aplicación, antes de guardar ejecuta un manejador de evento, que sustituya esos caracteres, con un replacestring, buscas “\n” y “\r” o “\rn” o “\nr” y lo sustituyes por “” y ya entonces guardas la ficha.

En alguna ocasión me pasó similar y así lo resolví.

Saludos.

Martin.


([N4] gontorre) #4

Buenos días Martin

Los símbolos que van son CR LF. Eso lo puedo quitar con un replacestring tal como me indicas.

Lo que yo estaba buscando es una forma genérica de resolver esto sin necesidad de ir campo por campo poniendo un manejador de eventos. Hay muchos sitios donde es normal que se peguen datos de algún otro programa.

De momento iré poniendo el manejador en aquellos sitios donde tengo más problemas.

Gracias y un saludo


([N3] pacosatu) #5

Hola Gonzalo.

  • Recuerda que tienes la función trimmedString(cadena) para eliminar cualquier código no imprimible de los extremos de la cadena.
  • También tienes la opción de definir como Alfa128 los campos problemáticos, ya que en ellos no se admiten saltos de ni retornos de línea. Por supuesto en este caso deberás prescindir de algunos caracteres.
  • Hacer algo genérico en Velneo pasaría por crear una rutina en el API con Javascript que recorra los campos antes de Guardar la Ficha.

Seguid votando la siguiente Idea para facilitar este tipo de tareas a los programadores:
https://soporte.velneo.es/hc/es/community/posts/222978807-Eventos-Aceptar-Cancelar-y-Eliminar-del-formulario

Saludos
Paco Satué