Archivo categoría Manuales técnicos OpenERP

Truco para actualizar versión de OpenERP en Windows

Bueno… yo no lo usaría en un entorno de producción, pero cada vez más gente se está instalando la versión Allinone de OpenERP para probar. También hay mucha gente que se ha instalado el servidor y el cliente por separado y en este caso es más sencillo.

El problema surge cuando tiny publica una nueva versión. ¿Como actualizo? Cuando descargas la nueva versión, si tienes otra ya instalada, da un error y dice que no puede continuar. Pues se me ha ocurrido probar un par de truquillos muy tontos y funcionan perfectamente.

En caso de que tengais el Allinone, entiendo que lo que se quiere es mantener intactas las bases de datos postgres que hayais creado. Para actualizar el Cliente

  1. Desde Herramientas / Añadir-Quitar programas desinstalais el Cliente OpenERP. Solo el Cliente.
  2. Descargais la nueva versión desde aquí e instalais normalmente. Probais que enganche al servidor de forma normal y ya está listo.

Ahora el server.

  1. Descargar la nueva versión desde aquí e instalar normalmente.
  2. c:/archivos de programa/openerp allinone/server/ buscar el archivo openerp-server.conf. y abrir con un editor de textos.
  3. C:\Archivos de programa\OpenERP Server buscad el nuevo openerp-server.conf que se crea con la nueva instalación del server.
  4. En los parámetros db_user y db_password poneis los que teniais en el antiguo openerp-server.conf
  5. Verificad que los accesos directos que existían anteriormente apuntan a los nuevos servidor y Cliente, y que  ejecutan los exe que están en las nuevas rutas.
  6. Opcionalmente, si habiais añadido módulos adicionales de extra-addons en la instalación del allinone, debereis llevároslos a la nueva ubicación, con cuidado de no machacar los addons oficiales publicados con esta versión.

Con esto, hemos conseguido quitar el allinone independizando servidor y cliente, pero manteniendo las bases de datos postgres.

Por último, hay que hacer que el servicio del server apunte a la ruta correcta y no a la del allinone. Para ello, supondríamos que tendríamos que ir a propiedades del servicio, pero no. El campo no es editable desde allí, se modifica desde regedit. Si buscais allinone en regedit, podreis encontrar el registro que buscais. Como siempre en windows, para ir pasando al siguiente registro de búsqueda utilizad F3.

Si tuvieseis anteriormente instalados cliente y servidor de forma independiente, solo hay que renombrar las entradas de regedit para que os permita instalar la nueva versión. Igualmente cuidado con el openerp-server.conf porque al instalar la nueva versión, se carga el anterior, por lo que conviene que guardeis aparte una copia antes de hacer esto:

  1. inicio / ejecutar
  2. escribir regedit –> Abre el registro de windows.
  3. En HKEY_LOCAL_MACHINE / Software buscad openerp server y/o openerp client
  4. Renombradlos a openerp server 2 y/o openerp client 2, por ejemplo.
  5. Descargar la nueva versión desde aquí e instalar normalmente.
  6. En los parámetros db_user y db_password de openerp-server.conf poneis los que teniais antes.
  7. En este caso, entiendo que mantendría los addons añadidos puesto que está sobreescribiendo la misma ruta de directorio que hubiese pero no lo he probado.

Esperando os sea de utilidad:

Ana

1 Comentario

Ficheros csv muestra para carga / importación de datos a OpenERP

Acabo de publicar un curso nuevo gratuito en AulaERP donde podeis descargaros ficheros.csv de muestra para importar Clientes, Productos e inventario inicial a OpenERP.

Os paso el link: http://www.aulaerp.com/aula/course/view.php?id=24

El objetivo de este curso, es poder ir añadiendo distintos tipos de archivos, de distintos objetos que funcionen con formulario/importar del menú de OpenERP. Este es el inicio y esperamos que entre todos, consigamos formatos de carga de Pedidos, Albaranes, Facturas, Centros de trabajo, Usuarios… o cualquier otro objeto susceptible de ser migrado a OpenERP desde otros sistemas…

Esperamos vuestras aportaciones.
Cordiales saludos!!
Ana

, , ,

No hay Comentarios

Nuevo curso en AulaERP: Instalación y configuración de Jasper Reports

Os anunciamos la publicación de un nuevo curso gratuito en AulaERP realizado y aportado por Carlos Liébana (de Trazagest) y su equipo. Agradecer también a Nan-tic el desarrollo del módulo de integración de Openerp con Jasper Reports.

Gracias a todos por vuestra aportación desinteresada.

