Visual Basic Foro
Programación => Visual Basic 6 => Mensaje iniciado por: pedroesca en Octubre 25, 2012, 12:24:19 pm
-
Buenas a todos! por las dudas alguno ha trabajado o programado alguna balanza electrónica? es decir, como en los supermercados, donde se pesa el producto, la balanza imprime el código de barras, y en el punto de venta ya está dado de alta dicho producto...
No tengo idea del asunto, pero se que los mismos (balanzas) vienen con su propio software.
Saludos!
-
una vez configurado y cuando ya sepas como esta formado el codig de barras, la balanza no se toca más. Solo lo lees desde el lector (como si fuera un teclado) y listo, analizas el string de numeros y bueno, ya esta :P
El tema es como guardarlo en la db para luego buscar, filtrar, etc a todos los productos pasados
-
Hola Raúl!pero la balanza genera algún archivo o algo similar??????
-
en uso no, y depende de la configuracion de la balanza, pero por lo general, no
-
Pedro, yo una ves le pregunte a un amigo tambien programador aca de la ciudad donde vivo, el programa en Delphi asegun lo que entendi es que en el codigo de barra ya esta todo. O sea vos le pedis a tu proveedor de balanza que te programa en el unos determinados codigo.
(http://www.mediafire.com/conv/e55c0c8ca4f0aefd08c5810df7086f49d43109661f90b316736153924fd6eb744g.jpg) (http://www.mediafire.com/view/?sn5xarn7exxd0bs)
A según lo que entendí fue: que por ejemplo en este código de barra por ejemplo: el 501: es el codigo del articulo - el 2345 es el precio o tambien puede ser el kilo, y el resto no se jeje es mas o menos lo que entendi.
Y despues vos con tu programa no mas ya separa lo que tenes que separar por que los primeros 3 digitos siempre sera un codigo de articulo.
Si no es asi que alguien pueda explicar mejor a mi me interesa mucho tambien saber.
Saludos...
-
Hola Enter, sobre el código de barra:
Si el código de barra no pertenece a ningún standard mundial (los EANs) uno puede crear su propio código de barra que al final es simplemente un font. Cuando uno crea el suyo propio los numeros debajo de las barras solo tienen significancia para el creador.
Dicho esto, queda a discreción del proveedor si le dice a alguien fuera de su empresa que cosa significa cada parte del numero o el numero en si porque puede tener información solo relevante para el proveedor. Cuando se trata de productos seriados o lotizados es posible que la empresa proveedora si facilite esa info pero como dije es discrecional.
Concluyendo, dependiendo del tipo de empresa proveedora y del tipo de producto puedes o no usar el código del proveedor (si es que no es un standard) porque nada te garantiza que cambien o descontinúen el código de barra del proveedor. Por ejemplo, si confiaría en el código de barra de una botella de Coca Cola o de un producto de Sony porque son empresas que se piensan bien este tema pero por ejemplo no confiaría mucho en la bodega de la esquina en la que ellos mismos crean y imprimen su propio código de barras. El código de barras tiene mayormente una estrecha relación con los inventarios y su mantenimiento principalmente.
Saludos
-
Buenas a todos! por las dudas alguno ha trabajado o programado alguna balanza electrónica? es decir, como en los supermercados, donde se pesa el producto, la balanza imprime el código de barras, y en el punto de venta ya está dado de alta dicho producto...
No tengo idea del asunto, pero se que los mismos (balanzas) vienen con su propio software.
Saludos!
Ese codigo de barra debe tener un prefijo que identifica el producto pero luego debe tener unos valores que se generan en el momento de pesar algo, es como una dimensión. De esta forma la balanza imprime el código y en caja lee el codigo reconociendo que articulo es y la "dimension" para determinar la cantidad que se vende (el peso)
-
una vez configurado y cuando ya sepas como esta formado el codig de barras, la balanza no se toca más. Solo lo lees desde el lector (como si fuera un teclado) y listo, analizas el string de numeros y bueno, ya esta :P
El tema es como guardarlo en la db para luego buscar, filtrar, etc a todos los productos pasados
Guardas solo el numero. Sino se ajusta a ningun standard, el formato de esta cadena numérica es creación de cada empresa.
-
yo trabaje con una balanza de frigorifico que se conecta por COM a la pc (o por adaptador COM a USB), no hay que instalar nada, simplmnete leer los datos que van llegando del puerto COM, cada ves que la balanza va pesando hasta llegar al peso final, va llegando informacion desde el puerto, simplemente viene una cadena de texto.
esa imagen de codigo de barras que pusiste es un EAN-13, tambien he trabajado con el, es simple hacerlo, te conseguis la fuente ean13.ttf y el algoritmo que te genera el codigo necesario para mostrar ese codigo, son solo 12 digitos, el 13 es un digito verificador que debe ser calculado con una funcion, sin eso el codigo es invalido.
saludos.
-
Si, es cierto, ese es el EAN-13 pero la explicación que dio el amigo de ENTER (el de Delphi) es errónea, porque los primeros dígitos definen el pais que define el código, luego el pais de donde procede el articulo, luego el código de la empresa dueña de la marca y luego el código del articulo, todo eso suma 12 digitos y como efectivamente comenta sebas el treceavo dígito es el verificador.
.
-
No amigo Yvan, yo se como funciona el codigo de barras, Lo que quiero decir es un fulano te vendio la balanza a ese fulano vos le podes decir que te programe cada articulo en la balanza, por ejemplo:
en la balanza se carga un codigo ejm: 501 = Tomate, entonces cuando un cliente trae tomante como para pesar el encargado de la balanza escribe 501 y en la balanza ya le trae el precio etc etc.
Entonces cuando vos te vas a a pagar en la caja, en tu programa tambien tomate esta registrado como codigo 501 que es tomate.
Después del 501 viene el resto del codigo de barra en donde vos le podes meter otra cosa como precio o kilo de ese articulo. y con tu programa ya vas a saber que los primeros 3 digitos "501" siempre va a ser codigo del articulo.
No se si explique bien pero voy a buscar el codigo que el me paso esta en delphi pero se entiendo el codigo.
-
No amigo Yvan, yo se como funciona el codigo de barras, Lo que quiero decir es un fulano te vendio la balanza a ese fulano vos le podes decir que te programe cada articulo en la balanza, por ejemplo:
en la balanza se carga un codigo ejm: 501 = Tomate, entonces cuando un cliente trae tomante como para pesar el encargado de la balanza escribe 501 y en la balanza ya le trae el precio etc etc.
Entonces cuando vos te vas a a pagar en la caja, en tu programa tambien tomate esta registrado como codigo 501 que es tomate.
Después del 501 viene el resto del codigo de barra en donde vos le podes meter otra cosa como precio o kilo de ese articulo. y con tu programa ya vas a saber que los primeros 3 digitos "501" siempre va a ser codigo del articulo.
No se si explique bien pero voy a buscar el codigo que el me paso esta en delphi pero se entiendo el codigo.
Y yo no he dicho lo contrario, no me has entendido, checa mas arriba, te lo pongo de manera mas simple, si me dices que el código de barra empieza con 501 y eso es un tomate entonces NO ESTAMOS HABLANDO del EAN-13 sino de un code bar propio que coincidentemente tiene 13 caracteres pero EAN-13 no es porque no estas respetando el standard. ¿me explique mejor?
Si te das cuenta la explicación que me describes es la misma que di en la Respuesta #6 de este hilo, un código de articulo (prefijo) y luego mas números que indican otros datos.
Saludos
-
Asi es amigo es un codigo barra modificado a gusto del programador del sistema. Es tambien la forma que ustedes usan para trabajar con la balanza?
-
yo cuando use EAN-13 lo hice a mi manera customizado, le mande el codigo del artculo entero y al final el digito verificador, no segui el tema de las secciones o el estandar, el codigo de pais y demas.
si el codigo esta bien armado, el lector lo va a leer igual, ni se va a dar cuenta si respetaste las secciones o no.
aparte si es algo para una tienda o local, usar codigo de pais y esas cosas es medio en vano.
saludos.
-
¡Hola!
En algún momento puse en un programa una función para crear códigos de barras (no la creé, la encontré por allí en internet). No seguí ningún estándar. Lo que hice fue representar con códigos de barras los id de los productos. Es decir, si un producto en la base de datos tenía el id 501, entonces creaba el código de barras correspondiente a la cadena "00000501" (con la función específica para ello y no con la fuente que se mencionó arriba) y luego lo imprimía. Seguramente sea un poco desprolijo o poco profesional, pero a mí me sirvió.
En cuanto a la balanza, tengo entendido que te la venden y vos debés programarla con los códigos y los precios (no sé si algún proveedor brinde el servicio de hacerlo). Algunos te venden también un programa para no tener que programarla desde su propio teclado sino que puedas hacerlo desde la computadora.
Algunas balanzas se comunican por el puerto COM. Algunas de ellas mandan los valores cuando detectan un peso estable y otras pueden, además, mandar el peso constantemente. Y hay otras balanzas que van actualizando unos archivos en la PC y vos tenés que monitorearlos para detectar cambios de estado, pesos, etc. En este último caso, para "pedir" un peso a la balanza también tenés que modificar esos archivos con la instrucción correspondiente.
Saludos.
-
Che para, no me lei todo, pero me parece que se estan yendo un poco de la mano. La balanza electronica ya viene con la capacidad de imprimir el codigo de barras. Lo unico que se configura via software es el formato de la etiqueta y el contenido del codigo de barra. No es de ningun tipo ni nada.
Lo unico que tiene que saber hacer, es, dividir el numero entero en trozos segun la informacion ( o analizarlo, hay lectores de codigos de barras configurable, vos pones que separe por grupos con tabulacion, alugnos motorola por ej)
No creo que tenga que generar los codigos de barra, simplemente leerlos, que es sencillo
-
yo cuando use EAN-13 lo hice a mi manera customizado, le mande el codigo del artculo entero y al final el digito verificador, no segui el tema de las secciones o el estandar, el codigo de pais y demas.
si el codigo esta bien armado, el lector lo va a leer igual, ni se va a dar cuenta si respetaste las secciones o no.
aparte si es algo para una tienda o local, usar codigo de pais y esas cosas es medio en vano.
saludos.
Doc, pero eso que eso no es EAN-13, no existe un EAN customizado a tu manera porque deja de ser EAN, si se menciona EAN se está indicando un standard el cual tiene una finalidad definida que por supuesto interesa nada si aplica a un negocio local de poco alcance territorial que no tendrá un control de distribución a mayor escala que justamente es la finalidad del EAN. De igual manera lo usamos por aquí, creando nuestros propios códigos que "parecen" EAN por casualidad pero no lo es, bueno eso nada mas para no confundir los conceptos. :-)
-
¡Hola!
En algún momento puse en un programa una función para crear códigos de barras (no la creé, la encontré por allí en internet). No seguí ningún estándar. Lo que hice fue representar con códigos de barras los id de los productos. Es decir, si un producto en la base de datos tenía el id 501, entonces creaba el código de barras correspondiente a la cadena "00000501" (con la función específica para ello y no con la fuente que se mencionó arriba) y luego lo imprimía. Seguramente sea un poco desprolijo o poco profesional, pero a mí me sirvió...
Es correcto, generamos el codigo de barra de por ejemplo "666" (usando un font code bar) y luego imprimo en una etiqueta, paso a leerlo, osea pasarle la pistola sobre las barras y teniendo el foco por ejemplo en un textbox lo que me aparecerá allí sera 666 (no las barras) y si tengo programado el evento change cargo el producto, precio, stock, etc sin usar ninguna nemotecnia en el 666 pq de pronto es un Id autonumerico y si utilidad es netamente interna, no es necesario ningún standard en absoluto siempre y cuando mi producto no se distribuya a una escala mayor, en ese caso si es correcto usar uno de los EANs, sino no.
Hasta alli para no salirse de este interesante tema que bien podria valer otro hilo.
-
Es correcto, generamos el codigo de barra de por ejemplo "666" (usando un font code bar) y luego imprimo en una etiqueta, paso a leerlo, osea pasarle la pistola sobre las barras y teniendo el foco por ejemplo en un textbox lo que me aparecerá allí sera 666 (no las barras) y si tengo programado el evento change cargo el producto, precio, stock, etc sin usar ninguna nemotecnia en el 666 pq de pronto es un Id autonumerico y si utilidad es netamente interna...
Exactamente así lo hago, Yván, salvo que el proceso de búsqueda del artículo lo desencadeno en el evento Keypress del textbox. Esto es porque los escáneres de códigos de barras que he utilizado enviaban un retorno de carro al final de la cadena. Entonces, cuando en el evento Keypress el valor de Keyascii era 13, iniciaba el proceso de búsqueda. Como muchos de los escáneres son como emuladores de teclados (de hecho, muchos de ellos se enchufan en un puerto de teclado en la compu), si programo el evento change sería engorroso iniciar allí la búsqueda, porque se dispararía el proceso tras cada dígito de la cadena que es pasado a una gran velocidad por parte del escáner.
-
Doc, pero eso que eso no es EAN-13, no existe un EAN customizado a tu manera porque deja de ser EAN, si se menciona EAN se está indicando un standard el cual tiene una finalidad definida que por supuesto interesa nada si aplica a un negocio local de poco alcance territorial que no tendrá un control de distribución a mayor escala que justamente es la finalidad del EAN. De igual manera lo usamos por aquí, creando nuestros propios códigos que "parecen" EAN por casualidad pero no lo es, bueno eso nada mas para no confundir los conceptos. :-)
si ya se, es un EAN trucho, pero sirve y el lector lo lee 8), lo podria haber hecho con cualquier otro, pero me gusto mas el formato ese.
la tienda de ropa que lo usa imprime como mil por dia en una impresora zebra de etiquetas y se lo pega en la ropa, cuando el cliente va a la caja escanean el codigo con el lector y directamente se lo carga al pedido del software.
-
Exactamente así lo hago, Yván, salvo que el proceso de búsqueda del artículo lo desencadeno en el evento Keypress del textbox. Esto es porque los escáneres de códigos de barras que he utilizado enviaban un retorno de carro al final de la cadena. Entonces, cuando en el evento Keypress el valor de Keyascii era 13, iniciaba el proceso de búsqueda. Como muchos de los escáneres son como emuladores de teclados (de hecho, muchos de ellos se enchufan en un puerto de teclado en la compu), si programo el evento change sería engorroso iniciar allí la búsqueda, porque se dispararía el proceso tras cada dígito de la cadena que es pasado a una gran velocidad por parte del escáner.
Ah ok, vale, buen dato, sucede que no he visto la parte técnica (o sea escribir codigo) de este tema porque yo hice la consultoría funcional y la capacitación y a un colega le derive que escriba el codigo, por ello asumí que el evento era el change, bien alli.
-
si ya se, es un EAN trucho, pero sirve y el lector lo lee 8), lo podria haber hecho con cualquier otro, pero me gusto mas el formato ese.
la tienda de ropa que lo usa imprime como mil por dia en una impresora zebra de etiquetas y se lo pega en la ropa, cuando el cliente va a la caja escanean el codigo con el lector y directamente se lo carga al pedido del software.
Vale, esa es la idea, acelerar el registro, reducir a cero el margen de error por producto mal seleccionado, control de inventarios mas efectivo, etc.
Saludos
-
buenas a todos! el tema es así, las balanzas son de esta empresa: http://www.kretz.com.ar/ (http://www.kretz.com.ar/), y todas ya traen software integrador, para calibrar la balanza, configurar todo lo que se les ocurra, y ABM de PLU (productos) y Secciones , ESO NADA MAS!!!!
Supongo (SUPONGO) que uno debería conectarse solo a la PC conectada a la balanza y extraer los datos y nada mas.
-
Hasta donde sé, es como decís. Trae un soft llamado iTegra, o algo así, que es para calibrar, ABM y todo lo que describís. Después tenés que ir leyendo unos archivos que se instalan en la PC para "pedir" valores, etc.
Te sugiero que escribas a la gente de Kretz para que te manden el protocolo de comunicación. Es muy sencillo (aclaro que lo vi, pero no lo utilicé).
Saludos.
-
Este es un ejemplo de la balanza electronica.
Este es el codigo que imprime la balanza.
(http://www.mediafire.com/conv/410c45245abf3f12f90c1c57acc420b70c259640ca0f709c3525e62b6fea5e004g.jpg) (http://www.mediafire.com/view/?9adob7dkixqn382)
Como ven el codigo de barra total es: 2008295002400, entonces
20 : No se para que ha de servir.
08295 : Es el codigo del artículo. (JAMONADA CHORTI)
002400 : Es el Kilo del articulo.
Este es una factura como imprime el sistema que le dije que mi amigo hizo en Delphi.
(http://www.mediafire.com/conv/413443b3db599902b6d520bdaba5619ac51ff7308f7cc780d40f3cfe993a839d4g.jpg) (http://www.mediafire.com/view/?6abporiqu0pszfu)
Ahora lo que no se es como hace para saber que 002400 esta en gramos o kilo.
-
Que precision tiene la balanza? Cuanto es el maximo y el minimo?
002400 - Me parece que el ulimo cero, significa algo más
00240 - Divides entre 1000 y obtienes 0,24 kg que es el peso :P no creo que un cliente se este llevando 240kg con un etiquetita así x'D
Depende del ambiente
-
La verdad no se Raul, que modelo mismo es su balanza ni hasta cuanto kilo aguanta lo que se que es esta marca Kretz igual esta foto.
(http://www.mediafire.com/conv/850cc1a8cdc4288d32c98e348c457bd9ecf30952fc5e3918e7c9ad7d68d38c644g.jpg) (http://www.mediafire.com/view/?zzbcaydipddu5oq)
Asegun esta balanza aguanta hasta 15 Kilos.
Este es otro Codigo de barra de otro local de ventas pero de carnicería que usa el mismo sistema.
(http://www.mediafire.com/conv/af0b140999d2033172dd6b88a9310049e32a089e00175a09be07d1a8bb395d774g.jpg) (http://www.mediafire.com/view/?zdhirbo4t4k2p6x)
codigo barra: 2'019173'006755
2 : No se para que sirve
019173 : Seria el codigo del articulo (Carnaza de Primera)
006755 : Es el kilo total del articulo
Como sabe el sistema que 006755 no es 6 kilos con 755 gramos.
-
Este es un ejemplo de la balanza electronica.
Este es el codigo que imprime la balanza.
(http://www.mediafire.com/conv/410c45245abf3f12f90c1c57acc420b70c259640ca0f709c3525e62b6fea5e004g.jpg) (http://www.mediafire.com/view/?9adob7dkixqn382)
Como ven el codigo de barra total es: 2008295002400, entonces
20 : No se para que ha de servir.
08295 : Es el codigo del artículo. (JAMONADA CHORTI)
002400 : Es el Kilo del articulo.
CODIGO PAIS
00-13 USA & Canada
20-29 Reservado para uso interno (tiendas/supermercados)
30-37 Francia
380 Bulgaria
383 Eslovenia
385 Croacia
387 Bosnia-Herzegovina
etc etc.. .. ..
958 Macau
977 ISSN (International Standard Serial Number for periodicals)
978 ISBN (International Standard Book Number)
979 ISMN (International Standard Music Number)
980 Recibos de reembolso
99 Cupones
Tomado de aqui (http://netpointdeargentina.blogspot.com/2012/03/de-donde-viene-tu-comida-enterate-con.html)
-
Así es amigo YAcosta. Ahora como saco de ese codigo barra el total de kilo o sea sacar a partir de ahi se puede pero como se que 002400 no es 2 kilo con 400 gramos en ves de 0.240 gramos
-
Seria como te dijo Raul. 2 kilos 400 seria 2400 y 0240 seria 240 gramos, solo tendrías que dividir entre 1000.
02400 / 1000 = 2.400 (osea 2 kilos con 400 gramos)
00240 / 1000 = 0.240 (osea 240 gramos)
00024 / 1000 = 0.024 (osea 24 gramos)
Pero bueno no estoy muy seguro porque no he trabajado con esas balanzas y los código de barras los he usado en otros rubros y rompiendo el standard.
-
Asi es pero si te fijas ahi puso 002400 yo no compre 2 kilos 400 gramos, la compra solo fue de 0.240 Gramos. El problema solo esta en que como se si es 2 k con 40 gr o 0.240 grs.
-
esa código de barras que es el EAN-13 Consiste en un código de 12 dígitos para el código de producto, y un dígito de cheque en total son 13 y con una estructura dividida en cuatro partes:
(http://3.bp.blogspot.com/-dR2GseS23Hk/T1d9d_ml6zI/AAAAAAAAAJ0/Vw4KEJqaVLg/s200/EAN-13.jpg)
A) Los primeros dos o tres dígitos, llamados "bandera", indican el país de procedencia. En este caso, el Reino Unido.
B) Los siguientes 5 dígitos indican el fabricante del producto.
C) Otros 5 dígitos que indican el producto en sí.
D) El último dígito es de chequeo, se usa para asegurarse que el lector ha leído el código correctamente.
Ahora con el respecto ala imagen de ENTER
(http://www.mediafire.com/conv/410c45245abf3f12f90c1c57acc420b70c259640ca0f709c3525e62b6fea5e004g.jpg)
no figaremos mas en el tercer grupo ya que sabemos que es el resto
ahora para saber si es Kilo o Miligramo, bueno viendo que es una Balanza de precisión de pesos pequeños tiene que fijarte en la calibración de la balanza si esta configurado en libras en kilos en ligramos que se yo bueno, el que te esta arrojando por logica ahora es miligramos devido a que esa balanza tiene que pesar cosas pequeñas
entonces para que calcules el peso a kilogramos solo tenes que tomar del digito 8 hasta el 12 que biene hacer el peso entre 1000
osea tomando los datos de la img es 00240/1000=0.240 dandole un formato de 3 decimales
Gracias
-
No consideres el ultimo cero que es el de control, por tanto es 240 / 1000 y no 2400/1000.
Ahora si no tienes acceso a la documentacion de la balanza y haciendo algo poco ortodoxo pero practico yo iria a esa tienda y pediria algo de algunos gramos, me doy un par de vueltas y vuelvo a pedir lo mismo pero ahora un par de kilos, estudio o fotografio los códigos y de alli poder deducir, luego devuelvo la merca y me compro una gaseosa.
:-)
-
Exacto cristian_19a y Yban este es el que me estaba jodiendo.
D) El último dígito es de chequeo, se usa para asegurarse que el lector ha leído el código correctamente.
Ahi ya esta solucionado esa parte ahora voy a programar para que al pasar el codigo ese me prepare la factura.