SlideShare una empresa de Scribd logo
Introducción a la
programación en
Tryton
¿Qué es Tryton?
● Es una plataforma de aplicaciones de propósito general de
alto nivel
● Publicada bajo la licencia GPL-3
● Escrita en Python
● Utiliza PostgreSQL como motor de base de datos.
● Es la base fundamental de una solución empresarial
completa que proporciona modularidad, escalabilidad y
seguridad.
¿Qué es Tryton?
Arquitectura cliente – servidor de 3 niveles
¿Qué es Tryton?
Cliente escritorio
Gtk
Navegador
web
Servidor Tryton
PostgreSQL
gUnicorn
SAO
Comunidad
www.tryton.org/es/communidad.html
Comunidad
Documentación
http://doc.tryton.org/4.0/
Comunidad
Estructura básica de un
módulo
nombre_del_modulo
    |_ doc
    |_ locale
    |_ tests
    |_ view
        party_form.xml
        party_tree.xml
    __init__.py
    party.py
    party.xml
    tryton.cfg
Estructura básica de un módulo
Contenido estándar del fichero tryton.cfg
[tryton]
version=3.8.0
depends:
    ir
    res
xml:
    party.xml
Estructura básica de un módulo
Arquitectura Modelo, Vista,
Controlador
Arquitectura Modelo, Vista, Controlador
Modelo: Modelos Tryton
Clases Python mapeadas a tablas PostgreSQL
Creación/actualización automática tablas
Los campos se definen como atributos de la clase
Arquitectura Modelo, Vista, Controlador
Modelo: Modelos Tryton
from trytond.model import ModelView, ModelSQL, fields
__all__ = ['Party']
class Party(ModelSQL, ModelView):
    "Party"
    __name__ = "party.party"
    name = fields.Char('Name')
    code = fields.Char('Code')
Fichero python (party.py)
Arquitectura Modelo, Vista, Controlador
Modelo: Modelos Tryton
from trytond.pool import Pool
from .party import *
def register():
    Pool.register(
        Party,
        module='party', type_='model')
La clase se debe registrar en el pool.
Fichero __init__.py
Arquitectura Modelo, Vista, Controlador
Modelo: Campos Tryton
• Booleano
• Entero, flotante, numérico
• Carácter, texto, selección
• Fecha, fecha y hora, hora
• Referencia, muchos a uno, uno a muchos, uno a
uno, muchos a muchos
• Funcionales, propiedades, diccionario, binario
Arquitectura Modelo, Vista, Controlador
Modelo: Herencia
• Tryton permite realizar herencia de clases para
ampliar las funcionalidades básicas de los modelos
estandard
•
Arquitectura Modelo, Vista, Controlador
Modelo: Herencia
from trytond.model import fields
from trytond.pool import Poolmeta
from trytond.pyson import Eval
__all__ = ['Party']
class Party:
    __metaclass__ = PoolMeta
    __name__ = "party.party"
    active = fields.Boolean('Active', select=True)
    addresses = fields.One2Many('party.address', 'party',
        'Addresses', states={
            'readonly': ~Eval('active', True),
            }, depends=['active'])
Arquitectura Modelo, Vista, Controlador
Vista: Archivos XML
Las vistas se utilizan para mostrar los registros a los
usuarios.
Existen diferentes tipos de vistas: listas, árboles,
formularios, gráficos, calendario,...
Las vistas se abren mediante acciones, y se guardan
en archivos XML dentro del directorio view
Arquitectura Modelo, Vista, Controlador
Vista: Archivos XML
Las vistas se definen en archivos XML junto con las
acciones, los menús, los permisos, datos, etc.
(fichero party.xml)
<record model="ir.ui.view" id="party_view_form">
    <field name="model">party.party</field>
    <field name="type">form</field>
    <field name="name">party_form</field>
</record>
Arquitectura Modelo, Vista, Controlador
Vista: Archivos XML
Vista de tipo formulario (fichero party_form.xml en el
directorio view)
<form string="Party">
    <label name="name"/>
    <field name="name"/>
    <notebook colspan="6">
        <page string="General">
            <label name="code"/>
            <field name="code"/>
        </page>
    </notebook>
</form>
Arquitectura Modelo, Vista, Controlador
Vista: Archivos XML
Vista de tipo lista (fichero party_tree.xml en el
directorio view)
<tree string="Taxes" sequence="sequence">
    <field name="name"/>
    <field name="code"/>
