open erp tutorial basico

Upload: alvino-duran-placido

Post on 12-Oct-2015

58 views

Category:

Documents


0 download

TRANSCRIPT

  • 5/21/2018 Open Erp Tutorial Basico

    1/42

    TUTORIAL BASICO

    OPEN ERP (V. 5.0.7)

    DESARROLLADORES OPEN ERP

    Jos Luis Garca HernndezUniversidad de AntioquiaIngeniera de Sistemas

    ColombiaMedelln

  • 5/21/2018 Open Erp Tutorial Basico

    2/42

    2

    TUTORIAL BASICOOPEN ERP (V. 5.0.7)

    Por: Jos Luis Garca Hernndez

    Este tutorial se encuentra protegido bajo la licencia de Creative Commons dereconocimiento-compartido 2.5, usted es libre de:

    : Copiar, distribuir y comunicar pblicamente la obra.

    : Hacer obras derivadas

    Bajo las siguientes condiciones:

    : Reconocimiento Debe reconocer los crditos de la obra de lamanera especificada por el autor o el licenciador (pero no de una manera que

    sugiera que tiene su apoyo o apoyan el uso que hace de su obra).

    : Compartir bajo la misma licencia Si altera o transforma estaobra, o genera una obra derivada, slo puede distribuir la obra generada bajouna licencia idntica a sta.

    Con el entendimiento de que:

    Renuncia: Cualquiera de estas condiciones puede no aplicarse si se obtiene el

    permiso del propietario del copyright.

    Otros Derechos:De ninguna manera cualquiera de los siguientes derechos seven afectados por la licencia:

    Los derivados de usos legtimos o derechos de uso justo; los derechos morales del autor; Los derechos que otras personas pueden tener, tanto en la propia obra o

    en la forma en que la obra se utiliza, como la publicidad o derechos deprivacidad.

  • 5/21/2018 Open Erp Tutorial Basico

    3/42

    3

    Nota: Al reutilizar o distribuir la obra, tiene que dejar bien claro los trminos dela licencia de obra.

    Para ms informacin sobre trminos de la licencia dirjase a la pginahttp://creativecommons.org/

    DonacionesSi este tutorial es de tu agrado puedes contribuir dando un pequeo aporte dedinero, as podrs acceder a decenas de ejemplos, mdulos, asesoras,incluyendo tutoriales avanzados y tutoriales afines a Open ERP quecontribuirn a tu formacin como desarrollador.

    Tipos de Donacin:

    Nivel 1Inversin: 5 dlares.Acceso: Asesoras y ejemplos

    Nivel 2Inversin: 10 dlares.Acceso: Asesoras y ejemplos, Tutoriales Bsicos y afines.

    Nivel 2Inversin: 15 dlares.Acceso: Asesoras y ejemplos, Tutoriales Bsicos, avanzados yafines

    Si quieres dar una donacin por favor ponte en contacto con el grupo en googlehttp://groups.google.com.co/group/openerpamerica.

    http://creativecommons.org/http://creativecommons.org/http://groups.google.com.co/group/openerpamericahttp://groups.google.com.co/group/openerpamericahttp://groups.google.com.co/group/openerpamericahttp://creativecommons.org/
  • 5/21/2018 Open Erp Tutorial Basico

    4/42

    4

    TABLA DE CONTENIDO

    1. INTRODUCCION 6

    2. QUE ES OPEN ERP 6

    2.1. Ventajas de Open ERP 7

    2.2. Integracin con otros software 8

    3. INSTALACIN DE OPEN ERP 9

    4. SISTEMA DE ARCHIVOS BSICOS 15

    4.1. Archivo __init__.py 16

    4.2. Archivo __terp__.py 16

    4.2.1. Diccionario descriptor 16

    4.3. Archivo .py 17

    4.3.1. Atributos 17

    4.3.2. Campos bsicos 17

    4.3.3. Campos Relacionales 19

    4.4. Archivo .xml 20

    4.4.1. Vista Form 20

    4.4.2. Vista Tree 20

    4.4.3. Elementos de diseo 21

    4.4.4. Atributos para los campos 22

    5. MODELACIN DE OBJETOS 22

    5.1. Archivo .py 23

    5.1.1. Explicacin y consideraciones 23

    5.2. Archivo __terp__.py 24

    5.3. Archivo __init__.py 24

    5.4. Implementacin de una vista Form 24

    5.5. Implementacin de una vista Tree 25

    6. CREACIN DE MENS Y ACCIONES.........26

    6.1. Menus 26

    6.2. Acciones 28

    6.2.1. Acciones Form 28

    6.2.2. Acciones Tree 28

    6.2.3. Archivo xml (completo) 29

  • 5/21/2018 Open Erp Tutorial Basico

    5/42

    5

    7. HERRAMIENTAS DE MODELADO (DIA UML) 30

    8. MODELADO DE CLASES 31

    9. RELACIONES 34

    9.1. Relacin many2one 34

    9.1.1. Explicacin y consideraciones 35

    9.2. Relacin one2many 36

    10. HERENCIA 37

    10.1. Herencia de objetos 37

    10.1.1. Herencia por extensin 37

    10.1.2. Herencia por prototipo 39

    10.1.3. Herencia por delegacin .39

    10.2. Herencia de vistas .40

    11. BIBLIOGRAFA .41

  • 5/21/2018 Open Erp Tutorial Basico

    6/42

    6

    1. INTRODUCCIN

    El Open ERP (Enterprise Resource Planning, ERP por sus siglas en ingls) esun sistema planeador de recursos empresariales que permite realizar unagestin integrada de los recursos. Entre sus caractersticas estn lacontabilidad analtica, contabilidad financiera, gestin de almacenes/inventario,gestin de ventas y compras, automatizacin de tareas, campaas demarketing, ayuda tcnica (Helpdesk), y punto de venta, dentro de laconstruccin misma del software se hace uso intensivo de flujos de trabajo quese puede integrar con los mdulos haciendo la modificacin de aprobacin y engeneral de cualquier proceso adaptable.

    Este Tutorial bsico de Open ERP provee una introduccin tcnica y al mismotiempo completa de cmo implementar Open ERP en tu computador y aprendera construir diferentes tipos modulos dependiendo de necesidades especificas.El tutorial incluye desde la instalacin de Open ERP hasta la personalizacionde los diferentes modulos.

    Para este tutorial es importante tener conocimiento previos de Phyton para laconstruccion de los objetos que componen un modulo, tambien es necesario unpoco de xml para construir las vistas de los objetos, los flujos de trabajo y losdiferentes procesos de negocio que componen a los modulos.

    Es necesario recordar que este tutorial es de uso basico, por lo tanto esnecesario comprometerse un poco y tener voluntad para experimentar. Pero nohay de qu preocuparse: aprender a implementar Open ERP es de lo msdivertido y proporciona una gran satisfaccin cuando se da con la solucincorrecta.

    2. QUE ES OPEN ERP

    Open ERP es un sistema planeador de recursos empresariales o ERP que cu-bre las necesidades de las reas de contabilidad, ventas, compras, y almacn

    e inventario, entre otras.Open ERP soporta mltiples monedas, mltiples com-paas y mltiples contabilidades; adems incorpora funcionalidades de gestinde documentos para agilizar la colaboracin entre departamentos y equipos enla empresa; y permite trabajar remotamente mediante una interfaz web desdeuna computadora conectada a Internet. Tiene componentes separados en es-quema Cliente-servidor. Dispone de interfaces XML-RPC, y SOAP. Anterior-mente se le conoci como TinyErp.

    Open ERP es multiplataforma, funciona sobre Linux y Windows, y la interfaz deusuario est construida sobre la biblioteca grafica Gtk+, tambin hay una alter-nativa construida sobre Qt. Adicionalmente Open ERP tiene un cliente para

  • 5/21/2018 Open Erp Tutorial Basico

    7/42

    7

    ambiente Web llamado Etiny que fue construido sobre el framework para desa-rrollo de aplicaciones web TurboGears.

    Emplea a Postgresql como Sistema manejador de bases de datos y ha sidoprogramado con Python, lo cual permite que su adecuacin e implantacin sealimpia teniendo un esquema de arquitectura menor que otras soluciones.

    Dentro de la construccin misma del software se hace uso intensivo de flujosde trabajo que se puede integrar con los mdulos haciendo fcil la modificacinde y en general de cualquier proceso adaptable.

    2.1. Ventajas de OpenERP

    Completo

    En estos momentos existen ms de 300 mdulos especficos para distintossectores de actividad.

    Potente

    OpenERP aade en la mayor parte de sus reas herramientas de anlisis ygeneracin de reportes, con lo que la gestin y visualizacin de la informa-cin se simplifica.

    Flexible

    Las modificaciones y adaptaciones de cdigo a las necesidades de las em-presas se pueden realizar en forma gil. Por ejemplo: flujos de trabajo(workflows) editables; reportes personalizados; control de productos y vis-tas.

    Libre

    Es un sistema basado en estndares, abierto y ampliamente soportado.Existe una importante comunidad de desarrolladores que estn constante-mente fortaleciendo el proyecto (amplia documentacin, foros, cvs, mailing,listas, etc.).

    Acces ib le

    Open ERP se suministra bajo licencia GPL, por lo que no se abonan licen-cias de adquisicin. Ud. slo paga por los costos de integracin y adapta-cin a las necesidades de su empresa.

    Avanzado tcnicamente

    Usa doble entrada en la gestin de inventarios.

    Soporta mltiples vistas de la contabilidad.

  • 5/21/2018 Open Erp Tutorial Basico

    8/42

    8

    Est preparado para conformar normas ISO9001.

    Funciona con bases de datos de objetos.

    Utiliza flujos de trabajos flexibles y dinmicos.

    Soporta plataformas heterogneas: Linux, Windows.

    Utiliza un esquema de servidor distribuido.

    2.2. Integracin con otros software

    Todos los informes de Open ERP se generan en PDF para una perfecta im-presin. Tambin se pueden generar archivos en Word o Excel que des-pus pueden modificarse antes de ser enviados a un cliente por carta, mailo fax en forma automtica.

    Open ERP se integra con los siguientes softwares comerciales:

    Visualizacin bajo Adobe Reader (PDF).

    Importacin/Exportacin de Microsoft Office u OpenOffice.

    Exportacin a Excel (or CSV).

    Google maps: servidor de aplicaciones de mapas en la web (gratuito).

    Tambin existen publicados conectores con software libre como:

    OpenOffice: La suite ofimtica de cdigo abierto desarrollada por SunMicrosystems/Oracle.

    Mozilla Thunderbird: Cliente de correo electrnico de los creadoresde Mozilla Firefox.

    Jasper Reports (iReport): herramienta de creacin de informes Javalibre.

    Magento: aplicacin de comercio electrnico online.

    Oscommerce: otra aplicacin de comercio electrnico online.

    Joomla: gestor de contenidos (integracin parcial a travs de xml-rpc).

  • 5/21/2018 Open Erp Tutorial Basico

    9/42

    9

    Spree: software de comercio electrnico para Ruby on Rails.

    Dia UML: software de diagramas para implementacin de modulos.

    3. INSTALACIN (Windows)

    La instalacin es total mente automtica bajo todos los sistemas operativoswindows, solo se debe ingresar a la pgina oficial (www.openerp.com) ydescargar el paquete AllInOne y ejecutar la instalacin, es preferible realizar lainstalacin en el sistema de archivos.

    Para la conexin del cliente al servidor Open ERP se debe iniciar la aplicacin,si es la primera vez que se ejecuta el cliente puede aparecer primero una

    encuesta sobre el inters en el uso de Open ERP, este paso se puede obviar,despus aparecer una ventana pequea para iniciar la conexin la cual estconectada por el puerto 8069 con el protocolo XML-RPC o por el puerto 8070con el protocolo NET-RPC los cuales son valores por defecto.

    Si en el campo Base de datos de la ventana de conexin se informa queNo sepuede conectar al servidor!,significa que los parmetros del Servidor sonincorrectos. Se debe hacer clic en el botn Cambiar y modificar los parmetrosde Servidor, Puerto y Protocolo de conexin. En una configuracin por defectodonde cliente y servidor estn en la misma mquina estos seran los valorestpicos:

    Servidor: localhost

    Puerto: 8070

    Protocolo de conexin: NET-RPC (faster)

    O tambin estos:

    Servidor: localhost

    Puerto: 8069

    Protocolo de conexin: XML-RPC

    Si por el contrario se informa que Base de datos no encontrada, debe crearuna!, se debe cerrar la ventana de entrada (Cancelar) y seleccionar en el mensuperiorArchivo/Base de datos/Nueva base de datos como muestra la figura 1.

  • 5/21/2018 Open Erp Tutorial Basico

    10/42

    10

    Figura 1. Ruta para instalar la nueva base de datos (Archivo/Bases de Datos/Nueva basede datos)

    Aparecer una ventana como el de la figura 2:

    Figura 2. Datos para crear de la nueva base de datos

    Rellenar el formulario con la siguiente informacin:

    Servidor Open ERP: Los mismos datos de conexin que en laventana de entrada. Normalmente localhost, 8070, NET-RPC (faster)

    Contrasea del super-administrador: Esta contrasea debecoincidir con la definida en el parmetro admin_passworddel archivode configuracin del servidor. Por defecto adminaunque en entornosde produccin hay que cambiarla para evitar que los usuarios seancapaces de crear bases de datos.

  • 5/21/2018 Open Erp Tutorial Basico

    11/42

    11

    Nuevo nombre de la base de datos: Nombre de la base de datos acrear, por ejemplo oerp_bd

    Cargar datos de demostracin: si se est testeando OpenERP porprimera vez de clic en S o en caso contrario de clic en No enentornos de produccin.

    Idioma por defecto: Idioma por defecto de la aplicacin y de losnuevos usuarios:Spanish/Espaol,Catalan/Catal

    Contrasea del administrador: La contrasea del usuario para labase de datos especifica de Open ERP. Es muy importante esteusuario (y recordar su contrasea) ya que es el usuario que puedeadministrar todo el sistema en esa base de datos.

    Confirmar contrasea: Repetir la contrasea anterior.

    A continuacin empezar la creacin de la base de datos de Open ERP. Secrearn numerosas tablas y registros, por lo que puede tardar un poco lainstalacin.

    La conexin se hace automticamente como usuario administrador y se iniciarel asistente de instalacin:

    Seleccionar un perfil: Se puede seleccionar un perfil (como muestrala figura 3) en concreto que nos instalar de forma automtica losmdulos relacionados con ese perfil o escoger el perfil mnimo (sloinstala el mdulo base) y posteriormente instalar los mdulos queinteresen.

  • 5/21/2018 Open Erp Tutorial Basico

    12/42

    12

    Figura 3. Seleccin de perfil preferido

    Informacin general: Aqu podemos introducir la informacin de lacompaa como el nombre, direccin, correo electrnico, telfono ymoneda como muestra la figura 4. (en Open ERP las empresas conlas que se mantiene relaciones -clientes, proveedores- se llamanempresas y a la propia empresa o organizacin se la denomina

    compaa).

    Figura 4. Informacin general de la empresa

    Informacin de los informes(2a pestaa): Aqu se definen lostextos que aparecern en la cabecera (derecha) y pie de pagina de

  • 5/21/2018 Open Erp Tutorial Basico

    13/42

    13

    los informes y el logo de la compaa (por defecto el logo aparecera la izquierda de la cabecera) como muestra la figura 5.

    Figura 5. Informacin de los reportes de la empresa

    Finalmente empezar la configuracin de los mdulos instalados medianteasistentes con abundante informacin. Si se ha seleccionado el perfil mnimoslo se pedir:

    Modo de vista: Interfaz simplificada o extendida (figura 6).

    Figura 6. Interface simplifica o extendidadependiendo de las necesidades del usuario

    Creacin de nuevos usuarios: En entornos de produccin esaltamente recomendable crear un usuario para cada empleado queno tenga el poder del usuario admin (figura 7). Asignando el usuario adiferentes grupos y/o roles podemos configurar su perfil (figura 8 y 9).Tambin se pueden crear ms adelante.

  • 5/21/2018 Open Erp Tutorial Basico

    14/42

    14

    Figura 7. Configuracin de usuarios

    Figura 8. Configuracin de grupos

  • 5/21/2018 Open Erp Tutorial Basico

    15/42

    15

    Figura 9. Configuracin de roles

    Al terminar aparece el men con los mdulos instalados como muestra la figura10.

    Figura 10. Finalizacin de instalacin de la base de datos. Inicializacin de la aplicacin.

    4. SISTEMAS DE ARCHIVOS BSICO

    Todos los mdulos open ERP se encuentran encapsulados en la carpeta OpenERP/server/addon. Para crear un modulo se necesita crear una carpeta con el

    nombre del modulo en dicho directorio, dentro de esta carpeta se aloja la lgica

  • 5/21/2018 Open Erp Tutorial Basico

    16/42

    16

    del negocio, un modulo est compuesto por cuatro archivos bsicos (algunosmdulos son ms robustos):

    Archivo __init__.py

    Archivo __terp__.py

    Archivo .py

    Archivo .xml

    4.1. Archi vo __ini t__.py

    Permite cargar el modulo creado

    4.2. Archivo __terp__.py

    Este archivo contiene un diccionario que describe todos los archivos que seutilizan en la implementacin de un modulo.

    4.2.1. Diccionario descriptor:

    name : Nombre del modulo

    versin: Versin del modulo

    description: Una descripcin del modulo

    autor: Persona o entidad que desarrollo el modulo

    website: Sitio web de la entidad que desarrollo el modulo

    license: Tipo de licencia del modulo(Predeterminada:GPL2)

    depends: Lista de modulos de los cuales depende elmodulo, el modulo base es el mas usado puesto que en else definen los datos necesarios para implementar lasvistas, reportesetc.

    init_xml: Lista de los archivos XML que se cargaran con lainstalacin del modulo

    instalable: Determina si un modulo es instalable o no

    (True o False)

  • 5/21/2018 Open Erp Tutorial Basico

    17/42

    17

    active: Determina los mdulos que son creados en la basede datos.

    4.3. Archivo .py

    En este archivo se definen los objetos que componen un modulo en la vistay en la base de datos, estos objetos tienen atributos predeterminados loscuales son usados e interpretados por Open ERP.

    4.3.1. Atributos predeterminados:

    _co lumns: Este atributo es requerido, en el se definen loscampos que se crean en la tabla de la base de datos y las

    vistas

    _constraints: Permite establecer restricciones a un campo deun objeto

    _sq l_constraints: Permite establecer restricciones SQL a uncampo de un objeto

    _defaults: Establece valores predeterminados para un campo

    _inherit : Establece la herencia entre los objetos

    _name: Este atributo es requerido y pone nombre al objetocreado

    _order: Este atributo es usado como resultado de unabsqueda y lectura de mtodos

    _rec_name: Nombre del campo que se usa para recursos debsqueda

    Los objetos en Open ERP contienen campos los cuales permitenintroducir datos en la base de datos, estos campos van definidos en elatributo columns. Hay dos tipos de campos, los bsicos y losrelacionales, los bsicos solos sirven para introducir datos basicos y losrelacionales (ver tipos de relacin) permiten establecer relaciones entrelos objetos.

    4.3.2. Campos bsicos:

    boolean: Bolean (True o False)

  • 5/21/2018 Open Erp Tutorial Basico

    18/42

    18

    Sintaxis:

    Fi el ds. bool ean( Fi el d name , [ , Opt i onal Par amet ers] )

    integer: Numero entero

    Sintaxis:

    f i el ds. i nt eger( ' Fi el d Name' [ , Opt i onal Par amet er s] ) ,

    float:Un numero de punto flotante

    Sintaxis:

    f i el ds. f l oat ( ' Fi el d Name' [ , Opt i onal Paramet ers] ) ,

    char:Un string de espacio limitado, su longitud es un parmetrorequerido

    Sintaxis:

    f i el ds. char( ' Fi el d Name' , si ze=n [ , Opt i onal Par ameters] )

    text:Un campo de texto sin limite

    Sintaxis:

    f i el ds. t ext ( ' Fi el d Name' [ , Opt i onal Paramet er s] ) ,

    date:Un dato

    Sintaxis:

    f i el ds. dat e( ' Fi el d Name' [ , Opt i onal Paramet er s] ) ,

    datetime: Permite asignar un dato de tiempo

    Sintexis:

    f i el ds. dat et i me( ' Fi el d Name' [ , Opt i onal Paramet ers] ) ,

    binary: Dato binario

    selection: Esta campo permite seleccionar un dato de variosvalores predeterminados

    Sintaxis:

  • 5/21/2018 Open Erp Tutorial Basico

    19/42

    19

    f i el ds . sel ect i on( ( ( ' n' , ' Unconf i rmed' ) , ( ' c ' , ' Conf i rmed' ) ) ,' f i el d Name' [ , Opt i onal Par amet er s] )

    4.3.3. Campos Relacionales

    one2many: Este campo expresa una relacin uno a muchosentre dos objetos, este campo es obsoleto utilizando una relacinmany2one

    Sintaxis:f i el ds. one2one( ' ot her . obj ect . name' , ' Fi el d Name' )

    f i el ds. one2many( ' ot her. obj ect. name' , ' Fi el d rel at i on i d' , ' Fi el dname' ,opt i onal par ameter )

    * Opt i onal parameter s:

    - i nvi s i bl e: True/ Fal se

    - s tates: ?

    - r eadonl y: True/ Fal se

    many2one: Asocia este objeto con un objeto padre en unarelacin muchos a uno, por ejemplo, de muchas marcas de autosexiste una que pertenece a un vehculo en particular

    Sintaxis:

    f i el ds. many2one( ' ot her. obj ect . name' , ' Fi el d Name' , opt i onal paramet er)

    Opti onal parameters :- ondel ete: What s houl d happen when t he r esour ce thi s f i el d poi nt s t o i sdel et ed.+ Predef i ned val ue: "cascade", "set nul l ", "r estr i ct" , "no acti on", "setdef aul t "+ Def aul t val ue: "set nul l "- r equi r ed: True- r eadonl y: True- sel ect : Tr ue - ( creat es an i ndex on t he For ei gn Key f i el d)

    many2many:

    Sintaxis:

    f i el ds. many2many(' ot her . obj ect. name' ,' r el at i onobj ec t ' ,' actual . obj ect . i d' ,' other . obj ec t . i d' ,' Fi el d Name' )

    Donde:

    other.object.name is the other object whichbelongs to the relation

    relation object is the table that makes the link

  • 5/21/2018 Open Erp Tutorial Basico

    20/42

    20

    actual.object.id and other.object.id are thefields names used in the relation table

    Ejemplo:

    ' cat egor y_i ds' : f i el ds. many2many(' res. part ner. cat egory' ,' res_part ner_cat egory_rel ' ,' par t ner _ i d' ,' category_i d' ,' Cat egori es' )

    one2one: Este campo se encuentra obsoleto por que una relacin uno auno es realmente una relacin muchos a uno (many2one).

    4.4. Archi vo .xml

    Las vistas en Open ERP se dividen en tres; las tree, las form y las graphic, sinembargo las ms utilizadas son las tree y las from y son las que se verncontinuacin. Las vistas describen como es mostrado cada objeto. Describecomo y donde es dibujado cada campo de nuestro objeto, existen dos vistasprincipales:

    Vistas rbol (tree)

    Vistas form

    4.4.1. Vistas Form

    Distribuyen los campos en una forma o ventana siguiendo ciertos criterios ypersonalizaciones. Los campos son distribuidos usando las siguientes reglas:

    Cada campo es precedido por una etiqueta con su nombre Los capos son puestos de izquierda a derecha, de acuerdo al orden con

    que son declarados en el archivo xml El formato siempre esta divido en cuatro espacios ocupados por dos

    campos con sus respectivas etiquetas, sin embargo un campo puedeusar varias columnas como es el caso de de un campo de relacinone2many. Tambin se puede realizar la operacin inversa, tomar variascolumnas y dividirlas en varias columnas.

    4.4.2. Vistas Arbol:

    Las vistas rbol son usadas como modo de listado la cual nos permeterealizar bsquedas en la pantalla. Esta vista es simple y solo tiene algunas

    opciones de diseoLos archivos xml que describen las vistas tienen el siguiente formato:

  • 5/21/2018 Open Erp Tutorial Basico

    21/42

    21

    [ vi ew def i ni t i ons]

    La definicin de la vista contiene tres tipos de tag:

    un tags con el atributo model=ir.ui.view, que contiene ladefinicion de la vista

    un tags con el atributo model=ir.actions.act_window, quecontiene el tipo de accin perteneciente a esa vista

    un tags que crea la entrada en el menu y el vinculo de laaccin.

    4.4.3. Elementos de diseo

    Existen varios elementos de diseo que nos permiten personalizar las vistasform y tree de los objetos creados.

    Page: Define una nueva pgina para el notebook, ejemplo:

    . . . :

    El atributo string define el numero de pagina

    Separator: Agrega una lnea de separacin en el formato, ejemplo:

    El atributo string define la etiqueta del separador y el atributocolspan define su tamao

    Notebook: Permite distribuir los campos de la vista en diferentestabs que van definidos por paginas, ejemplo:

    . . . .

    Group: Permite crear grupos de varias columnas, ejemplo:

    Parmetros para crear grupos

    colspan: numero de columnas para usar

    rowspan: numero de filas para expandir o no el grupo

  • 5/21/2018 Open Erp Tutorial Basico

    22/42

    22

    co l: numero de columnas proporcionas (to its children)

    string: (optional) If set, a frame will be drawn around thegroup of fields, with a label containing the string.Otherwise, the frame will be invisible.

    4.4.4. Atributos para los campos (field) dentro de la vista

    select=1 : Esta marca proporciona un criterio de bsqueda para lavista rbol, este criterio es un campo del objeto. Cuando su valor es 1significa que es un criterio.

    colspan=4 :El numero de columnas por las que se puede extender uncampo

    readonly=1 : Establece un widget como solo lectura invisible=True : Oculta el campo y su etiqueta password=True : Reemplaza la entrada de un campo con un

    smbolo

    string= : Cambia la etiqueta de un campo. Tambin es usado comoparmetro de bsqueda por la vista rbol.

    domain: puede restringir un dominioExample:

    domai n=[ ( par t ner_i d , = , part ner_i d) ]

    widget: puede cambiar un widget.Example:

    wi dget =one2many_l i st

    one2one_list one2many_list many2one_list many2many url email image float_time reference

    5. MODELACIN DE OBJETOS

    En el capitulo anterior se muestra que archivos debe tener un modulo bsico. Acontinuacin se crea un objeto dentro del archivo .py con finesilustrativos:

    Se crear una carpeta server/addons con el nombre del modulo (motion), adentro secrean los archivos necesarios para un modulo bsico como muestra la ilustracin 1:

    Ilustracin 1. Archivos basicos

  • 5/21/2018 Open Erp Tutorial Basico

    23/42

    23

    5.1. Archivomotion.py:

    1 f rom osv i mpor t f i el ds, osv2 ci mpor t t i me

    3 cl assmotion_pelicula( osv. osv) :4 _name = 'motion.pelicula'

    5 _descr i pt i on = 'Pelicula'6 _col umns = {7 'nombre_d' : f i el ds . char ( 'Nombre director', si ze=30, r equi r ed=True) , 8 'nombre' : f i el ds . char ( 'Nombre pelicula', si ze=30, r equi r ed=True) ,9 'fecha' : f i el ds . date('Fecha de adquisicion', r equi r ed=True) , 10 'costo_a' : f i el ds . i nteger ( 'Costo alquiler') , 11 'costo' : f i el ds . i nteger ( 'Costo de la pelicula') , 12 'codigo' : f i el ds . i nteger ( 'Codigo', r equi r ed=True) , 13 'numero' : f i el ds . i nteger ( 'Numero de copias',r equi r ed=True) ,14 }15 _def aul t s = {16 'fecha' : l ambda *a : t i me. st r f t i me( "%Y-%m-%d") ,17 }18 mt . pel i cul a( )

    5.1.1. Explicacin y consideraciones:

    Lnea Explicacin Consideraciones1-2 Se importar los mdulos requeridos

    para trabajar con objetos Open ERP,adems puedes importar mdulosPython para implementacionessuperiores

    3 Todos los objetos heredan deosv.osv

    Es importante recordarque los nombres de las

    clases no puedencontener letras enmayscula, es un error deprogramacin y por lotanto no permite que seinstale el modulo. Elnombre de la clase llevauna separacin _ , conel propsito de no ponerletras en mayscula, porconvencin los nombre de

    los objetos llevan primeroel nombre del modulo ydespus su propionombre, o su subnombreasociado a otra clase encaso de que seestablezcan relacionesentre los objetos

    4-5 Las clase bsicas contienen elnombre y descripcin

    El atributo name es elnombre de la clase perocon la excepcin de que

    donde lleve una

  • 5/21/2018 Open Erp Tutorial Basico

    24/42

    24

    separacin _ se pone unpunto .

    6-14 Diccionario donde se especifican loscampos que se utilizaran en la vista(columns)

    Por ejemplo, el fields.charcrea una entrada de textoo textbox, adems losparmetros de los

    campos nos especificancosas como el nombre delcampo, si es o norequerido entre otrosparmetros.

    15-17 adicionalmente existe otraspropiedades como defaults queestablecer valores predeterminados

    En este diccionarioinicializamos los camposen la vista, en este casose inicializa con la fechaactual

    16 Todas las clases deben serinicializadas

    5.2. Archivo__terp__.py:

    {"name" : "Pel i cul as Moti on", "ver si on" : "1. 1", "aut hor " : "J ose Lui s", "cat egory" : "Gener i c Modul es/ Human Resour ces" , "websi t e" : " ht t p: / / www. dei t ek. com", "descr i pt i on": "" "Pr ueba par a af i ci onados de python""" , ' author ' : ' J ose Lui s ' , ' websi t e' : ' ht t p: / / www. dei t ek. com' , ' depends' : [ ' base' ] , ' i ni t _ xml ' : [ ] , ' updat e_xml ' : [

    ' vi sta_vi ew. xml ' ] , ' demo_xml ' : [ ] , ' i ns tal l abl e' : True, ' act i ve' : Fal se,

    }

    5.3. Archi vo __ini t__.py:

    i mpor t mot i on

    5.4. Implementacin de una vista form

    En el capitulo anterior se cre un modulo de ilustracin (motion), ahora seprocede a construir la vista form (figura 11) del objeto:

    Cdigo:

    mot i on. pel i cul a. f orm moti on. pel i cul a f orm

  • 5/21/2018 Open Erp Tutorial Basico

    25/42

    25

    Vista:

    Figura 11. Vista form del objeto motion.pelicula

    5.5. Implementacin de una vista tree

    Como se vio anterior mente existen dos tipos de vista, las form y las tree (arbol),las vistas tree son usadas cuando trabajamos en el modo lista y en la mscara de

    bsqueda. Estas vistas son ms simples que forms y por lo tanto tiene menosopciones. El formato para la vista rbol (figura 1) en xml del objeto que seconstruyo en el capitulo anterior seria:

    Cdigo: mot i on. pel i cul a. t r ee moti on. pel i cul a t r ee

  • 5/21/2018 Open Erp Tutorial Basico

    26/42

    26

    Vista:

    Figura 12. Vista tree del objeto motion.pelicula

    Como se puede observar es muy similar al formato de la vista form, solo cambiasu extensin .tree. esta vista es mas sencilla.

    Se debe tener en cuenta que aun no puede acceder a las vistas debido a queaun no se han configurado los mens y sus acciones por lo que las figuras nossimplemente ilustrativas.

    6. CREACIN DE MENS Y ACCIONES

    6.1. Mens

    Los mens en Open ERP poseen las siguientes caractersticas:

    Id: Todos los mens necesitan un id para poder ser identificados por OpenERP dentro de la tabla de items

    Name: Especifica la posicin jerrquica y el nombre del men o entrada

    Action: Identifica la accin asociada al men (este campo no esobligatorio)

    Icon:Especifica el icono que ser utilizado por el menLos iconos disponibles son : STOCK_ABOUT, STOCK_ADD,STOCK_APPLY, STOCK_BOLD, STOCK_CANCEL, STOCK_CDROM,STOCK_CLEAR, STOCK_CLOSE, STOCK_COLOR_PICKER,STOCK_CONNECT, STOCK_CONVERT, STOCK_COPY, STOCK_CUT,STOCK_DELETE, STOCK_DIALOG_AUTHENTICATION,STOCK_DIALOG_ERROR, STOCK_DIALOG_INFO,STOCK_DIALOG_QUESTION, STOCK_DIALOG_WARNING,

  • 5/21/2018 Open Erp Tutorial Basico

    27/42

    27

    STOCK_DIRECTORY, STOCK_DISCONNECT, STOCK_DND,STOCK_DND_MULTIPLE, STOCK_EDIT, STOCK_EXECUTE,STOCK_FILE, STOCK_FIND, STOCK_FIND_AND_REPLACE,STOCK_FLOPPY, STOCK_GOTO_BOTTOM, STOCK_GOTO_FIRST,STOCK_GOTO_LAST, STOCK_GOTO_TOP, STOCK_GO_BACK,STOCK_GO_DOWN, STOCK_GO_FORWARD, STOCK_GO_UP,

    STOCK_HARDDISK, STOCK_HELP, STOCK_HOME, STOCK_INDENT,STOCK_INDEX, STOCK_ITALIC, STOCK_JUMP_TO,STOCK_JUSTIFY_CENTER, STOCK_JUSTIFY_FILL,STOCK_JUSTIFY_LEFT, STOCK_JUSTIFY_RIGHT,STOCK_MEDIA_FORWARD, STOCK_MEDIA_NEXT,STOCK_MEDIA_PAUSE, STOCK_MEDIA_PLAY,STOCK_MEDIA_PREVIOUS, STOCK_MEDIA_RECORD,STOCK_MEDIA_REWIND, STOCK_MEDIA_STOP,STOCK_MISSING_IMAGE, STOCK_NETWORK, STOCK_NEW,STOCK_NO, STOCK_OK, STOCK_OPEN, STOCK_PASTE,STOCK_PREFERENCES, STOCK_PRINT, STOCK_PRINT_PREVIEW,

    STOCK_PROPERTIES, STOCK_QUIT,STOCK_REDO,STOCK_REFRESH, STOCK_REMOVE, STOCK_REVERT_TO_SAVED,STOCK_SAVE, STOCK_SAVE_AS, STOCK_SELECT_COLOR,STOCK_SELECT_FONT, STOCK_SORT_ASCENDING,STOCK_SORT_DESCENDING, STOCK_SPELL_CHECK, STOCK_STOP,STOCK_STRIKETHROUGH, STOCK_UNDELETE, STOCK_UNDERLINE,STOCK_UNDO, STOCK_UNINDENT, STOCK_YES, STOCK_ZOOM_100,STOCK_ZOOM_FIT, STOCK_ZOOM_IN, STOCK_ZOOM_OUT, terp-account, terp-crm, terp-mrp, terp-product, terp-purchase, terp-sale, terp-tools, terp-administration, terp-hr, terp-partner, terp-project, terp-report,terp-stock

    Groups: Especifica los grupos que pueden ver el men

    Sintaxis para un men:

    Para la vista creada en el capitulo anterior se agrega un men raz (figura 13)con las siguientes lneas:

    Y los submens (figura 3):

  • 5/21/2018 Open Erp Tutorial Basico

    28/42

    28

    Vista:

    Figura 13. Mens

    6.2. Acciones

    Las acciones determinan el comportamiento del sistema en respuesta a lasacciones de usuario, las tipos de acciones son:

    Window: Abren una nueva ventana Report: Imprimen un reporte Custom Report: Personaliza los reportes Wizard: Iniciar un Wizard Execute: Ejecutar un mtodo del lado del servidor Group: Rene algunas acciones en un grupo

    A continuacin se construye una nueva accin para la vista form y tree del objetomotion.pelicula que creara la entrada para el formulario.

    6.2.1. Acciones Form:

    Nueva pel i cul a

    mot i on. pel i cul a f orm f orm, t r ee

    Enlace entre la accin y el submen:

    par ent ="mot i on. menu_r ai z_mot i on" / >

    6.2.2. Acciones Tree:

    Todas l as pel i cul as mot i on. pel i cul a t r ee t r ee, f orm [ ]

    Enlace entre la accin y el submen:

  • 5/21/2018 Open Erp Tutorial Basico

    29/42

    29

    6.2.3. Archivo motion_view.xml:

    mot i on. pel i cul a. f ormmoti on. pel i cul af orm

    Nueva pel i cul amoti on. pel i cul af ormf orm, t r ee

    moti on. pel i cul a. t r eemoti on. pel i cul at r ee

    Al l Pel i cul asmoti on. pel i cul af or mt r ee, f orm

  • 5/21/2018 Open Erp Tutorial Basico

    30/42

    30

    [ ]

    NOTA: Para probar mdulos nuevos en Open ERP se debe reiniciar elservidor, el programa se encuentra localizado en la carpeta server/service.Despus de realizar esto se debe actualizar la lista de modulo, finalmente seinstala el modulo. En la versin 5.0.7 es posible actualizar la lista de mdulossin reiniciar el servidor.

    7. HERRAMIENTAS DE MODELADO (DIA UML)

    DIA es un programa de propsito general para la creacin de diagramas, desarrolla-da como parte del proyecto GNOME bajo licencia GPL. Est concebido de forma

    modular, con diferentes paquetes de formas para diferentes necesidades.

    Se puede utilizar para dibujar diferentes tipos de diagramas. Actualmente se incluyen

    diagramas entidad-relacin, diagramas UML, diagramas de flujo, diagramas

    de redes, diagramas de circuitos elctricos, etc. Nuevas formas pueden ser fcilmen-

    te agregadas, dibujndolas con un subconjunto de SVG e incluyndolas en un archi-

    vo XML.

    El formato para leer y almacenar grficos es XML (comprimido con gzip, para ahorrar

    espacio). Puede producir salida en los formatos EPS, SVG y PNG.

    Tambin conviene recordar que Dia, gracias al paquete dia2code, puede generar el

    esqueleto del cdigo a escribir, si utilizramos con tal fin un UML.

    Esta herramienta tambin puede generar mdulos Open ERP agregando el plugin(codegen_openerp.py) que permite exportar diagramas de clases.

    7.1. Instalacin de Dia UML

    Instalar Phyton2.3 o Phyton2.4 Descargar alguna de las ltimas versiones de Dia con soporte para Python Agregar el complemento para Python durante la instalacin de Dia Descargar el plugin codegen_openerp.py y descomprimirlo en la carpeta

    C:\Archivos de programa\Dia o donde tengas instalado Dia. Puedes des-cargar el plugin del grupo de google:http://groups.google.com.co/group/openerpamerica

    http://groups.google.com.co/group/openerpamericahttp://groups.google.com.co/group/openerpamericahttp://groups.google.com.co/group/openerpamerica
  • 5/21/2018 Open Erp Tutorial Basico

    31/42

    31

    8. MODELADO DE CLASES

    Como se explico anteriormente es muy til utilizar Dia para crear mdulosOpen ERP, debido a que el plugin genera todos los componentes bsicos deun modulo, si se desean crear reportes, flujos de trabajo o mtodos para lasclases se debe aadir el cdigo y realizar todos los cambios pertinentes. De

    tal manera que para explicar un poco el manejo de Dia se creara el modulomotion que se vena trabajando anteriormente:

    Primero se debe configurar DIA para utilizar diagramas UML comomuestra la figura 14.

    Figura 14. Seleccin de diagramas UML para trabajar con clases

    Se debe arrastra el icono de las clases agregando todas las que sean

    necesarias, en la figura 15 se muestra la ventana donde deben ir laconfiguracin de la clase, atributos, operaciones, plantillas y estilo.Para crear mdulos solo se necesitan los atributos. El nombre de laclase debe ser genrico y sin maysculas, en Open ERP se utiliza elpunto para indicar pertenencia entre el modulo y sus clases (relacionesde clases), El estereotipo es el men donde aparecer nuestro objeto,adicionalmente se pueden agregar comentarios que permitedocumentar nuestro cdigo.

  • 5/21/2018 Open Erp Tutorial Basico

    32/42

    32

    Figura 15. Asignando nombre y estereotipos de una clase

    Despus de bautizar nuestra clase se procede a agregar los atributoscomo muestra la figura 6, son simplemente los campos del diccionariocolumns.

    Figura 16. Campos del atributo _columns

  • 5/21/2018 Open Erp Tutorial Basico

    33/42

    33

    Se puede agregar (no es necesario) relaciones entre nuestras clasecomo muestra la figura 17.

    Figura 17. Relaciones entre clases

    Se debe exportar el diagrama como un modulo Open ERP comomuestra la figura 18

    Figura 18. Exportacin de un diagrama como modulo Open ERP

    NOTA: Algunas veces se debe revisar el cdigo generado por Dia,

    debido a que se puede generar el cdigo en desorden, por ejemplo en

  • 5/21/2018 Open Erp Tutorial Basico

    34/42

    34

    una relacin many2one primero debe existir la clase relacionada antesde crear la relacin. En nuestro caso primero debe existirmotion.genero y despus motion.pelicula, tambin es aconsejablereiniciar Dia cuando se haga la exportacin debido a que se haidentificado un error cuando se han realizado ms de una exportacinya que se replica el cdigo (este error puede ser corregido en

    versiones posteriores por lo que esta nota puede no ser necesaria enalgunos casos).

    Finalmente se puede instalar el modulo importando desde Open ERPcomo muestra la figura 19.

    Figura 19. Importacin de mdulos en Open ERP

    9. RELACIONES

    Como se explico en el sistema de archivos los objetos pueden establecer relacionesentre s por medio de uno o varios campos del atributo columns. En este captulo semostrara algunos ejemplos en el modulo que se viene trabajando.

    9.1. Relacin many2one

    Se empieza por establecer un objeto relacionado con una pelcula, en este casoel gnero de la pelcula, de muchos gneros hay una que pertenece a la pelcula(una pelcula puede estar relacionada con varios gneros de varias formas, sinembargo esto depende del punto de vista), por lo tanto es una relacin

    many2one:

    Archivo motion.py:

    1 from osv import fields, osv2 cimport time

    3 class motion_genero(osv.osv):4 _name = 'motion.genero' 5 _desciption = 'Genero'6 _columns = {

    5 'name':fields.char('Codigo',size=30,required=True)

    7 'gen': fields.char('Genero', size=30, required=True),8 }9 _sql_constraints = [

    10 ('name_uniq', 'unique (name)',11 'El nombre del codigo debe ser unico !'),12 ('gen_uniq', 'unique (gen)',

  • 5/21/2018 Open Erp Tutorial Basico

    35/42

    35

    13 'El nombre del genero debe ser unico !')14 ]

    15 motion_genero()

    1617

    18 class motion_pelicula(osv.osv):

    19 _name = 'motion.pelicula' 20 _description = 'Pelicula'21 _columns = {

    22 'nombre_d': fields.char('Nombre director', size=30, required=True),23 'nombre': fields.char('Nombre pelicula', size=30, required=True),

    24 'fecha': fields.date('Fecha de adquisicion', required=True),25 'costo_a': fields.integer('Costo alquiler'),26 'costo': fields.integer('Costo de la pelicula'),27 'codigo': fields.integer('Codigo', required=True),28 'numero': fields.integer('Numero de copias', required=True),29 'gen': fields.many2one('motion.genero',Genero,

    required=True),

    30 }31 _defaults = {32 'fecha': lambda *a : time.strftime("%Y-%m-%d"),

    33 }34 mt.pelicula()

    9.1.1. Explicacin y consideraciones:

    Lnea Explicacin Consideraciones9-14 El campo _sql_constraints perime

    restringir la base de datos, en estecaso no se permiten datos repetidosen los campos

    29 Relacin many2one. Este campotiene una relacin de muchos a uno,sea que de muchos gneros, hayuno que pertenece a nuestrapelcula, tambin tenemos queagregar el campo a la vistas

    IMPORTANTE: Es muyimportante crear primeroel objeto con el que seestablece la relacin ydespus el objetorelacionado cuando seest trabajando con uncampo many2one, de locontrario Open ERParrojara un error en lainstalacin debido a quese est accediendo a unarelacin entre un objetoque aun no existe

    9.1.2. Vista del objeto relacionado:

    mot i on. gener o. t r ee

    mot i on. gener o t r ee

    mot i on. gener o. f orm

  • 5/21/2018 Open Erp Tutorial Basico

    36/42

    36

    mot i on. gener o f orm

    Gener o

    i r . acti ons. act_wi ndow mot i on. gener o f orm

    Nota: Agregar el anterior cdigo a archivo xml de la vista original (El men yase encuentra creado*), tambin se puede agregar la lnea; , a la vista del formulario de las pelculas.

    9.2. Relacin one2many

    Para la relacin one2many es la contraria a la many2one, esto significa que haymuchos objetos que tienen relacin con uno en especfico. Se mostrara unejemplo; suponga que un cliente de pelculas quisiera ver cuntas pelculas tienealquiladas, debe aparecer entonces listadas estas pelculas en la vista de unusuario, el modelo est representado por el diagrama de clases de la figura 20:

    Figura 20. Relacin one2many entre la clase motion.cliente y motion.pelicula

  • 5/21/2018 Open Erp Tutorial Basico

    37/42

    37

    Como muestra la muestra la anterior figura, existen realmente dos relacionesuna relacin one2many entre motion.cliente y motion.pelicula, y otra relacindbil many2one entre motion.pelicula y motion.cliente, esta relacin es dbilporque el campo no es requerido para establecer la relacin one2many, sinembargo debe estar presente. Al generar el modulo con Dia se puede eliminarel campo cliente_id de la vista de motion.pelicula, la vista del cliente se

    muestra en la figura 21.

    Figura 21. Vista de la pantalla de un cliente

    Como muestra la figura 21 se creara un listado de pelculas para ese cliente.

    10. HERENCIA

    10.1. Herencia de objetos

    En Open ERP existen tres tipos de herencia, herencia por prototipo, por extensin ypor delegacin (herencia mltiple), todas son completamente diferentes yconstituyen una gran herramienta para el desarrollo de los mdulos en Open ERP.

    En la herencia por prototipo y por extensin se debe agregar el siguiente atributo:

    _i nher i t =' obj ect . name'

    Donde object.name es el objeto del cual se hereda. Veamos los tipos de herencia:

    10.1.1. Herencia por extensin

    Al igual que en programacin orientada a objetos el olas nuevas clases creadasheredan los atributos y los mtodos de la superclase padre, sin embargo ladiferencia radica en que el objeto afectado es el padre y no el hijo, ejemplo:class res_partner(osv.osv):

    _name = 'res.partner'

    _inherit="res.partner"

    _columns = {'codEmpresaCliente': fields.integer('Codigo Empresa Cliente',size=4),

    'nit': fields.char('NIT',size=10),'ciudades_cod_dane_ciudad': fields.integer('Codigo de Ciudades',size=3),

  • 5/21/2018 Open Erp Tutorial Basico

    38/42

    38

    'dv': fields.integer('Digito de Verificacion',size=3),

    'tel1': fields.char('Telefono 1',size=16),

    'tel2': fields.char('Telefono 2',size=16),

    'cel': fields.char('Celular',size=16),'email': fields.char('Email',size=100),'fax': fields.char('FAX',size=100),'direccion': fields.char('Direccion',size=200),

    'autoretenedor': fields.boolean('Autoretenedor'),'granContribuyente': fields.boolean('Gran Contribuyente'),

    'diponibilidad': fields.boolean('Disponibilidad'),'es_empleado': fields.boolean('Es Empleado'),

    }

    res_partner()

    En el anterior ejemplo se puede observar el uso del campo _inherit, el cualespecifica la superclase de la cual se hereda.

    Es importante apreciar que el campo _name tiene el mismo valor que elcampo _inherit, sin embargo el nombre general de la clase puede ser dife-rente o igual a la clase original sin afectar el resultado de la operacin (heren-cia). Con la herencia establecida se especifica que los nuevos campos del

    atributo _columns creados en la nueva clase podrn ser vistos en las vistasform y tree de la clase original (superclase), En el ejemplo todos los campossern agregados a la superclase, cabe resaltar que para que los campos seanvisibles en la vista se debe heredar la vista de la superclase en el archivo. xml y agregar estos campos. Las figura 22 muestra la vistaantes y la figura 23 despus de la herencia

    Figura 22. Vista web del objeto res.partner antes de instalar la herencia

  • 5/21/2018 Open Erp Tutorial Basico

    39/42

    39

    Figura 23. Vista web del objeto res.partner despus de instalar el modulo que contiene la herencia

    10.1.2. Herencia por protot ipo

    En este tipo de herencia la diferencia radica en que la nueva clase copia todos

    los atributos y mtodos de su padre (superclase), ejemplo:cl ass other_mat eri al ( osv. osv) :

    _name = ' ot her . mat er i al '_i nher i t = ' net wor k. mat er i al '_col umns = {

    ' manuf _war r ant y' : f i el ds. bool ean( ' Manuf act ur er war r ant y?' ) ,}_def aul t s = {

    ' manuf _warr ant y' : l ambda *a: Fal se,}

    ot her_mat eri al ( )

    En este ejemplo el campo _inherit y _name son diferentes debido a que la

    tabla (el objeto nuevo) es el que est operando y no su padre, por lo tanto susatributos y mtodos no sern reconocidos en las vistas de la superclase.

    10.1.3. Herencia por delegacin

    La herencia por delegacin es parecida a la herencia mltiple de c++, en estecaso el objeto heredad de mltiples tablas, la tcnica cosiste en agregar una co-lumna a la tabla al objeto heredado. Estas columnas guardaran una clave fora-nea (id de otra tabla). Ejemplo:

    cl ass t i ny_obj ect( osv. osv)_name = ' t i ny. obj ect '_t abl e = ' t i ny_obj ect '_i nher i t s = {

    ' t i ny. obj ect _a' : ' obj ec t _a_ i d' ,' t i ny. obj ect _b' : ' obj ec t _b_ i d' ,. . . ,' t i ny. obj ect_n' : ' obj ect_n_ i d'

    }( . . . )

    Los valores object_a_id, object_b_id, object_n_id son de tipo string y deter-mina el titulo de las columnas las cuales son las claves forneas de ti-ny.object_a, tiny.object_n que son guardadas.

  • 5/21/2018 Open Erp Tutorial Basico

    40/42

    40

    El objeto tiny.object hereda todos las columnas y mtodos de los n objectos ti-ny.object_a, tiny.object_n.

    10.2. Herencia de vistas

    Cuando se crean objetos heredades a veces es necesario modificar la vista delobjeto por lo tanto es necesario heredar tambin la vista de la superclase, as sepuede agregar, quitar o modificar los campos que se deseen. Ejemplo:

    r es. part ner. f orm. i nheri t r es. par t ner f orm

    Es posible anexar o editar el contenido de un tag. Los tag tienen algunosatributos que permiten especificar la posicin en la cual se desean hacermodificaciones, en el ejemplo se agrega una pgina a la vista res.partner.formen el modulo base.

    Se pueden utilizar los siguientes valores para indicar la posicin:

    inside (default): Este valor indica que se anexara un tag dentro. after: Se agrega un contenido despus del tag before: Se agregara un contenido despus del tag replace: Se remplazara el contenido de un tag

    Ejemplos de herencias de vistas

    Ejemplo:

    r es. par t ner . f orm. i nheri t 1r es. par t ner f orm

    Reemplazara el contenido de la pagina Extra info por el camporelation_ids.

    Ejemplo:

    res.partner.form.inherit2

    res.partner

    f orm

  • 5/21/2018 Open Erp Tutorial Basico

    41/42

    41

    Elimina un campo de la vista form mediante el argumento replace

    Ejemplo:

    res.partner.form.inherit3

    res.partner

    form

    Agrega el campo relation_ids antes del campo especificado lang

    Ejemplo:

    r es. par t ner . f ormr es. par t ner

    f orm

    En este ejemplo se crea una nueva pgina antes de la pgina general

    Ejemplo:

    r es. par t ner . f orm. i nheri t 4r es. par t ner f orm

    Agrega el campo relation_ids despus del campo lang

  • 5/21/2018 Open Erp Tutorial Basico

    42/42

    42

    11. BIBLIOGRAFA

    Open ERP. 2001. ltima fecha de actualizacin: 2001. Fecha de acceso:27 de Marzo de 2010.http://www.openerp.com/

    Spain OpenERP Alliance. Fecha de acceso: 30 de Marzo de 2010.

    http://www.openerpspain.com Wikipedia. 2010. ltima fecha de actualizacin: 24 Marzo 2010. Fecha de

    acceso: 4 de Marzo de 2010.http://es.wikipedia.org/wiki/OpenERP Wikipedia. 2010. ltima fecha de actualizacin: 11 Marzo 2010. Fecha de

    acceso: 7 de Marzo de 2010.http://en.wikipedia.org/wiki/Dia_(software) www.aulaerp.com.. Fecha de acceso: 17 de Marzo de 2010. http://groups.google.com.co/group/openerpamerica.visita este portal para

    ms informacin acerca de este tutorial

    http://www.openerp.com/http://www.openerp.com/http://www.openerp.com/http://www.openerpspain.com/http://www.openerpspain.com/http://es.wikipedia.org/wiki/OpenERPhttp://es.wikipedia.org/wiki/OpenERPhttp://es.wikipedia.org/wiki/OpenERPhttp://en.wikipedia.org/wiki/Dia_(software)http://en.wikipedia.org/wiki/Dia_(software)http://en.wikipedia.org/wiki/Dia_(software)http://www.aulaerp.com/http://www.aulaerp.com/http://groups.google.com.co/group/openerpamericahttp://groups.google.com.co/group/openerpamericahttp://groups.google.com.co/group/openerpamericahttp://www.aulaerp.com/http://en.wikipedia.org/wiki/Dia_(software)http://es.wikipedia.org/wiki/OpenERPhttp://www.openerpspain.com/http://www.openerp.com/