Aquí tenéis el contenido del curso:

  1. Jasper Reports e iReports

  2. Requisitos

  3. Instalación de modulo jasper reports

  4. Creación de informes con iReport

  5. Enlace a los informes desde OpenERP

  6. Jasper Reports y python2.4

  7. Referencias

Y aquí va el link al curso:

http://www.aulaerp.com/aula/course/view.php?id=23

1 Comentario

Como asignar campos many to many en OpenERP

Buenas…

Os incluyo estos ejemplos de Jordi que me han ayudado a encontrar cómo asociar a un Partner a una categoría por código. Es un pelín enrevesado y por eso os lo pongo. Estuve buscando por ahí y no encontré nada relacionado.

Puedes ver un ejemplo en base/res/partner/partner_demo.

xml, línea 80, cuando se crean datos de demo al partner Camptocamp se le asignan 2 categorías:

<field eval=”[(6, 0, [ref('res_partner_category_10' ), ref('res_partner_category_5')])]” name=”category_id”/>

Lo importante es asignar al campo

category_id

un valor que sea

[(6, 0, [lista de categorías del partner])]

Por ej al final del archivo sale/stock.py puedes ver como se crean facturas a partir de albaranes, verás cosas como:

self.pool.get(’sale.order. line’).write(cursor, user, [sale_line.id], {‘invoiced’:True, ‘invoice_lines’: [(6, 0, [invoice_line_id])], })

ya que una línea de pedido puede estar relacionada con una o varis lineas de factura (en este caso sólo una, la lista tiene un sólo elemento [invoice_line_id]).

Jordi

A continuación os posteo el ejemplo concreto en el que lo he utilizado, por si fuese de interés.
def customer_extra_info(self, cr, uid, website, partner_id, osc_customer_id):
esale_category_obj = self.pool.get(‘esale.oscom.partner.category’) –> Aquí un objeto que me relaciona un código de categoría en una base de datos externa con el código de categoría correspondiente en OpenERP.
server = xmlrpclib.ServerProxy(“%s/openerp-synchro.php” % website.url)–> Conexión a la base de datos externa mediante protocolo xmlrpc
esale_pcategory = server.get_customers_group_id(osc_customer_id) –> Llamada a la función externa que me devuelve el identificador de la categoría en dicha aplicación externa.
cat_oscom_id = esale_category_obj.search(cr, uid, [('web_id','=',website.id), ('esale_oscom_id', '=', esale_pcategory)]) –> Busca el identificador recogido de la función anterior en el pool de objetos que relaciona ambos Ids (Id categoría aplicación externa, Id categoria OpenERP).
if len(cat_oscom_id) > 0: Si encuentra algún registro
cat_oscom = esale_category_obj.browse(cr, uid, cat_oscom_id)[0] –> guarda registro encontrado

pcategory_id = cat_oscom.category_id.id –> Recojo Id categoría OpenERP

self.pool.get(‘res.partner’).write(cr, uid, [partner_id], {‘category_id’:[(6, 0, [pcategory_id])]}) –> Asocio categoría a Parner según ejemplo de Jordi…

return True

Esperando sea de vuestro interés!!!

,

No hay Comentarios

Programar y realizar modificaciones al código de openERP en Windows

¿Es posible?

Pues si. Es posible. Aunque todos los Gurús de openerp recomiendan un entorno Linux para programar en Python, en Windows también se puede hacer. Esta miniguía es para principiantes que no saben por donde empezar. Los que llevais un ratillo en esto, podeis obviar el post.

¿Qué herramientas necesitais?

Básicamente un buen editor de textos. Recomendados el Ultraedit32 (de pago), el editplus(free) o notepad2(free).

Los ficheros a modificar en cualquier módulo son sólo los .py

Todos los módulos (coged uno de server/addons cualquiera tienen básicamente los siguientes archivos)

__init__.py –> Se indican los componentes que tiene el módulo, tanto sean wizards, reports u otros submódulos. Fichero requerido en todos los módulos

__terp__.py –> Firma del módulo y sus dependencias con otros módulos. Fichero requerido en todos los módulos

FICHEROS.py –> Se definen las clases, campos, objetos que forman parte del módulo.

CARPETAS dentro de un módulo:

  • Wizard: Acciones –> Se muestran en forma de botón con un dibujo de unas ruedecitas, a la derecha de cada módulo. No son requeridos en todos los módulos. Un botón de acción o Wizard, son por ejemplo en la ficha del cliente “Crear cuentas”, “Envío e-mails”.. etc. Si quisieramos añadir una acción nueva, deberemos añadir otro Wizard al módulo y el código asociado correspondiente con el proceso que queramos ejecutar.
  • Reports: Informes –> Se muestran al pulsar el botón imprimir en cada objeto. No es una carpeta requerida en todos los módulos, solo es requerida si queremos asociar un informe a un objeto.
  • i18n –> Carpeta de traducciones. Tampoco es requerida en todos los módulos.