</tree>
Arquitectura Modelo, Vista, Controlador
Vista: extensión de las vistas
Las vistas pueden extenderse mediante herencia
<record model="ir.ui.view" id="party_view_form">
    <field name="model">party.party</field>
    <field name="inherit" ref="party.party_view_form"/>
    <field name="name">party_form</field>
</record>
Arquitectura Modelo, Vista, Controlador
Vista: extensión de las vistas
<data>
    <xpath expr="/form/notebook/page/field[@name='code']" 
            position="after">
        <label name="active"/>
        <field name="active"/>
        <label name="addresses"/>
        <field name="addresses"/>
    </xpath>
</data>
Arquitectura Modelo, Vista, Controlador
Controlador: Código Python
● Lógica: Validación de datos, cálculos, …
● Flujos de trabajo: Estados, transiciones, roles, …
● Asistentes: Para instalar módulos, realizar
acciones, informes, ...
Arquitectura Modelo, Vista, Controlador
Controlador: Métodos estáticos
Métodos que se aplican a todos los registros del
modelo.
@staticmethod
def default_active():
    return True
Arquitectura Modelo, Vista, Controlador
Controlador: Métodos de clase
Métodos que se aplican a un conjunto de registros
del modelo.
@classmethod
def copy(cls, parties, default=None):
    if default is None:
        default = {}
    default = default.copy()
    default['code'] = None
    return super(Party, cls).copy(parties, default=default)
Arquitectura Modelo, Vista, Controlador
Controlador: Métodos de instancia
Métodos que se aplican a un único registro del
modelo.
def get_rec_name(self, name):
    code = self.code
    if code:
        return u"[%s] %s" % (code, self.name)
    return self.name
Arquitectura Modelo, Vista, Controlador
http://www.NaN-tic.com
Jesús Martín Jiménez
jesus@nan-tic.com
Introducción a la programación en Tryton

Más contenido relacionado

PDF
Introduction to Oracle Fusion BIP Reporting
PPTX
Oracle BI publisher intro
PPT
Oracle Forms: Messages
PPTX
Sql server basics
PPS
Oracle XML Publisher / BI Publisher
PDF
Tips Tricks and Little known features in SAP ASE
PPTX
DB2 on Mainframe
PPS
Oracle Database Overview
Introduction to Oracle Fusion BIP Reporting
Oracle BI publisher intro
Oracle Forms: Messages
Sql server basics
Oracle XML Publisher / BI Publisher
Tips Tricks and Little known features in SAP ASE
DB2 on Mainframe
Oracle Database Overview

La actualidad más candente (20)

PPTX
Application Integration: EPM, ERP, Cloud and On-Premise – All options explained
PDF
Db2 for z os trends
PDF
One PDB to go, please!
PDF
DB Time, Average Active Sessions, and ASH Math - Oracle performance fundamentals
PDF
How to deploy laravel application on aws ec2
PPTX
Enable GoldenGate Monitoring with OEM 12c/JAgent
PPTX
06_DP_300T00A_Automate.pptx
PPTX
Oracle architecture ppt
PPT
Producing Readable Output with iSQL*Plus - Oracle Data Base
PDF
Oracle fccs creating new application
PDF
Breve resumen sobre consultas básicas en MySQL
PDF
MS-SQL SERVER ARCHITECTURE
PPT
03 Writing Control Structures, Writing with Compatible Data Types Using Expli...
PDF
Oracle statistics by example
DOCX
Base de datos orientada a objetos
PPTX
Expose your data as an api is with oracle rest data services -spoug Madrid
PPT
Modelo de datos
PDF
Oracle HCM Cloud Core HR Workforce Structures Table Relationships
PPTX
Azure Fundamentals || AZ-900
PPT
Introduction to Oracle
Application Integration: EPM, ERP, Cloud and On-Premise – All options explained
Db2 for z os trends
One PDB to go, please!
DB Time, Average Active Sessions, and ASH Math - Oracle performance fundamentals
How to deploy laravel application on aws ec2
Enable GoldenGate Monitoring with OEM 12c/JAgent
06_DP_300T00A_Automate.pptx
Oracle architecture ppt
Producing Readable Output with iSQL*Plus - Oracle Data Base
Oracle fccs creating new application
Breve resumen sobre consultas básicas en MySQL
MS-SQL SERVER ARCHITECTURE
03 Writing Control Structures, Writing with Compatible Data Types Using Expli...
Oracle statistics by example
Base de datos orientada a objetos
Expose your data as an api is with oracle rest data services -spoug Madrid
Modelo de datos
Oracle HCM Cloud Core HR Workforce Structures Table Relationships
Azure Fundamentals || AZ-900
Introduction to Oracle
Publicidad

