OpenERP en la Ingenieria Civil

Es un placer anunciar el nuevo modulo liberado por parte de Zikzakmedia, donde introduce a OpenERP dentro del control de proyectos de construccion de ingenieria civil:

Dentro de las caracteristicas a resaltar estan:

Añade un nuevo menú para administrar las obras de ingeniería civil: Lugar, agentes y otras consultorías, los datos de trabajo, la estructura de datos y de las asignaciones a los proyectos.

* Nuevas entidades para obras de ingeniería civil (todas estas entidades tienen una estructura jerárquica y una vista de árbol, obras de ingeniería civil puede ser filtrada de la vista de árbol):
* Trabajo de clase
* Utilice el trabajo
* Tipo de estructura
* Tipo de Fundación
* Modelo estructural de la abstracción
* Estructurales de modelado de software.

* Agrega una nueva pestaña en la forma de proyecto, la forma de venta y la forma de compra de relacionar estos objetos para obras de ingeniería civil.

Factura Electronica Ecuador – Open ERP – Parte 2

Ahora estoy terminando el asistente que perimitira emitir las facturas en XML desde el sistema, he puesto para que seleccione las que quiera, tambien se agregara que exporte por periodo y que exporte una factura que se emitio,

wizard, facturas electronicas

wizard, facturas electronicas

Estoy revisando ahora lo que es seria la firma digital con las librerias nombradas en el post anterior de este tema, espero poder tenerles al tanto.

Factura Electronica – Ecuador OpenERP

En Ecuador ahora el Servicio de Rentas Internas SRI[1], ha hecho publica las bases tecnicas para la exportacion de informacion de documentos electronicos: comprobantes de venta y retenciones, lo cual permite a los sistemas que administrar la contabilidad poder emitir esta informacion y utilizar algun otro sistema para firmarlo.

Ahora OpenERP con su modulo de contabilidad y mas el desarrollo que hemos hecho para poderlo utilizar en Ecuador esta en la posibilidad de emitir dichos archivos para el SRI, con lo que se generan nuevos requrimientos de desarrollo, hagamos un pequeno resumen de lo que tenemos y nos falta por hacer.

La informacion legalmente necesaria para la generacion de los archivos digitales de documentos como facturas, notas de debito, credito y retenciones esta completa dentro de OpenERP, lo que falta es la exportacion de los datos en el formato requerido para el SRI, y la parte mas critica que seria la firma digital de estos documentos.

Lo nuevo sera:

Creacion de un asistente para la exportacion de datos desde el sistema en XML, que permita:

  • Solicitud de Autorizacion
  • Renovacion de Autorizacion
  • Inclusion de puntos de emision y/o tipos de documentos
  • Exclusion de puntos de emision y/o documentos
  • Baja de autorizacion

Dentro de este asistente se pueda firmar el documento generado y exportar el zip necesario para su envio al sistema del SRI.

Dentro de este se podra configurar para que lea el certificado de seguridad desde el ente de emision o desde un archivo del disco.

Links de Interes:

SRI

M2Crypto

http://www.keyczar.org/

Autorizaciones del SRI – Ecuador

Se ha implementado el documento del SRI[1] (Servicio de Rentas Internas) que permite a las entidades ecuatorianas a emitir facturas, notas de credito/debito y comprobantes de retencion, por lo que fue necesario dentro del sistema crear este objeto y crear las relaciones con entidades y documentos.

Con esto el sistema tiene la funcionalidad de ingresar las autorizaciones de todos sus clientes o proveedores, llevar el registro ver cuales estan activas o las caducadas.

Asi se lleva un registro completo de este documento.

Autorizacion SRI (Servicion de Rentas Internas)

Autorizacion SRI (Servicion de Rentas Internas)

[1] http://www.sri.gov.ec

Between para nuevos Dominios?

Dentro del archivo expresions.py esta los ‘leafs’ que son los parametros que nosostros enviamos al metodo search como:

(‘campo’,’=’,valor), estan soportados todos casi todos los comparadores logicos de SQL, lo que estoy revisando y con mucho debugging es el soporte para between, el metodo is_leaf, hace una comparacion de 3 elementos, donde un posible uso de between con forma:

(‘between’,’field’,val1,val2)

se tendria que modificar esta comparacion, y aumentar en el leaf_to_sql la evaluacion para between, esto es un trabajo de mucho tiempo hasta entender completamente toda la construccion interna de expresiones del server.

Esperemos avanzar rapido :)

Nueva Notacion para Domain

Revisando el codigo, me encontre con algomuy interesante sobre las expresiones y nuevas notaciones aceptadas en openobject, en especial con los dominios.

La notacion anterior era (aun soportada) una tupla con 3 elementos:

un campo, un operador, un valor.

Ahora usan la notacion con el operador como prefijo[1], entonces los operadores soportados son AND, OR y NOT (&, |, !), con aridad 2 los primeros y aridad 1 el NOT (se aplica AND por defecto).

Entonces como seria lo nuevo?

['&', ('active', '=', True), ('value', '!=', 'foo')]
['|', ('active', '=', True), ('state', 'in', ['open', 'draft'])
['&', ('active', '=', True), '|', '!', ('state', '=', 'closed'), ('state', '=', 'draft')]
['|', '|', ('state', '=', 'open'), ('state', '=', 'closed'), ('state', '=', 'draft')]
['!', '&', '!', ('id', 'in', [42, 666]), ('active', '=', False)]

Talves el ejemplo con su traduccion en SQL para aclarar su funcionamiento:

[('foo', '=', 'bar')]
foo = 'bar'

[('id', 'in', [1,2,3])]
id in (1, 2, 3)

[('field', '=', 'value'), ('field', '<>', 42)]
( field = 'value' AND field <> 42 )

[('&', ('field', '<', 'value'), ('field', '>', 'value'))]
( field < 'value' AND field > 'value' )

[('|', ('field', '=', 'value'), ('field', '=', 'value'))]
( field = 'value' OR field = 'value' )

[('&', ('field1', '=', 'value'), ('field2', '=', 'value'), ('|', ('field3', '<>', 'value'), ('field4', '=', 'value')))]
( field1 = 'value' AND field2 = 'value' AND ( field3 <> 'value' OR field4 = 'value' ) )

[('&', ('|', ('a', '=', 1), ('b', '=', 2)), ('|', ('c', '=', 3), ('d', '=', 4)))]
( ( a = 1 OR b = 2 ) AND ( c = 3 OR d = 4 ) )

[('|', (('a', '=', 1), ('b', '=', 2)), (('c', '=', 3), ('d', '=', 4)))]
( ( a = 1 AND b = 2 ) OR ( c = 3 AND d = 4 ) )

Espero les sea de mucha utilidad.

Tomado de: http://christophe-simonis-at-tiny.blogspot.com/2008/08/new-new-domain-notation.html

[1]http://en.wikipedia.org/wiki/Polish_notation