It is currently Sun Feb 12, 2012 7:40 pm

All times are UTC + 2 hours




Post new topic Reply to topic  [ 11 posts ] 
Author Message
 Post subject: Cambio tamaño campo EAN13
PostPosted: Wed Mar 03, 2010 5:33 pm 
Offline

Joined: Wed Feb 24, 2010 3:36 pm
Posts: 9
Buenas tardes.

Necesito cambiar el tamaño del campo EAN13 para los productos pero no lo consigo.

Lo he intentado con el cliente web personalizando el campo o bien desde el menú de administración pero no me hace ni caso

Necesito que este campo tenga una longitud de 18 caracteres en vez de los que trae por defecto ya que en nuestra empresa utilizamos codificación Code128 en vez de EAN13.

Alguien que me eche una mano o sepa cómo hacerlo??

Gracias !!


Top
 Profile  
 
 Post subject:
PostPosted: Thu Mar 04, 2010 9:20 pm 
Offline

Joined: Wed Aug 29, 2007 5:45 pm
Posts: 148
Location: Mexico
Hola.. desde alguno de los clientes de OpenERP, no se si se pueda hacer.. pero puedes modificar el archivo RUTA_DE_TU_SERVIDOR\bin\addons\product\product.py
abre el archivo con algun editor y busca el texto "('EAN13', size=13)" sin las comillas, ahi puedes cambiar el tamaño de 13 a 18 en size, reinicia el servidor y vuelve a conectarte .. no se que tan recomendable es hacer esto .. yo pienso que para mantener sin tocar el nucleo de OpenERP , puedes crear un nuevo modulo que extienda el objeto product.product y ahi haces las modificaciones que necesites.. incluso agregar el campo CODE28 pero bueno lo bonito del opensource es que puedes hacer lo que tu quieras.


Top
 Profile  
 
 Post subject:
PostPosted: Thu Mar 04, 2010 11:10 pm 
Offline

Joined: Wed Feb 24, 2010 3:36 pm
Posts: 9
Simplemente genial ... Funciona !!

Muchísimas gracias por tu ayuda.


Top
 Profile  
 
 Post subject:
PostPosted: Fri Mar 05, 2010 3:37 am 
Offline

Joined: Mon Jan 14, 2008 12:46 am
Posts: 571
Location: Gipuzkoa(spain)
Ya hay un módulo publicado en extra-addons que extiende la validación del EAN13 a otras codificaciones.

product_gtin

Antes de programar, miraría a ver si cubre lo que necesitais.

_________________
http://www.avanzosc.com
Documentación OpenERP http://www.openerpsite.com
http://www.aulaerp.com


Top
 Profile  
 
 Post subject:
PostPosted: Fri Mar 05, 2010 3:45 pm 
Offline

Joined: Wed Feb 24, 2010 3:36 pm
Posts: 9
Vaya, todo mi gozo en un pozo.

He podido comprobar que cambiando a nivel de código el tamaño del campo EAN13 provoca un error al almacenar una codificación con el formato nuevo de la CEE ya que hay una función que comprueba los códigos pero que no reconoce dicho formato.

En cuanto a la sugerencia de utilizar el módulo de ampliación para los códigos de barra está bastante bien pero tampoco soporta el nuevo formato de codificación de la CEE.

Finalmente, he optado por crear un campo personalizado que va bien pero solo me falla una cosa y es que a este campo lo he designado para que se pueda buscar pero cuando meto un dato y pulso "FILTRO" me genera el siguiente error:


Traceback (most recent call last):
File "netsvc.pyo", line 244, in dispatch
File "netsvc.pyo", line 73, in __call__
File "C:\Archivos de programa\OpenERP AllInOne\Server\addons\base_module_record\base_module_record.py", line 38, in execute
File "service\web_services.pyo", line 583, in execute
File "osv\osv.pyo", line 59, in wrapper
File "osv\osv.pyo", line 118, in execute
File "osv\osv.pyo", line 110, in execute_cr
File "osv\orm.pyo", line 2854, in search
File "sql_db.pyo", line 76, in wrapper
File "sql_db.pyo", line 120, in execute
ProgrammingError: column product_product.x_ns_05032010 does not exist
LINE 1: ...ct" where (product_product.active = E'True') AND (product_pr...