Destacado (20)

ODP
Cómo aprovechar tu ERP
PDF
Rendimiento del sistema Tryton
PDF
Logistica en Tryton
PDF
Seguridad en Tryton
PDF
ERPs en codi obert: una alternativa estratègica per a la gestió empresarial
PDF
Reporting en tryton
PDF
Tryton como backend de páginas web
PDF
BaBI - Basic Business Intelligence for OpenERP
PDF
Tryton
PDF
Implantación de almacenes y producción
PDF
10 coses que has de saber abans d’escollir una eina de gestió empresarial
PDF
Kafkadb
PDF
Introducción a tryton
PDF
Noves tendències en eines de gestió empresarial de codi obert
PDF
Application Performance Monitoring in Tryton
PDF
Durabilitat de la informació (i la inversió)
DOC
Plantilla webquest wb word2
PPTX
Centro de atencion y apoyo para pacinetes pre y pos quirurgicos en la ciudad ...
PPS
PPT
Planificació del treball extra.pptx
Cómo aprovechar tu ERP
Rendimiento del sistema Tryton
Logistica en Tryton
Seguridad en Tryton
ERPs en codi obert: una alternativa estratègica per a la gestió empresarial
Reporting en tryton
Tryton como backend de páginas web
BaBI - Basic Business Intelligence for OpenERP
Tryton
Implantación de almacenes y producción
10 coses que has de saber abans d’escollir una eina de gestió empresarial
Kafkadb
Introducción a tryton
Noves tendències en eines de gestió empresarial de codi obert
Application Performance Monitoring in Tryton
Durabilitat de la informació (i la inversió)
Plantilla webquest wb word2
Centro de atencion y apoyo para pacinetes pre y pos quirurgicos en la ciudad ...
Planificació del treball extra.pptx
Publicidad

Similar a Introducción a la programación en Tryton (20)

PDF
Django y Python para todos
PDF
Views 3: Qué hay de nuevo
ODP
PDF
Metodología a la programacion 2025 facultad de ingeñeria unju
PDF
Programación Políglota en la JVM
PDF
Qué puede aprender Drupal de Plone
PDF
Tutorial de cakePHP itst
PDF
Prentice hall piensa en java (bruce eckel) - segunda edicion
DOC
Informe Proyecto Final
KEY
Introducción a DJango
ODP
Introducción a Kohana Framework
PPT
Curso de .NET developer gestion de proyectos
PDF
Aplicaciones Web con Drupal
PPT
Django - Plataforma de sitios web
PDF
6 Curso de POO en Java - clases y objetos
PDF
1 Resumen General Ssd5
 
Django y Python para todos
Views 3: Qué hay de nuevo
Metodología a la programacion 2025 facultad de ingeñeria unju
Programación Políglota en la JVM
Qué puede aprender Drupal de Plone
Tutorial de cakePHP itst
Prentice hall piensa en java (bruce eckel) - segunda edicion
Informe Proyecto Final
Introducción a DJango
Introducción a Kohana Framework
Curso de .NET developer gestion de proyectos
Aplicaciones Web con Drupal
Django - Plataforma de sitios web
6 Curso de POO en Java - clases y objetos
1 Resumen General Ssd5
 

Más de NaN-tic (16)

PDF
Tryton Unfrequently Given Answers
PDF
Arquitectura de PostgreSQL
PDF
ViDSigner & Tryton ERP: integración de firma digital segura
PDF
Apps móviles para la gestión de almacenes
PDF
Gestión de poyectos de instalaciones con tryton erp
PDF
La seguretat a Tryton
PDF
PostgreSQL: present and near future
PDF
Invoke y como poner en marcha un entorno de trabajo
PDF
Contratos y servicios de facturacion recurrente
PDF
Produccion en Tryton
PDF
BaBI - El motor de anàlisis de negocio
PDF
Com aprofitar el teu ERP
PDF
NaN-tic Bitz: Del negoci als bits
PDF
Tryton
PDF
Començar des de zero sense finançament
PDF
Vertical para granjas de crianza y engorde OpenERP
Tryton Unfrequently Given Answers
Arquitectura de PostgreSQL
ViDSigner & Tryton ERP: integración de firma digital segura
Apps móviles para la gestión de almacenes
Gestión de poyectos de instalaciones con tryton erp
La seguretat a Tryton
PostgreSQL: present and near future
Invoke y como poner en marcha un entorno de trabajo
Contratos y servicios de facturacion recurrente
Produccion en Tryton
BaBI - El motor de anàlisis de negocio
Com aprofitar el teu ERP
NaN-tic Bitz: Del negoci als bits
Tryton
Començar des de zero sense finançament
Vertical para granjas de crianza y engorde OpenERP

