Programacion Interactiva

Descubre una Nueva y Poderosa Herramienta.

FrameWork de Nueva Generacion

Acceso a tu Informacion desde cualquier Dispositivo con Navegador.

Enfoque en el Backend

Frontend de forma facil con Odoo y XML.

Creacion de Verticales

Creacion de nuevas Verticales Conquistando nuevos Mercados.

Tu marca aqui mismo

Llega a miles de personas.

Publicidad

martes, 26 de abril de 2016

Eliminar Base de Datos desde Terminal PostgreSQL 9.X

Como eliminar Base de Datos con Sesiones Activas desde Terminal


Para eliminar una base de datos desde Terminal y esta tiene alguna conexión activa es imposible, lo podemos realizar desde la terminal de postgreSQL con el comando:

SELECT pg_terminate_backend(pg_stat_activity.pid)
FROM pg_stat_activity
WHERE pg_stat_activity.datname = 'Base_Borrar'
  AND pid <> pg_backend_pid();

viernes, 8 de abril de 2016

Ejecutando código como el Hombre de Acero (Super User Odoo)

Usando SUPERUSER_ID en API Odoo


Para todos los que hemos utilizado alguna vez la librería SUPERUSER_ID de Odoo en versiones inferiores a Odoo 8 sabemos que tiene muchos beneficios:
  • Sin restricciones de control de registros.
  • Sin reglas.
  • Entorno multicompañia
  • Accesos ilimitados a todo el entorno Odoo.
Anteriormente solo teníamos que importar la librería y hacer uso de ella por ejemplo:

from openerp import SUPERUSER_ID

self.pool.get('res.partner').create(cr, SUPERUSER_ID, {}, context)

Ahora con los nuevos cambios en la API ya no necesitamos pasar tantos parametros para ejecutar funciones ahora es mucho mas sencillo, esta libreria SUPERUSER_ID ya viene incluida en el environment de Odoo y utilizarla es tan sencillo como:

self.sudo() # Este es el Super Usuario Odoo

self.env['res.partner'].sudo().create({vals}) #Creamos el registro de Clientes como Super Usuario

Como vemos es muy sencillo y con esto en ocasiones nos evitara dolores de cabeza por las reglas de registro de algunos usuarios.

Environment y Context para Odoo

Odoo Environment



Algunos tips para poder utilizar el context con la nueva Api de Odoo.

Si necesitas actualizar el contexto al llamar una Clase utilizamos la funcion  with_context() ejemplo:


self.env['res.partner'].with_context(tz=x).create(vals)

tz = Zona Horaria
vals = Diccionario con los valores para crear un registro en el Objeto res.partner (Tabla de Clientes, Proveedores y Contactos).

Algo que no debemos hacer con el environment de Odoo es usar la siguiente expresión:

self = elf.env['res.partner'].with_context(tz=x).browse(self.ids)

    Esto genera una incoherencia de cache entre registros, esto trataría de volver a generar  recordsets de los recodrsets por ejemplo, yo ya me encuentro en la clase res.partner creando un método, entonces, ya no es necesario hacer un llamado de la misma clase en su lugar podríamos simplemente usar self, ya que todo es un recordset para la API de Odoo.




Método para Sobrescribir fuentes Java Script (JS) en Odoo

Guía para Reemplazar archivos js en Odoo

    Como todos sabemos la herencia es una de las herramientas mas poderosas con las que contamos en la programación con Odoo, esta misma herramienta de la programación podemos emplearla para heredar módulos y reemplazar archivos fuente, en este ejemplo reemplazo el archivo models.js del punto de venta por uno nuevo con mis modificaciones, como lo hacemos de una forma muy fácil.

1. Primero debemos crear en nuestro modulo un archivo xml para agregar la herencia del template, como podemos observar en el siguiente codigo:

<?xml version="1.0" encoding="utf-8"?>
<openerp>
    <data>
        <template id="assets_backend" name="point_of_sale assets" 
inherit_id="point_of_sale.assets_backend">
        <xpath expr="//script[contains(@src,'models.js')]" position="replace">
         <script type="text/javascript"
src="/ps_modulo_pos_herencia/static/src/js/models_cb.js"></script>
          </xpath>
        </template>
    </data>
</openerp>


Mi modulo tiene por nombre ps_modulo_pos_herencia  y reemplazo el archivo models.js para poder modificarlo y agregar nuevas funcionalidades.

2. Las partes importantes son:

  • Atributo inherit_id que hace referencia  al modulo al cual heredamos seguido de un punto y el ID del template que vamos a heredar en esta caso assets_backend.
  • Para heredarlo utilizaremos el metodo Xpath solamente sustituiremos la referencia del archivo fuente models.js por modes_cb.js.
  • Por ultimo añadimos nuestra ruta del nuevo archivo fuente javascript /ps_modulo_pos_herencia/static/src/js/models_cb.js
Estos 2 pasos anteriores nos permiten reemplazar archivos fuente JavaScript de una forma facil para modificarlos y que estos sean reconocidos por Odoo para ejecutar nuevas funcionalidades, Widgets, etc.



Contabilidad Electrónica para Odoo 8 y 9

      

Contabilidad Electrónica para Odoo 8 y 9


    Ante la nueva obligación de llevar y presentar la contabilidad electrónica surgida desde 2014, surgen muchas dudas y preocupaciones para la Comunidad Empresarial (PYMES), que utiliza Odoo 8 y 9 como su Sistema de Gestión y Administración, ahora vengo hablarles de un Modulo de Contabilidad Electrónica muy Funcional y que cumple hasta el momento con los lineamientos principales requeridos por el SAT, por el momento no se tiene Liberado para la Comunidad pero se pretende Liberarlo en unos meses, en cuanto se haya recuperado el monto de la Investigación y el desarrollo, pero por una pequeña cuota de recuperación puedes Obtener el Modulo Funcionando en tu Empresa en el momento que tu decidas, una de las Ventajas es que obtienes el Código Fuente del Modulo para poder estudiarlo y mejorarlo.

Les Hablare sobre la funcionalidad:


Para poder cumplir con estas nuevas obligaciones en  Odoo existe el módulo en Odoo, el cual contiene las siguientes características:

  • Generación de Catalogo de Cuentas (Formato XML).
  • Generación de Balanza (Normal y Complementaria en formato XML).
  • Generación de Auxiliar de Folios (Formato XML).
  • Información de sus Pólizas (Complementos Automáticos en formato XML).
  • Automatización en la generación de su Contabilidad Electrónica gracias a Complementos basados en la captura de los XML para facturas de Proveedor y XML generados desde la Facturación Electrónica en Odoo y los Pagos que se generen. 


A continuación algunas capturas del módulo que se ha adaptado para Odoo:

Generación de Balanza:


Catalogo de Cuentas:


Auxiliares Contables:


Balanza de Comprobación Mensual:



Bancos:



Monedas:


Código agrupador:



El cual genera archivos .xml para cada uno de las pantallas descritas anteriormente y pueden validarse sin problemas desde el portal del SAT.

Imágenes de validación

Catálogo de Cuentas
Balanza Mensual


Pólizas

Más información en el anexo 24.

Pueden ponerse en Contacto conmigo para Mayor Información.