He buscado en el foro por si hubiese algún mensaje que aclarase el tema pero no encuentro nada.

Por lo que veo en el mensaje de error habría que modificar la consulta a la base de datos , ¿no? ¿dónde?

Gracias de nuevo.


Top
 Profile  
 
 Post subject:
PostPosted: Fri Mar 05, 2010 6:12 pm 
Offline

Joined: Wed Aug 29, 2007 5:45 pm
Posts: 148
Location: Mexico
Hola antes que nada una disculpa, soy nuevo en openERP y tengo perfil de programador, por eso la primera solucion que me vino a la mente fue meterle mano al codigo, pero por fortuna contamos con gente como ANA ( mis mas sinceros respetos, he visto como ayudas a la gente y he visto tu blog, que historia !!), por otro lado yo apenas he visto los modulos mas basicos y no he visto ni mucho menos probado los extra-addons pero ahi hay funcionalidad que aporta mucha gente , creo lo mas recomendable es ver si alguien ya a tenido la misma necesidad y ha aportado la solucion en forma de modulo, si no encuentras alguna solucion o algo que se adecue a tus necesidades te ofrezco mi ayuda incondicional, repito soy nuevo me inscribi hace años al foro cuando descubri tinyERP, y por desgracia no me involucre en su momento, habia muchas cosas que desconocia , pero ahora he retornado porque estoy seguro del poder de la plataforma, enviame tus modificaciones a mi correo, las pruebo y posteamos los resultados para aprender todos , aunque no se si este sea el foro adecuado para eso, mas bien creo se debe buscar una solucion en base a configurar algo que ya existe y en un caso muy particular codificar, de ser necesario extenderemos el modulo producto_gtin para darle soporte a CEE ( la verdad no se que sea eso , lo acabo de poner en google y no encuantro nada, pero puedes empezar por enviarme dicha informacion), espero no estar haciendo nada que vaya contra las reglas del foro, de ser asi haganmelo saber.


Top
 Profile  
 
 Post subject:
PostPosted: Fri Mar 05, 2010 6:52 pm 
Offline

Joined: Wed Feb 24, 2010 3:36 pm
Posts: 9
Completamente de acuerdo con tus comentarios acerca de Ana ... Dos dudas expuestas en el foro y dos respuestas a cada cual más acertada.

Respecto a tus preguntas acerca de la codificación decirte que EAN (European Article Number) era el sistema de código de barras más común hasta que se fusionó la UCC (Uniform Code Council) y ahora ha pasado a denominarse GS1.

OpenERP incorpora la variante para código de barras EAN13 que era una de las más comunes para mercancía en entornos detallistas (por ejemplo tiendas, centros comerciales, ...etc) si bien hay variaciones que no están implementadas a día de hoy, como por ejemplo el antiguo EAN128 (actualmente GS1-128), que son basicamente aquellos códigos de barras que se usan en entornos logísticos (operadores, agencias de transporte, ...etc).

Tanto en uno como en otro sistemas cada dígito del código de barras significa algo y a mayores se incluye un dígito de control en función de los otros que indica si el código es correcto o no. OpenERP incluye una función en product.py que comprueba si un código de barras EAN13 que el usuario registre es correcto o no pero no funciona por ejemplo con EAN128.

Tal como ha escrito Ana hay un módulo que amplia la funcionalidad de OpenERP con los códigos de barras pero desgraciadamente no contempla la norma que se usan en los operadores logísticos que es nuestro caso.

Puedes obtener más información en Wikipedia:

