OpenERP: Wizard’s (básico y algo confuso)

Creado un wizard:

Primero tienen que tener en claro que los Wizard son clases que tienen como base el osv.memory así que no son tablas en la BD, luego su tratamiento es igual a cualquier clase en la interfase y en el manejo ya que también usan el ORM, vemoa un wizard tonto que va sumar dos valores y mostar el resultado en una ventana de alerta:

py_wt

NOTA: en el raise debe de ir la variable “z” no la “y”

# -*- coding: utf-8 -*-
from openerp.osv import fields, osv

class wizard_tonto(osv.memory):

_name=’wizard.tonto’

_columns={
‘campo1’:fields.float(‘Primer numero’),
‘campo2’:fields.float(‘Segundo numero’),
}

def suma(self,cr,uid,ids,context=None):
x=self.browse(cr, uid, ids, context=context)
z=0
for y in x:
z=y.campo1+y.campo2
raise osv.except_osv(‘Resultado’),z)
wizard_tonto()

Ahora voy a ponerlo en el menú de contabilidad en la actualización periódica (es por ponerlo en algún lado):

Como por algún extraño motivo no puedo poner xml pues allí está en imagen:

xml_wt

Con eso ya tienen para hacer un wizard, cosas que no deben hacer en la interfase es usar la etiqueta sheet de los formularios versión 7 ya que no hace la ventanita en tipo modal, sino una normal como cuando editas un registro común.

Ahora si se quiere llamar desde un botón de una ventana normal tienes dos caminos el primero es crear una función en tu clase (pongamos que quiero adicionarlo al stock_picking), para ello tienes que crear un método que va ser el nombre del botón y poner esa definición en el header del formulario, pues sería de esta manera:

<button name=”sumar_valores” string=”Sumar valores” type=”object” class=”oe_highlight”/>

En la clase en este caso el stock_picking defines el método que llame al action del wizard:

call_wt1

Nota: en la imagen dice “action_process” pero debería decir “sumar_valores”

La otra es que llame directamente al wizard:

<button name=”%(action_wizard_tonto)d” string=”Sumar dos números”  type=”action” class=”oe_highlight” />

Bien no olvidar de incluir esto dentro de una carpeta wizard con su archivo __init__.py y hacer referencia a la carpeta en el archivo __init__.py del módulo, así como la llamada al xml en el __openerp__.py incluyendo la carpeta, en la sección data.

Una por allí:

Obteniendo la moneda por defecto de la compañía:

obj_moneda = self.pool.get(‘res.users’).browse(cr,uid,uid,context).company_id.currency_id

Acerca de

Antes que nada voy a dejar en claro algo, en este blog escribo como se me place, asi que no busquen errores de ortografia o de redaccion que los van a encontrar a montones y tampoco me critiquen o me digan nada sobre ellos pues no tengo intencion alguna de cambiarlos, lo que escribo lo dejo asi y no lo corrijo,claro esta a menos que sean lineas de codigo. Jorge Prado Anci, profesional en desarrollo de aplicaciones, en especial las dirigidas a bases de datos. He trabajado con VFP en casi todas sus versiones, se algo de Java (que no me gusta, es eso solo no me gusta, es bueno pero no me gusta), lo suficiente de PHP como para tener mi propio CMS(es que sigue sin gustarme por la capacidad de desorden que te permite este “lenguaje”), VB lo conoci y lo deteste tanto que lo olvide al punto de no querer adoptar ni por obligacion a su reemplazante VB .NET (por lo mismo de Java) y si C# este si me encanta y aun que conozco bastante bien el lenguaje, la verdad es que me falta mucho del Framework (del 100% estare en un 65%). Soy un apasionado por el orden (en los proyectos de desarrollo), de la programacion en capas (de MVC conozco pero no he aplicado mucho), los estandares y las condenadas pruebas unitaria. Venga creo que ya con esto fue suficiente.

Tagged with: , , ,
Publicado en OpenERP
2 comments on “OpenERP: Wizard’s (básico y algo confuso)
  1. vici0us dice:

    Oye amigo para que version de openerp es este wizard?

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

Escribe tu dirección de correo electrónico para suscribirte a este blog, y recibir notificaciones de nuevos mensajes por correo.

Únete a otros 441 seguidores

Blog Stats
  • 304,137 hits
A %d blogueros les gusta esto: