![]() |
Codigo Ean 13
Hola.
Intento crear un campo con codigo de barras ean-13 , pero no consigo que lo lea el scaner. Se que leerlo en pantalla, requiere un escaner especial, pero lo que me tiene mosca , es que si paso el codigo a papel, tampoco lo lee. Utilizo una fuente que he descargado que se llama ean-13.ttf pero s simple vista, lo veo diferente al codigo del envase. Si alguno ha intentado hacer etiquetas ean13, por favor indicarme con que font lo habeis conseguido, o bien como lo haceis. Muchisimas Gracias |
Breew, pasa más bien por PowerFORM ;)
|
Hola Breew
Utilizo el font Bar-Code 39 y para la impresión uso Código COBOL:
Si tienes codigos menores a 16 caracteres eliminas los campos en blanco de esta manera el lector los leera poniendo un asterisco al comienzo y final. |
Roger, puedes explicar qué hacen exactamente los INSPECT en este caso? Porque si lo primero que hacemos es:
Código COBOL:
Y lo último es: Código COBOL:
Volvemos a la situación del principio, no? :piensa: |
Cita:
Si, lo habia pensado, pero es que la primera intencion que tenia era poder leer el codigo en la pantalla con un scaner o un telefono movil. Pero aparentemente con la fuente que utilizo, veo una diferencia enorme con la etiqueta . El caso es que queria saber que fuente utilizais en la pantalla o si quizas utilizais algun control especifico. La impresion la he hecho desde una CMtable con la opcion printable. |
Kuk
Código COBOL:
Los codigos de barras de las etiquetas por defecto son 13. puse 16 por una exigencia de la empresa. |
Yo creo que la diferencia que ves entre lo que aparece en pantalla y la etiqueta es por que el código EAN-13 no es solo cambiar de fuente, es una conversón de cada uno de los dígitos en función de unas tablas.
Eso funciona con el código 3 de 9, al cual solo hay que agregarle las mascas de inicio y fin que generalmente son asteriscos. En el caso del EAN-13 las cosas son diferentes, por ejemplo el número 1234567890128 hay que convertirlo (mediante las tablas anteriormente mencionadas) en : 1CDOFQR*ijabci+ Esto es independiente del tamaño del campo, es decir que no importa si tu campo es de mas de 13 dígitos. Estas son las tablas que vas a necesitar Código COBOL:
Y esta es la rutina Código COBOL:
El digito verificador se obtiene : Numerar los digitos de derecha a izquierda Sumar los de las posiciones pares.(x) Sumar los de las posiciones impares (y) Calcular z=x*3y Buscar el primer numero divisible por diez siquiente a este resultado (m) El verivicador es m-z. Por ejemplo el verificador de 123456789012 es 8 La suma de los digitos pares da 26 La suma de los impares da 22 26+22*3=92 100-92=8 Espero te sirva. |
Breew, yo en su día lo único que necesitaba era poder imprimir pegatinas con códigos de barras. Usar PowerFORM para lectura de pantalla lo veo más complicado, porque la salida de PowerFORM no se puede poner en un control visual. A lo mejor se podría intentar generar el informe en PowerFORM, convertirlo en PDF y mediante una OCX que lee dicho formato mostrarlo en pantalla. No es una solución ideal pero puede funcionar.
|
Hola.
He probado la solucion de Roger y funciona , pero es sumamente lento, creo que es debido al tamaño del codigo que hace que el lector tarde mucho en fijarlo todo sobre la pantalla. Intentare el algoritmo de Gusaiello para crear un CmText y comprobar si el lector lo interpreta en la pantalla. Y tambien lo imprimire en un pdf. Kuk, has probado algun ocx que funcione? |
Cita:
|
Siguiendo con el tema, Breew ¿Dices que la lectura es lenta? Esos códigos lo uso pegado en los
Productos en un Marquet y con el lector no he tenido problemas (a mas rayos de laser del lector la lectura es mejor) donde lo implemente tienen pistolas de lectura y también lector de mesa. En cuanto a la impresión uso powerfom porque me permite usar número y letras en el código de barras lo ideal es solo números pero uno se topa con diferentes formas de códigos de barra. El reportero cobview solo te permite números. En cuanto a los Font de códigos de barras todos tienen diferentes formas de validación algunas más complejas que otras y esta la que uso es la más sencilla. |
1 Archivos Adjunto(s)
Hola .
Te comento la historia. Mi intencion inicial era poder leer el codigo de la pantalla de un pc/tablet, con un laser rojo desde un equipo de mesa. No hay manera, ni con uno de esos de sobremesa que lanzan destellos en cuadricula, ni con uno de pistola. Otra solucion era utilizar una aplicaccion de codigo de barras de un movil android. Eso si funciona, pero al ser el codigo mas largo, me tarda mas tiempo en enfocar y darme el ok, que con el ean13. ( seguramente es porque con el ean13 me caben fuentes mas grandes sin salirme de la pantala ). Con el Ean13, y utilizando las tablas anteriores, el calculo me sale correcto, pero cuando lo meto en un cmtext con fuente ean13, el codigo no se dibuja bien. ( no se si es porque no calculo el codigo de control , simplemente lo copio ) Queria intentar imprimir en pantalla el codigo lo mas grande posible, utilizando un pdf, pero aun no se utilizar los ocx que habeis referido. De todas maneras, tu solucion si que funciona. Ahora mirare que sintaxis puedo utilizar para abrir el pdf con el foxitreader, porque no ha habido manera de poder leer el fichero pdf. ( por cierto, si alguno lo ha conseguido pues ..... :amigo:) |
Buenooooo.
He conseguido tambien que el codigo ean13 funcione correctamente. El tipo de fuente era el problema. Con las tablas de Gusaiello y la fuente Code Ean13 en vez de otra que instale (Ean13), funciona a la perfeccion. El tema del foxitreaderocx no me acaba de cargar en pantalla Código COBOL:
ReturnValue me devuelve cero, pero aparentemente no veo en la pantalla ningun efecto. Supongo que se abrira en el visor de FoxitReaderOCX1 o debo de volcarlo en algun campo? . |
Breew, tienes que pasarle la ruta completa del fichero. Y efectivamente, te va a mostrar el PDF en el marco del control FoxitReaderOCX1.
|
Cita:
Aparentemente no me surge efecto alguno. He creado un CommandButton con la opcion click. Código COBOL:
y nada, exista o no el fichero, me devuelve igualmente returnvalue 0 y el FoixitReaderOCX1 no pestañea nada. |
Breew, el RC=0 significa que no encuentra el fichero. Si lo encuentra, devuelve un -1.
Prueba con otros directorios, siendo directorio raíz del SO, puede que sea problema de derechos. Acabo de comprobarlo y a mi me funciona. Si sigue sin funcionar, puede que te falte alguna librería de la que tira el OCX. |
Hola Kuk.
No, me sigue sin funcionar, seguramente sera una libreria. Al final he usado el ocx acropdf que este si que me funciona sin mas dolores de cabeza, me permite dirigir el listado a la impresora que necesite, y visualizar un pdf. Gracias a todos. |
| La franja horaria es GMT +2. Ahora son las 14:46. |
Powered by: vBulletin, Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.