EAN13: http://es.wikipedia.org/wiki/EAN
EAN128: http://es.wikipedia.org/wiki/GS1-128

Salu2 !!


Top
 Profile  
 
 Post subject:
PostPosted: Fri Mar 05, 2010 8:15 pm 
Offline

Joined: Wed Aug 29, 2007 5:45 pm
Posts: 148
Location: Mexico
segun esto:
".. Subset A includes the standard ASCII symbols, digits, upper case letters, and control codes. Subset B includes standard ASCII symbols, digits, upper and lower case letters. Subset C compresses two numeric digits into each character, providing excellent density"
gs1-128 tiene 3 subconjuntos A ,B y C, tambien lei que cada uno tiene un caracter de inicio ( A='ë',B y C = 'ì') un caracter de checksum y un caracter de final ( A,B y C = 'ì'), mi duda es si esos caracteres solo le sirven al lector de codigos y despliega solo los caracteres de informacion , o tambien despliega el caracter de inicio el checksum y el caracter de final ?
ya vi la funcion que verifica la validez del codigo EAN13, podemos realizar un modulo que extienda el modulo de product para dar soporte a gs1-128, modificando el nombre y tamaño del campo EAN13 y la funcion product.product._check_ean_key asumiendo que es el unico lugar donde se verifica la valides del codigo EAN, y asumiendo tambien que se despliegan los caracteres de control(inicio , checksum y de final), si no se despliega esta informacion al leer el codigo , pues no es posible su verificacion y seria solo cambiar el nombre y tamaño del campo EAN13, y que la funcion product.product._check_ean_key regrese siempre true.


Top
 Profile  
 
 Post subject:
PostPosted: Sat Mar 06, 2010 12:37 pm 
Offline

Joined: Mon Jan 14, 2008 12:46 am
Posts: 571
Location: Gipuzkoa(spain)
Vaya... muchas gracias por vuestros comentarios!!

Los caracteres de control, en principio, no suele ser necesario meterlos en el código del producto en el sistema, pero sí se añaden en los reports donde se imprime el código, ya que si no, los lectores no los leen correctamente.

_________________
http://www.avanzosc.com
Documentación OpenERP http://www.openerpsite.com
http://www.aulaerp.com


Top
 Profile  
 
 Post subject:
PostPosted: Sun Mar 07, 2010 5:54 pm 
Offline

Joined: Wed Feb 24, 2010 3:36 pm
Posts: 9
¿Alguna idea finalmente acerca de cómo conseguir que se pueda buscar un campo personalizado de tipo CHAR?

He conseguido que aparezca en el grupo de búsqueda o búsqueda avanzada asignando esta característica en "PERSONALIZAR OBJETO" pero cuando meto algo en el campo y pulso "FILTRAR" me da el error que os detallaba más arriba.


Top
 Profile  
 
 Post subject:
PostPosted: Mon Mar 08, 2010 5:39 pm 
Offline

Joined: Wed Aug 29, 2007 5:45 pm
Posts: 148
Location: Mexico
Hola alonsoy, si como dice ANA los caracteres de control no son parte del codigo leido por los humanos y son para generar los codigos de barras , no es necesario validar, tambien entiendo que no tienen un numero de caracteres fijos , entonces menos se puede validar, por otro lado con la informacion que pones de tu error no puedo deducir nada ( aun no tengo la intuicion y conocimientos de un buen programador ) pero te reitero mi ayuda.. enviame el modulo que modificaste lo instalo y trato de ver el error, yo estoy apenas entrando a este gran mundo de openERP y me gustaria contribuir a resolver problemas del mundo real , si tienes algun algoritmo para validar el gs1-128 pues postealo y yo lo implemento, basandonos en el modulo product_gtin podemos implementar uno para dar soporte al gs1-128.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 11 posts ] 

All times are UTC + 2 hours


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:

Protected by Anti-Spam ACP