Los pasos para ejecutar y depurar las modificaciones realizadas en Windows son los siguientes:

  1. Para modificar un módulo existente, modificar el fichero .py correspondiente
  2. Para añadir un nuevo módulo, lo más sencillo es copiar una carpeta ya existente con un nuevo nombre y realizar los cambios sobre ella.
  3. Una vez realizados los cambios, en openERP –> Administración/modulos/actualizar
  4. Parar y arrancar el servidor
    1. Inicio/todos los programas/openERP/server/stop
    2. Inicio/todos los programas/openERP/server/start
  5. Si todo va bien, deberemos ver los cambios esperados en el módulo correspondiente. Si no es así, si la aplicación se queda bloqueda, no podemos entrar al módulo modificado o cualquier otro problema, posiblemente tenemos un error de sintaxis.
  6. Para verificar esto, abrir el archivo C:\Archivos de programa\OpenERP\Client \ openerp-client.exe.log

En el log del Cliente se guardan Todos los errores que pasen durante la ejecución del programa. Al abrirlo, cuidado con las líneas, son larguísimas. Haced scroll a la derecha y os dará el error, el fichero y la línea en la que se produce.

Ejemplo. No asustarse… El error está marcado en Rojo. Vereis que es un error de sintaxis y os da exactamente dónde se produce.

Traceback (most recent call last):
File “widget\view\form_gtk\parser.pyo”, line 117, in button_clicked
File “rpc.pyo”, line 186, in rpc_exec_auth
File “common\common.pyo”, line 338, in error
File “rpc.pyo”, line 148, in rpc_exec_auth_try
File “rpc.pyo”, line 112, in exec_auth
File “rpc.pyo”, line 118, in execute
File “tiny_socket.pyo”, line 80, in myreceive
tiny_socket.Myexception: (”, ‘Traceback (most recent call last):\n  File “netsvc.pyo”, line 231, in dispatch\n  File “netsvc.pyo”, line 74, in __call__\n  File “service\\web_services.pyo”, line 479, in execute\n  File “service\\security.pyo”, line 48, in check\n  File “pooler.pyo”, line 76, in get_db\n  File “pooler.pyo”, line 40, in get_db_and_pool\n  File “addons\\__init__.pyo”, line 704, in load_modules\n  File “addons\\__init__.pyo”, line 573, in load_module_graph\n  File “addons\\__init__.pyo”, line 373, in register_class\n  File “C:\\Archivos de programa\\OpenERP AllInOne\\Server\\addons\\esale_osc\\__init__.py”, line 3, in <module>\n  File “C:\\Archivos de programa\\OpenERP AllInOne\\Server\\addons\\esale_osc\\esale_oscom_product.py”, line 362\n    \’product_id\’:,\n                 ^\nSyntaxError: invalid syntax\n’)
Espero os haya servido!!!

,

2 Comentarios

Script para extraccion de datos a OpenOffice

Otra aportación de Alejandro en el foro!!!

Adjunto un fichero con un manual para exportar datos a una hoja de calculo de openoffice con un script que encontré en el branch.

http://www.openerpsite.com/foro-openerp/viewtopic.php?f=8&t=24&p=83#p83

Esto quiere decir básicamente que de forma super sencilla y conociendo un poquito la estructura de tablas de OpenERP podemos extraer a un fichero tipo excel la información que queramos para tratarla después.

Solo le veo una pega. En el momento en que el volumen de datos sea muy grande, tratar el fichero con una extracción completa de toda la tabla puede ser inmanejable. Una posible mejora del script sería poder meter un filtro por fechas, por ejemplo.

A ver si algún valiente se anima a retocarlo y lo sube al launchpad como mejora del script!!! Estaría bien…


,

No hay Comentarios

Documentación actualizada para OpenERP 5.X

Bueno… pues hoy haciendo una lectura rápida de los foros de discusión general en inglés, he encontrado esto de GEM (Francia). Contiene un extensísimo manual en inglés sobre funcionalidad, procesos, instalación, etc, etc…

Hello,
there is the new documentation of the v5 online (thanks to Raphaêl Valyi for the info )
url : http://doc.openerp.com/
Good reading
A+ Laughing

Imprescindible para empezar.

, , ,

No hay Comentarios