Último (20)

PPTX
ABDOMEN ABIERWWDEDEFDWDXEWdedwqddeqwdTO.pptx
PDF
Rendicion publica de cuentas inicial 2025 de la procuraduria
DOCX
3° SES P.S. DIALOGAMOS SOBRE LOS PRINCIPALES HECHOS DEL IMPERIO INCAICO-LUNES...
PDF
CLASE 4.pdfkjljbjkbkjbihviuvvuuuuuuuuuuuu
PPT
TALLERLIDERAZGO.ppt Competencias Gerenciales
PPTX
emprendedor social diapositivas de jhonatan del jesus
PPTX
Presentación Plan de Negocio Moderno Morado y Blanco.pptx
PPTX
FORMATO DE PRESENTACION EMPRESARIAL.pptx
PPTX
TRABAJO FINAL-EMPRESA CARNES FRIAS CON CORRECCIONES.pptx
PPTX
criminologia.pptxcriminologia policiales
PPTX
6. El proceso de la planificación.pptx6. El proceso de la planificación.pptx
PDF
UP digital strategy v 2.0 s1.pdf solo chicos bien
PDF
EL ESTUDIO DE MERCADO PROYECTO INVERSION.pdf
PPTX
EXPO ADMINISTRACION ESTRATEGICA HISTORIA Y EVOLUCIÓN DE LA ADMINISTRACIÓN
PPTX
auditoria ambiental y su uso en la practica diaria
PPTX
Algunos aspectos fundamentales del Derecho Corporativo
PPTX
SESIÓN17SESIÓN17SESIÓN17SESIÓN17SESIÓN17SESIÓN17SESIÓN17SESIÓN17SESIÓN17SESIÓ...
PPTX
GESTION DE RECURSOS HUMANOS - MATERIAL ENTREGADO EN UTN FRC
PDF
CV Carlos Lira Zalaquett_Agosto 2025 - Asesor Técnico Empresarial / Facilitador
PDF
D08_SESION 15 y 16_2024.12.06_ISO-26000.pdf
ABDOMEN ABIERWWDEDEFDWDXEWdedwqddeqwdTO.pptx
Rendicion publica de cuentas inicial 2025 de la procuraduria
3° SES P.S. DIALOGAMOS SOBRE LOS PRINCIPALES HECHOS DEL IMPERIO INCAICO-LUNES...
CLASE 4.pdfkjljbjkbkjbihviuvvuuuuuuuuuuuu
TALLERLIDERAZGO.ppt Competencias Gerenciales
emprendedor social diapositivas de jhonatan del jesus
Presentación Plan de Negocio Moderno Morado y Blanco.pptx
FORMATO DE PRESENTACION EMPRESARIAL.pptx
TRABAJO FINAL-EMPRESA CARNES FRIAS CON CORRECCIONES.pptx
criminologia.pptxcriminologia policiales
6. El proceso de la planificación.pptx6. El proceso de la planificación.pptx
UP digital strategy v 2.0 s1.pdf solo chicos bien
EL ESTUDIO DE MERCADO PROYECTO INVERSION.pdf
EXPO ADMINISTRACION ESTRATEGICA HISTORIA Y EVOLUCIÓN DE LA ADMINISTRACIÓN
auditoria ambiental y su uso en la practica diaria
Algunos aspectos fundamentales del Derecho Corporativo
SESIÓN17SESIÓN17SESIÓN17SESIÓN17SESIÓN17SESIÓN17SESIÓN17SESIÓN17SESIÓN17SESIÓ...
GESTION DE RECURSOS HUMANOS - MATERIAL ENTREGADO EN UTN FRC
CV Carlos Lira Zalaquett_Agosto 2025 - Asesor Técnico Empresarial / Facilitador
D08_SESION 15 y 16_2024.12.06_ISO-26000.pdf

Introducción a la programación en Tryton