Home

View/Open - Repositorio PUCE - Pontificia Universidad Católica del

image

Contents

1. Cuentas por pagar E Save Cancel 1 02 02 19 Fecha de Creacion 06 04 2014 14 03 20 Usuario Administrator Cliente Adan Ector Valle Alban 1 Descripcion Pago en Efectivo rs Fecha 06 04 2014 14 00 55 T Referencia de pago Tipo de Pago Efectivo v caja Registradora Cash EUR M Monto 334 00 interes Por Mora 000 A Detalle del Comprobante Cuotas a pagar to tort PENDIENTE DE PAGO FECHA DE PAGO VALOR APAGAR ABONADO INTERES POR MORA CANCELADO APAGAR CUOTA 2 de 36 334 00 0 00 0 00 334 00 334 00 0 00 0 00 Notas de Pago suma Total 334 00 Nuevo Pagado Anulado Figura 3 03 Cuentas por Pagar A Pontificia Universidad Cat lica del Ecuador Facultad de Ingenier a Escuela de Sistemas Andrea Garc a Torres P gina 52 Tema Desarrollo de un M dulo de Cr dito Automotriz en OpenERP para la Empresa Autov a S A del cant n Quito Provincia de Pichincha Historia de Usuario No 014 Inter s por Mora Acuerdo con el cliente El cliente necesita cargar el inter s de mora en las cuotas a pagar del cliente que no se han cobrado en el tiempo respectivo Implementaci n En esta historia de usuario el sistema carga el inter s si el inter s es diferente de cero 3 3 7 Pruebas de Aceptaci n El cliente determina diferentes situaciones para poner a prueba al momento que una historia de usuario se implementa se revisa si est correctamente imple
2. The action will be triggered if the user clicks on the account journal period n 3 When you declare wizard report or menus the ir values creation is automatically made with these tags e lt wizard gt e lt menuitem gt e lt report gt So you usually do not need to add the mapping by yourself 8 1 The Modules Introduction 65 Open Object Developer Book Release 1 0 66 Chapter 8 First Module to OpenERP CHAPTER NINE OBJECTS FIELDS AND METHODS 9 1 OpenERP Objects 9 1 1 Introduction All the ERP s pieces of data are accessible through objects As an example there is a res partner object to access the data concerning the partners an account invoice object for the data concerning the invoices etc Please note that there is an object for every type of resource and not an object per resource We have thus a res partner object to manage all the partners and not a res partner object per partner If we talk in object oriented terms we could also say that there is an object per level The direct consequences is that all the methods of objects have a common parameter the ids parameter This specifies on which resources for example on which partner the method must be applied Precisely this parameter contains a list of resource ids on which the method must be applied For example if we have two partners with the identifiers 1 and 5 and we want to call the res_
3. actual object id Field Name e where other object name is the other object which belongs to the relation relation object is the table that makes the link other object id and actual object id are the fields names used in the relation table Example category_id fields many2many res partner category Yes_partner_category_rel partner_id category_id Categories related Sometimes you need to refer the relation of a relation For example supposing you have objects City lt State lt Country and you need to refer Country in a City you can define a field as below in the City object country_id fields related state_id country_id type many2one relation module country string Country store False Functional Field A functional field is a field whose value is calculated by a function rather than being stored in the database Parameters fnct arg None fnct_inv None fnct_inv_arg None type green float black fnct_search None obj None method False store True where e type is the field type name returned by the function It can be any field type name except function e store If you want to store field in database or not Default is False e method whether the field is computed by a method of an object or a global function fnct is the function or method that will compute the field value It must have been declared bef
4. base FATE mies 173 Open Object Developer Book Release 1 0 Yes partner csv res partner address csv ly update_xml installable True active False The following module will import two different files e res partner csv a CSV file containing records of the res partner object e res partner address csv a CSV file containing records of the res partner address object Once this module is created you must load data from your old application to CSV file that will be loaded in Open ERP Open ERP has a builtin system to manage identifications columns of the original software For this exercice we will load data from another Open ERP database called old As this database is in SQL it s quite easy to export the data using the command line postgresql client psql As to get a result that looks like a CSV fiel we will use the following arguments of psql e A display records without space for the row separators e F set the separator character as e pset footer don t write the latest line that looks like 21 rows When you import a CSV file in Open ERP you can provide a id column that contains a uniq identification number or string for the record We will use this id column to refer to the ID of the record in the original application As to refer to this record from a many2one field you can use FIELD_NAME id Open ERP will re create the re
5. Important Fields are same as the Create Object 16 7 Multi Action This is the most interesting action which allows to execute the multiple server action on the same business operations Like if you want to print and send the email on confirmation of the invoice We need to create the 3 Server Actions for that e Print Invoice Invoice Confirmation Email e Multi Action The only problem with the Multi Action is that it will execute many actions at the server side but only one client action will be executed For example we would like to print report execute the wizard this 2 operation is not allowd in the one multi action 16 6 Write Object 167 Open Object Developer Book Release 1 0 nain nome Acoso ations oa fess See SSS Other Actions Configuration se Bemove Print Invoice Report Client Action Invoice Confirmation Email Email Only one client action will be execute last clinent action will be consider in case of multipis clinets actions Important Fields are Object Select the object on which we want to implement the Server Action when work flow will execute on this object Other Actions We need to select the server action in this fields we are free to select the as many as actions as we can Just we need to take care for the problem of the multi action other things is very easy Link it up with the Work flow The important things is to link the server action
6. args is a tuple of additional arguments e states a comma separated list of states from the state field or from the workflow in which the button must appear If the states attribute is not given the button is always visible e type this attribute can have 3 values workflow value by default the function to call is a function of workflow object the function to call is a method of the object action call an action instead of a function Example lt button name order_confirm states draft string Confirm Order icon gtk execute gt Label Adds a simple label using the string attribute as caption Example lt label string Test gt New Line Force a return to the line even if all the columns of the view are not filled in Example lt newline gt 10 6 Inheritance in Views When you create and inherit objects in some custom or specific modules it is better to inherit than to replace from an existing view to add modify delete some fields and preserve the others Example 10 6 Inheritance in Views 95 Open Object Developer Book Release 1 0 lt record model ir ui view id view_partner_form gt lt field name name gt res partner form inherit lt field gt lt field name model gt res partner lt field gt lt field name inherit_id ref base view_partner_form gt lt field name arch type xml gt lt notebook position inside gt lt page string Relations
7. inte xi os Ll update_xml custom_view xml active True installable True Note the active field becomes true Changing the main module file Now you need to update the custom py script to suit the needs of your module We suggest you follow the Flash tutorial for this or download the travel agency module from the 20 minutes tutorial page The documentation below is overlapping the two next step in this wiki tutorial so just consider them as a help and head towards the next two pages first The custom py file should initially look like this intentionally removing the comments from osv import osv fields class custom_material osv osv _name network material _inherit network material _columns _defaults custom_material The signs represent comments You ll have to remove them rename the class and its attributes to something like this from osv import osv fields class travel_hostel osv osv _name travel hostel _inherit res partner _columns rooms_id fields one2many travel room hostel_id Rooms quality fields char Quality size 16 _defaults travel_hostel Ideally you would copy that bunch of code several times to create all the entities you need travel_airport travel_room travel_flight This is what will hold the database structure of your objects but you don
8. type many2one relation account account e string Field label required e type required e relation name of the relation object 13 4 Add A New Wizard To create a new wizard you must e create the wizard definition in a py file wizards are usually defined in the wizard subdirectory of their module as in server bin addons module_name wizard your_wizard_name py e add your wizard to the list of import statements in the __init__ py file of your module s wizard subdirectory e declare your wizard in the database The declaration is needed to map the wizard with a key of the client when to launch which client To declare a new wizard you need to add it to the module_name_wizard xml file which contains all the wizard declarations for the module If that file does not exist you need to create it first Here is an example of the account_wizard xml file lt xml version 1 0 gt lt terp gt lt data gt lt delete model ir actions wizard search wiz_name like account gt lt wizard string Reconcile Transactions model account move line 134 Chapier 13 Creating Wizard The Process Open Object Developer Book Release 1 0 name account move line reconcile gt tring Verify Transac steptions model account move line lt wizard ame account move line check keyword tree_but_action gt lt wizard string Verify Transactions model accoun
9. Open Object Developer Book Release 1 0 SXW OpenOffice Template Tiny SXW2RML Script RML Template with expressions Tiny ERP Database OpenReport s RML2HTML Final HTML Final RML with expressions replaced by data Tiny ERP Report Engine OpenReport s RML2PDF Final PDF The SXW template file e We use a SXW file for the template which is the OpenOffice 1 0 format The template includes expressions in brackets or OpenOffice fields to point where the data from the Open ERP server will be filled in This document is only used for developers as a help tool to easily generate the RML file Open ERP does not need this SXW file to print reports The RML template e We generate a RML file from the SXW file using Open SXW2RML A RML file is a XML format that represent a PDF document It can be converted to a PDF after We use RML for more easy processing XML syntax seems to be more common than PDF syntax The report engine e The Open Report Engine process the RML file inserting data from the database at each expression in the RML file will be replaced by the name of the country of the partner of the printed invoice This report engine produce the same RML file where all expressions have been replaced by real data The final document e Finaly the RML file is converted to PDF or HTML according to the need using OpenReport s scripts 14 1 1 Creating a SXW You can des
10. fields char City Name size 30 required True text A text field with no limit in length 72 Syntax fields text Field Name Optional Parameters Chapter 9 Objects Fields and Methods Open Object Developer Book Release 1 0 date A date Syntax fields date Field Name Optional Parameters datetime Allows to store a date and the time of day in the same field Syntax fields datetime Field Name Optional Parameters binary A binary chain selection A field which allows the user to make a selection between various predefined values Syntax fields selection n Unconfirmed c Confirmed Field Name Optional Parameters Note Format of the selection parameter tuple of tuples of strings of the form key or value string_to_display Example Using relation fields many2one with selection In fields definitions add my_field fields many2one mymodule relation model Title selection _sel_func F And then define the _sel_func like this but before the fields definitions def _sel_func self cr uid context obj self pool get mymodule relation model ids obj search cr uid res obj read cr uid ids name id context res r id r name for r in res return res 9 7 Type of Fields 73 Open Object Dev
11. priority 0 change_default False size None ondelete setnull translate False select False xxargs 9 7 Type of Fields 9 7 1 Basic Types boolean 9 5 Inheritance by Delegation _inherits 71 Open Object Developer Book Release 1 0 A boolean true false Syntax fields boolean Field Name Optional Parameters integer An integer Syntax fields integer Field Name Optional Parameters float A floating point number Syntax fields float Field Name Optional Parameters Note The optional parameter digits defines the precision and scale of the number The scale being the number of dig its after the decimal point whereas the precision is the total number of significant digits in the number before and after the decimal point If the parameter digits is not present the number will be a double precision floating point number Warning these floating point numbers are inexact not any value can be converted to its binary representation and this can lead to rounding errors You should always use the digits parameter for monetary amounts Example rate fields float Relative Change rate digits 12 6 Optional Parameters char A string of limited length The required size parameter determines its size Syntax fields char Field Name size n Optional Parameters where n is an integer Example city
12. una multa por cualquier otro concepto Historia N021 Comprobante de Egresos El sistema emitir comprobantes de egreso relacionados a embargos por gastos varios Pontificia Universidad Cat lica del Ecuador Facultad de Ingenier a Escuela de Sistemas Andrea Garc a Torres P gina 43 Tema Desarrollo de un M dulo de Cr dito Automotriz en OpenERP para la Empresa Autov a S A del cant n Quito Provincia de Pichincha 3 2 1 5 Gestionar Reportes Se detallan las historias de usuario correspondientes al componente del sistema Gestionar Reportes Historia N022 Reportes para Administradores Gestionar los reportes para Contratos Activos Estado de Contratos Estado de Cuotas Clientes en Mora Listado de Egresos Historia N023 Cuadro Grafico de Reportes Dashboard El sistema permitir visualizar reportes gr ficos en el inicio del m dulo los reportes Solicitudes Pendientes Contratos con Pagos Pendientes Pagos Pendientes Contratos Embargados 3 2 1 6 Grupos de Usuario Se detallan las historias de usuario correspondientes al componente del sistema Grupos de Usuario Historia N024 Permisos de Acceso En esta historia de usuario se crear n cuatro grupos importantes para el manejo del sistema Log stica Cajero Gerencia Administraci n 3 2 2 Estimaciones de las Historias de Usuario En la programaci n extrema hay algunas maneras de estimar el tiempo necesario para elaborar una h
13. without demo WITHOUT_DEMO load demo data for a module use all for all modules u UPDATE update UPDATE update a module use all for all modules stop after init stop the server after it initializes debug enable debug mode S secure launch server over https instead of http smtp SMTP_SERVER specify the SMTP server for sending mail price_accuracy PRICE_ACCURACY specify the price accuracy 5 3 2 Database related options d DB_NAME database DB_NAME specify the database name r DB_USER db_user DB_USER specify the database user name w DB_PASSWORD db_password DB_PASSWORD specify the database pass word pg_path PG_PATH specify the pg executable path db_host DB_HOST specify the database host db_port DB_PORT specify the database port 5 3 3 Internationalization options Use these options to translate Tiny ERP to another language See i18n section of the user man ual Option I is mandatory LANGUAGE language LANGUAGE specify the language of the translation file Use it with i18n export and 118n import i18n export TRANSLATE_OUT export all sentences to be translated to a CSV file and exit i18n import TRANSLATE_IN import a CSV file with translations and exit modules TRANSLATE_MODULES specify modules to export Use in combina tion with 118n export 5 3 Command line options 33 Open Object Developer Book Release 1 0 5 4 OpenERP
14. True res communication2 states normal readonly False return res fields_view_get 84 Chapter 9 Objects Fields and Methods Open Object Developer Book Release 1 0 Description Signature def fields_view_get self cr uid view_id None view_type form con text toolbar False Parameters Result Example In membership module product product def fields_view_get self cr user view_id None view_type form context None toolbar False if product in context and context product membership_product model_data_ids_form self pool get ir model data search cr user model ir ui v resource_id_form self pool get ir model data membership_products_form membershi read cr user model_data_ids_form fields res_id name dict_model for i in resource_id_form dict_model i name i res_id if view_type form view_id dict_model membership_products_form else view_id dict_model membership_products_tree return super Product self fields_view_get cr user view_id distinct_field_get view_type context toolbar Description Signature def distinct_field_get self cr uid field value args offset 0 limit 2000 Parameters Result Example TODO 9 8 4 Methods concerning the name of the resources nam
15. lt document gt lt xsl template gt lt xsl template match id gt lt tr gt lt td gt lt xsl value of select ref gt lt td gt lt td gt lt para gt lt xsl valu lt tr gt lt xsl template gt lt xsl stylesheet gt Resulting RML file generated size 12 start 0 0 stop 1 0 gt start 0 0 stop 1 0 gt start 0 0 stop 1 1 gt style ids gt of select name gt lt para gt lt td gt 14 2 XSL RML reports 147 Open Object Developer Book Release 1 0 lt xml version 1 0 gt lt document gt lt story gt lt blockTable colWidths 2cm 6cm repeatRows 1 style ids gt lt SL gt lt td t 1 gt Ref lt td gt lt td t 1 gt Name lt td gt lt tr gt lt tr gt lt td gt pnk00 lt td gt lt td gt lt para gt Tiny sprl lt para gt lt td gt lt tr gt lt tr gt lt td gt lt td gt lt td gt lt para gt ASUS lt para gt lt td gt lt tr gt lt tr gt lt td gt lt td gt lt td gt lt para gt Agrolait lt para gt lt td gt lt tr gt lt tr gt lt td gt lt td gt lt td gt lt para gt Banque Plein Aux As lt para gt lt td gt lt tr gt lt tr lt td gt lt td gt lt td gt lt para gt China Export lt para gt lt td gt lt tr gt lt tr gt lt td gt lt td gt lt td gt lt para gt Ditrib PC lt para gt lt td gt lt tr gt lt tr gt lt td gt lt td gt lt td gt
16. t really need to worry too much about the database side Just filling this file will create the system structure for you when you install the module 8 1 The Modules Introduction 63 Open Object Developer Book Release 1 0 Customizing the view You can now move on to editing the views To do this edit the custom_view xml file It should first look like this lt terp gt lt data gt lt record model res groups id group_compta_user gt lt field name name gt grcompta lt field gt lt record gt lt record model res groups id group_compta_admin gt lt field name name gt grcomptaadmin lt field gt lt record gt lt menuitem name Administration groups admin grcomptaadmin icon terp stock id menu_adr lt data gt lt terp gt This is as you can see an example taken from an accounting system French people call accounting comptabilit which explains the compta bit Defining a view is defining the interfaces the user will get when accessing your module Just defining a bunch of fields here should already get you started on a complete interface However due to the complexity of doing it right we recommend once again that you take a look at the 20 minutes Flash tutorial or download the travel agency module example Next you should be able to create different views using other files to separate them from your basic admin view 8 1 4 Creating Action Linking events to action The availab
17. A finales de 1996 se cambi el nombre del servidor de base de datos desde Postgres95 a PostgreSQL 1 4 2 Caracter sticas Algunas de sus principales caracter sticas son e Alta concurrencia Mediante un sistema denominado MVCC Acceso concurrente multiversion PostgreSQL permite que mientras un proceso escribe en una tabla otros accedan a la misma tabla sin necesidad de bloqueos Cada usuario obtiene una visi n consistente de lo ltimo a lo que se le hizo commit Esta estrategia es superior al uso de bloqueos por tabla o por filas com n en otras bases eliminando la necesidad del uso de bloqueos expl citos PGDG PostgreSQL Global Development Group MVCC Multiversion Concurrency Control Pontificia Universidad Cat lica del Ecuador Facultad de Ingenieria Escuela de Sistemas Andrea Garcia Torres Pagina 19 Tema Desarrollo de un M dulo de Cr dito Automotriz en OpenERP para la Empresa Autov a S A del cant n Quito Provincia de Pichincha e Amplia variedad de tipos nativos PostgreSQL provee nativamente soporte para n meros de precisi n arbitraria texto de largo ilimitado figuras geom tricas con una variedad de funciones asociadas direcciones IP IPv4 e IPv6 bloques de direcciones estilo CIDR Direcciones MAC Arrays Adicionalmente los usuarios pueden crear sus propios tipos de datos los que pueden ser por completo indexables gracias a la infraestructura GiST de PostgreSQL 27 C
18. Cuota 20 de 36 672 00 0 00 0 00 0 00 Cuota 21 de 26 672 00 0 00 0 00 0 00 Pontificia Universidad Cat lica del Ecuador Facultad de Ingenieria Escuela de Sistemas Andrea Garcia Torres Pagina 9 Tema Desarrollo de un M dulo de Cr dito Automotriz en OpenERP para la Empresa Autov a S A del cant n Quito Provincia de Pichincha Figura 010b Generar Letras de Pago Historia de Usuario No 011 Procesos de la Solicitud Acuerdo con el cliente En esta historia de usuario se acord con el cliente que se maneje un proceso definido basado en el modelo del negocio Implementaci n Esta historia de usuario ser implementada basado en el acuerdo con el Cliente se gener un proceso completo que cuenta con los siguientes estados Borrador Validar Aprobar Rechazado Cartera Pagado Pre embargo Embargo Cancelada este proceso tiene un inicio estado Borrador y un fin Cancelado o Rechazado Presentaci n de los requerimientos Flujos Autopolo Workflow Nuevo Nodo 2 6 PA X Pte 3 pa GA confirm a dd Y a gcas Tue x J cartera A pre_embargo of embargo co ar o A L J 4 oo 4 es sxpre ft Tru ce Tene e ETN a kas T enegodar True 6 a ren True tnd a A ce e s_reneg True draft o 4 eneg TETE Tree accepted PEEP True conceleds test_peic LY Xx y O refuse Te kzi PR p cencelscs True 4 Pagado cancelada refused A y AA Figur
19. Import Export 173 Us Data Importation Le prie Re I VER es dE INR beets a il a Ge 173 19 Upgrading Server Modules 177 VII Part 6 Service base Integration 179 20 Working with Web Services 181 20 1 Howto loaddata ci 46 ee ea ebe dee ea od eho we nig agar ewvrete pee Ga dys 181 20 2 Theobjects methods lt ss aca 60660 e DES bebe Bea bees td 181 21 XML RPC Web services 183 CONTENTS 3 Open Object Developer Book Release 1 0 21 1 Interfaces 45 hee ee YS 21 2 Python Example 21 3 PHP Example 5 1422 2654 VIII Part 7 Other Topics 22 RAD Tools 22 D aia rs id a a 22 2 Open Office Report Designer IX Part 8 Appendices 23 Appendices Index 23 1 Appendices A Coding Conventions 23 2 Releasingamodule 23 3 Translations Index 193 195 ide decd 4S a Gn Hew dads ae Gus Ee ete ads DAS R 195 Se PH D Pee EA Vee hee eee ba wa dete des 195 199 201 eG eve Skew E Oe Os ee ee aS ae Se SO 201 te Ms Baap A Sea eta Ele Bee weet ates is Beate yore 202 ib ba A A a Ben Se ak wok EE 203 209 CONTENTS Part I Forewords CHAPTER ONE INTRODUCTION Open ERP is a rich development environment Thanks to its Python and PostgreSQL bindings and above all its Object Relational Mapping ORM you can develop any arbitrary complex module in Open ERP Open Object Developer Book Release 1 0 8 Chapier 1 Introduction CHAPTER TWO
20. Los sistemas ERP aparecieron por primera vez a finales de 1980 y comienzos de la d cada de 1990 con el poder de la coordinaci n y la integraci n interfuncional de toda la empresa Basado en los fundamentos tecnol gicos de la MRP y MRP II los sistemas ERP integraron los procesos de negocio incluyendo la fabricaci n distribuci n contabilidad financiera gesti n de recursos humanos gesti n de proyectos gesti n de inventario servicio y mantenimiento y el transporte la accesibilidad la visibilidad y la coherencia de toda la empresa Durante la d cada de 1990 los proveedores de ERP a aden m s m dulos y funciones add ons para los m dulos b sicos poder pasar a ERP extendidos Estas extensiones incluyen ERP planificaci n y programaci n avanzada soluciones de e business como cliente gesti n de relaciones CRM y gesti n de la cadena de suministro SCM 1 1 2 Ventajas y Desventajas de un ERP e Ventajas Una empresa que no cuente con un sistema ERP puede encontrarse con muchas aplicaciones de software cerradas que no se pueden personalizar y no se optimizan para su negocio Dise o de ingenier a para mejorar el producto seguimiento del cliente desde la aceptaci n hasta la satisfacci n completa una compleja administraci n de interdependencias de los productos estructurados en el mundo real de los cambios de la ingenier a y de la revisi n y la mejora etc La ventaja de tener un ERP es que todo est int
21. Requ tes Pas de requ te Examples of actions This action is declared in server bin addons project project_view xml lt record model ir actions act_window id open_view_my_project gt lt field name name gt project project lt field gt lt field name res_model gt project project lt field gt lt field name view_type gt tree lt field gt lt field name domain gt parent_id False manager uid lt field gt lt field name view_id ref view_my_project gt lt record gt This action is declared in server bin addons stock stock_view xml lt record model ir actions act_window id action_picking_form gt lt field name name gt stock picking lt field gt lt field name res_model gt stock picking lt field gt lt field name type gt ir actions act_window lt field gt lt field name view_type gt form lt field gt lt field name view_id ref view_picking_form gt lt field name context gt contact_display partner lt field gt lt record gt 11 2 Actions 105 Open Object Developer Book Release 1 0 11 2 6 Url Action 11 2 7 Wizard Action Here s an example of a XML file that declares a wizard lt xml version 1 0 gt lt terp gt lt data gt lt wizard string Employee Info model hr employee name employee info wizard id wizard_employee_info gt lt data gt lt terp gt A wizard is declared usin
22. Two examples e Opening of a window when double clicking in the menu User connection Opening of the menu When the user open the option of the menu Operations gt Partners gt Partners Contact the next steps are done to give the user information on the action to undertake 1 Search the action in the IR 2 Execution of the action a If the action is the type Opening the Window it indicates to the user that a new window must be opened for a selected object and it gives you the view form or list and the filed to use only the pro forma invoice b The user asks the object and receives information necessary to trace a form the fields description and the XML view User connection When a new user is connected to the server the client must search the action to use for the first screen of this user Generally this action is open the menu in the Operations section The steps are 1 Reading of a user file to obtain ACTION_ID 2 Reading of the action and execution of this one The fields Action Name The action name Action Type Always ir actions act_window View Ref The view used for showing the object Model The model of the object to post Type of View The type of view Tree Form Domain Value The domain that decreases the visible data with this view 11 2 3 The view The view describes how the edition form or the data tree list appear on screen The views can be of Form or Tree ty
23. UN y Gesti n de Reportes Reportes para Administradores x x Cuadro Gr fico de Reportes x X Dashboard Grupos de Usuario Permisos de Acceso 0 2 X X Tabla 3 21b Plan de Entrega A Pontificia Universidad Cat lica del Ecuador Facultad de Ingenier a Escuela de Sistemas Andrea Garc a Torres P gina 48 Tema Desarrollo de un M dulo de Cr dito Automotriz en OpenERP para la Empresa Autov a S A del cant n Quito Provincia de Pichincha Iteraciones Una vez realizado el plan de la entrega el desarrollador puede empezar con el Plan de Iteraci n Esta fase incluye varias iteraciones sobre el sistema antes de ser entregado 3 3 4 Plan de Iteraci n Los elementos que deben tomarse en cuenta durante la elaboraci n del Plan de la Iteraci n son historias de usuario no abordadas velocidad del proyecto pruebas de aceptaci n no superadas en la iteraci n anterior y tareas no terminadas en la iteraci n anterior Todo el trabajo de la iteraci n es expresado en tareas de programaci n cada una de ellas es asignada a un programador como responsable En la planificaci n de iteraciones se escoge las historias de usuario que ser n implementadas en cada iteraci n desglosando estas historias en un conjunto de tareas y finalmente estimando el tiempo requerido para la implementaci n Por cada entrega el desarrollador tiene la responsabilidad de planificar las iteraciones de tal manera que las historias de usuario se d
24. del cant n Quito Provincia de Pichincha Historia N009 Reportes Especiales de Contrato El usuario podr imprimir el Contrato para ser firmado Reservas Mutuo Pagar Historia N010 Generar Letras de Pago El usuario al firmar el contrato deber confirmar en el sistema que se haya firmado una vez firmado este el sistema generara todas las letras de pago que debe pagar el cliente Historia N0011 Procesos de la Solicitud Gestionar los procesos de la solicitud esta pueda tener el siguiente proceso Borrador espera cartera no aprobados aprobados en cartera 3 2 1 3 Gesti n de Cobros En Gesti n de Cobros se establecieron siete historias de usuario las cuelas se resumir n en esta secci n Historia N012 Registro de los Pagos de Clientes La persona designada podr registrar los dep sitos de cada cliente los pagos en efectivo pagos en cheque y transferencia bancaria de cada cliente Historia N013 Cargar Cobros Pendientes Al ingresar el cliente el sistema cargar todos los pagos pendientes con la empresa Historia N014 Inter s por Mora Permitir ingresar el inter s por mora con lo que se auto calcular n todas las cuotas a pagar por el cliente Historia N015 Notificaciones de Estado del Cobro El usuario podr emitir notificaciones del estado de cada pago realizado por el cliente tambi n se notificar los dep sitos realizados a trav s de E Mail Pontificia Universidad Cat lica
25. ficas flujos de trabajo y las definiciones informes Clientes Los clientes pueden comunicarse con un servidor OpenERP usando XML RPC Un protocolo personalizado r pido llamado NET RPC tambi n est incluido pero en breve desaparecer sustituido por JSON RPC XML RPC como JSON RPC en el futuro hace que sea posible escribir clientes de OpenERP en una variedad de lenguajes de programaci n OpenERP SA desarrolla dos clientes diferentes un cliente de escritorio escritas con el GTK utilizado conjunto de herramientas gr ficas y un cliente web que se debe ejecutar en cualquier navegador web moderno Como la l gica de OpenERP debe residir completamente en el servidor el cliente es conceptualmente muy simple emite una petici n al servidor y mostrar el resultado por ejemplo una lista de clientes de diferentes maneras formularios listas calendarios Sobre las acciones del usuario enviar los datos modificados en el servidor Pontificia Universidad Cat lica del Ecuador Facultad de Ingenier a Escuela de Sistemas Andrea Garc a Torres P gina 27 Tema Desarrollo de un M dulo de Cr dito Automotriz en OpenERP para la Empresa Autov a S A del cant n Quito Provincia de Pichincha ORM y Servidor de Base de Datos Relacional El nivel de datos de OpenERP es proporcionada por una base de datos relacional PostgreSQL Esto permite que las consultas SQL directas se puedan ejecutarse desde los m dulos de OpenERP m s
26. ir ui view gt lt field name name gt res partner form lt field gt lt field name model gt res partner lt field gt lt field name type gt form lt field gt lt field name arch type xml gt lt form string Partners gt lt group colspan 4 col 6 gt lt field name name select 1 gt lt field name ref select 1 gt lt field name customer select 1 gt lt field domain domain partner name title gt lt field name lang select 2 gt lt field name supplier select 2 gt lt group gt lt notebook colspan 4 gt lt page string General gt lt field colspan 4 mode form tree name address nolabel 1 select 1 gt lt form string Partner Contacts gt lt field name name select 2 gt lt field domain domain contact name tit lt field name function gt lt field name type select 2 gt lt field name street select 2 gt lt field name street2 gt lt newline gt lt field name zip lt field name city lt newline gt lt field completion 1 name country_id lt field name state id select 2 gt lt newline gt lt field name phone gt lt field name fax gt lt newline gt lt field name mobile gt lt field name email select 2 widget email gt s lect 2 gt select 2 7 gt select 2 gt lt form gt lt tree st
27. lt id gt lt name gt Maxtor lt name gt lt ref gt lt ref gt lt id gt lt id gt lt name gt Mediapole SPRL lt name gt lt ref gt lt ref gt lt id gt lt id gt lt name gt Opensides sprl lt name gt lt ref gt os lt ref gt lt id gt lt id gt lt name gt Tecsas sarl lt name gt lt ref gt lt ref gt lt id gt lt ids gt XSL stylesheet lt xml version 1 0 encoding utf 8 gt lt xsl stylesheet version 1 0 xmlns xsl http www w3 org lt xsl template match gt lt xsl apply templates select ids gt lt xsl template gt lt xsl template match ids gt lt document gt 146 Chapier 14 Reports Open Object Developer Book Release 1 0 lt templat pageSize 21cm 29 7cm gt lt pageTemplate gt lt frame id col1 x1 2cm y1 2 4cm width 8cm height 26cm gt lt frame id col2 x1 11cm yl 2 4cm width 8cm height 26cm gt lt pageTemplate gt lt template gt lt stylesheet gt lt blockTableStyle id ids gt lt blockFont name Helvetica BoldOblique lt lineStyle kind BOX colorName black lt lineStyle kind BOX colorName black lt blockTableStyle gt lt stylesheet gt lt story gt lt blockTable colWidths 2cm 6cm repeatRows 1 lt tr gt lt td t 1 gt Ref lt td gt lt td t 1 gt Name lt td gt lt tr gt lt xsl apply templates select id gt lt blockTable gt lt story gt
28. menuitem_id name Position Of The Menu Item In The Tree action action_id icon NAME_FROM_LIST groups groupname sequence lt integer gt gt Where e id specifies the identifier of the menu item in the menu items table This identifier must be unique Mandatory field e name defines the position of the menu item in the menu hierarchy Elements are separated by slashes 7 A menu item name with no slash in its text is a top level menu Mandatory field e action specifies the identifier of the action that must have been defined in the action table ir actions act_window Note that this field is not mandatory you can define menu elements without associating actions to them This is useful when defining custom icons for menu elements that will act as folders for example this is how custom icons for Projects Human Resources in Open ERP are defined e icon specifies which icon will be displayed for the menu item using the menu item The default icon is STOCK_OPEN The available icons are 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 STOCK_DIRECTORY STOCK_DISCONNECT STOCK_DND STOCK_DND_MULTIPLE STOCK_EDIT STOCK_EXECUTE STOCK_FILE STOCK_FIND ST
29. p Auedwod 114 Y3931NI pl ajueleb M4 HI93LNI prequese6 BAD 4 Y3931NI pi sn Nv31004 ajueseb uls Nv31009 elejeded Adod M4 YIDIL1NI pl 18uyued dNVISAWILL 1810 53ep Nv31009 HP ejajaded Ado 371800 aad Nv371009 ub os Ados M3 Y3931NI PI 01q09 Nwi1inana 1 Ado t a d LP9ES LT TT HYHDOUVA 270S OpenERP All In One Installation Each time a new release of OpenERP is made OpenERP supplies a complete Windows auto installer for it This contains all of the components you need the PostgreSQL database server the OpenERP application server the GTK application client and the Web client This auto installer enables you to install the whole system in just a few mouse clicks The initial configuration is set up during installation making it possible to start using it very quickly as long as you do not want to change the underlying code It is aimed at the installation of everything on a single PC but you can later connect GTK clients from other PCs Macs and Linux boxes to it as well Downloading OpenERP All In One The first step is to download the OpenERP All In One installer At this stage you must choose which version to install the stable version or the development version If you are planning to put it straight into production we strongly advise you to choose the stable version Note Stable Versions and Development Versions OpenERP dev
30. the server is able to automatically rebuild the database and the data from a previously installed version The tables are rebuilt from the current module definitions To rebuild the tables the server uses the definition of the objects and adds modifies database fields as necessary To invoke a database upgrade after installing a new verion you need to start the server with the update all argument tinyerp server py update all You can also only upgrade specific modules for example tinyerp server py update account base The database is rebuilt according to information provided in XML files and Python Classes For more information on these functionalities go to the section XML files and Defining Objects You can also execute the server with init all The server will then rebuild the database according to the existing XML files on the system delete all existing data and return Open ERP to its basic configuration 177 Open Object Developer Book Release 1 0 178 Chapter 19 Upgrading Server Modules Part VII Part 6 Service base Integration 179 CHAPTER TWENTY WORKING WITH WEB SERVICES 20 1 How to load data 1 Postgresql Simple standard e Does not respect the WORKFLOW 2 XML files with update 3 XML RPC Script same as website interface How to backup restore a Postgresql database backup pg_dump terp gt terp sql restore createdb terp encoding unicode psq
31. view and should have a seperate menu item lt field name view_type gt form lt field gt lt field name view_mode gt tree graph lt field gt Then the user will be able to switch from one view to the other Unlike forms and trees Tiny ERP is not able to automatically create a view on demand for the graph type So you must define a view for this graph 10 3 Tree views 89 Open Object Developer Book Release 1 0 lt record model ir ui view id view_order_line_graph gt lt field name name gt sale order line graph lt field gt lt field name model gt sale order line lt field gt lt field name type gt graph lt field gt lt field name arch type xml gt lt graph string Sales Order Lines gt lt field name product_id group True gt lt field name price unit operator x gt lt graph gt lt field gt lt record gt The graph view A view of type graph is just a list of fields for the graph 10 4 1 Graph tag The default type of the graph is a pie chart to change it to a barchart change lt graph string Sales Order Lines gt to lt graph string Sales Order Lines type bar gt You also may change the orientation Example lt graph string Sales Order Lines orientation horizontal type bar gt 10 4 2 Field tag The first field is the X axis The second one is the Y axis and the optionnal third one is the Z axis for 3 dimensional graphs You
32. 0 client lang en_US default_path home user filetype theme none toolbar icons form_tab_orientation 0 form_tab top survey position 3 path pixmaps usr share pixmaps openerp client share usr share openerp client login db eo2 login admin protocol http port 8069 server localhost GTK Client Configuration login section login login name to use to connect to Tiny ERP server server address used by the server port port used by the server path section share path used to find Tiny ERP shared files pixmaps path used to find Tiny ERP pixmaps files tip section autostart Should the client display tips at startup position Tip number the client will display 24 Chapter 5 Development Environment Open Object Developer Book Release 1 0 form section autosave Will the client automatically save the change you made to a record printer section preview Preview report before printing softpath Path to the pdf previewer softpath_html Path to the html previewer path Command used to print logging section logger log channels to display List values are common common message view view form common options rpc request rpc result rpc exception level logging level to show output file used by the logger verbose set the log level to INFO client section default_path
33. 1 0 In this graph the nodes represent the actions to be done e create an invoice e cancel the sale order e generate the shipping order The arrows are the conditions e waiting for the order validation e invoice paid e click on the cancel button The squared nodes represent other Workflows e the invoice e the shipping 8 1 The Modules Introduction 59 Open Object Developer Book Release 1 0 8 1 2 OpenERP Module Descriptor File __terp_ py Normal Module In the created module directory you must add a __terp__ py file This file which must be in Python format is responsible to 1 determine the XML files that will be parsed during the initialization of the server and also to 2 determine the dependencies of the created module This file must contain a Python dictionary with the following values name The Plain English name of the module version The version of the module description The module description text author The author of the module website The website of the module license The license of the module default GPL 2 depends List of modules on which this module depends The base module must almost always be in the dependen cies because some necessary data for the views reports are in the base module init_xml List of xml files to load when the server is launched with the init module argument Filepaths must be relative to the directory whe
34. 119 Open Object Developer Book Release 1 0 12 4 8 The general structure of an activity record is as follows lt record model workflow activity id activity_id gt lt field name wkf_id ref workflow_id gt lt field name name gt activity name lt field gt lt field name split_mode gt XOR OR AND lt field gt lt field name join_mode gt XOR AND lt field gt lt field name kind gt dummy function subflow stopall lt field gt lt field name action gt lt field gt lt field name signal_send gt lt f ield gt lt field name flow_start gt True False lt field gt lt field name flow_stop gt True False lt field gt lt record gt The first two arguments wkf_id and name are mandatory Be warned to not use flow_start and flow_stop unless your activity really is a flow start or flow_stop There are tiny versions that do not care about the tags contents like True or False Examples There are too many possibilities of activity definition to choose from using this definition We recommend you to have a look at the file server bin addons sale sale_workflow xml for several examples of activity definitions 12 5 Transition 12 5 1 Introduction Workflow transitions are the conditions to be satisfied to go from one activity to the next one They are represented by one way arrows joining two activities The condi
35. 14 03 20 5 Usuario Administrator Cliente Adan Ector Valle Alban 7 Descripcion Pago en Efectivo TA Fecha 06 04 2014 14 00 55 H Referencia de pago Tipo de Pago Efectivo Caja Registradora Cash EUR oa Monto 33400 interes Por Mora 000 Detalle del Comprobante Cuotas a pagar MtotjoF1 PENDIENTE DE PAGO FECHA DE PAGO VALOR APAGAR ABONADO INTERES POR MORA CANCELADO APAGAR CUOTA 2 de 36 334 00 0 00 0 00 334 00 334 00 0 00 0 00 Notas de Pago Suma Total 1334 00 Nuevo Pagado Anulado Figura 013 Cuentas por Pagar Historia de Usuario No 014 Inter s por Mora Acuerdo con el cliente El cliente necesita cargar el inter s de mora en las cuotas a pagar del cliente que no pago a tiempo Implementaci n Pontificia Universidad Cat lica del Ecuador Facultad de Ingenier a Escuela de Sistemas Andrea Garc a Torres P gina 12 Tema Desarrollo de un M dulo de Cr dito Automotriz en OpenERP para la Empresa Autov a S A del cant n Quito Provincia de Pichincha En esta historia de usuario el sistema carga el inter s si el inter s es diferente de cero y existen letras impagas fuera del tiempo maximo les aumenta el inter s Historia de Usuario No 015 Notificaciones de Estado del Cobro Acuerdo con el cliente El cliente empresa podra notificar sus pagos al comprador mediante mails Implementaci n En la parte derecha se podr visualizar un men Envi de
36. 2 1 8 Administraci n 20 Comprobantes de Ingreso 0 2 1 8 COPE Sa 21 Comprobantes de Egresos 0 2 1 8 Gesti n Gt 22 Reportes para Administradores 0 6 3 24 Reportes 23 Cuadro Gr fico de Reportes 0 2 1 8 Dashboard Grupos ct 24 Permisos de Acceso 0 2 1 8 Usuario Tabla 3 20 Estimaci n de las historias de usuario en tiempo A Pontificia Universidad Catolica del Ecuador Facultad de Ingenieria Escuela de Sistemas Andrea Garcia Torres Pagina 45 Tema Desarrollo de un M dulo de Cr dito Automotriz en OpenERP para la Empresa Autov a S A del cant n Quito Provincia de Pichincha 3 3 Planificaci n de la Entrega En esta fase se debe establecer la prioridad de cada historia de usuario tambi n la estimaci n de esfuerzo del programador en cada una de ellas Convenir el contenido de la primera entrega y determinar un cronograma en conjunto con el cliente Las entregas no pueden durar m s de tres meses En la planificaci n de la entrega se realizan las siguientes tareas e Determinar la velocidad del desarrollo e Determinar el n mero de iteraciones que tendr la primera entrega e Asignar las historias usuario a la entrega la primera entrega estimar y elaborar el plan de entrega e La culminaci n de una entrega sucede en el instante que el equipo implanta el software en el entorno de producci n 3 3 1 Velocidad del Proyecto La velocidad de proyecto es una medida de la cantidad de trabajo que se puede con
37. Creditos Save Cancel 4 80 gt tes ra informacion dete _ CER Fecha de Creacion 30 03 2014 17 59 48 3 Codigo C140022 Egresos Fecha de pago 30 03 2014 17 59 48 a Entrega de Letras Cliente Cliente vi amp Conyuge Cliente v LE Garante Sin Garante Garante y B Conyuge Garante B Credito Product AA Precio 0 00 Entrada 0 Financiamiento En meses 3 o 8 Interes Anual 0 Figura 003 Formulario Solicitud de Cr dito Pontificia Universidad Cat lica del Ecuador Facultad de Ingenier a Escuela de Sistemas Andrea Garc a Torres P gina 3 Tema Desarrollo de un M dulo de Cr dito Automotriz en OpenERP para la Empresa Autov a S A del cant n Quito Provincia de Pichincha Historia de Usuario No 004 Calculo de montos a cobrar Acuerdo con el cliente En esta historia de usuario se acord con el cliente que se realizar los c lculos a cobrar basado en la historia de usuario de Registro de Datos Implementaci n Esta historia de usuario ser implementada basado en el acuerdo con el Cliente El sistema mediante los registros de entrada inter s monto total a cobrar y los meses a diferir calcular los montos mensuales a cobrar Presentaci n de los requerimientos A Financiar 0 00 Valor Letra 0 00 Total Letras 0 00 Total Pagare 0 00 Total Pagare Texto 22 Calcular Borrador Esperando Aprobacion Aprobado En cartera validar Anular Figura 00
38. Garc a Torres P gina 36 Tema Desarrollo de un M dulo de Cr dito Automotriz en OpenERP para la Empresa Autov a S A del cant n Quito Provincia de Pichincha En la Figura 2 04 se indica el modelo entidad relaci n de la caja registradora asociada a las cuentas contables posibles El modelo entidad relaci n del proyecto se encuentra en el Anexo 2 account bank statement id INTEGER PK create uid INTEGER create date TIMESTAMP write date TIMESTAMP write vid INTEGER state VARCHAR 2147483647 balance end NUMERIC 131089 balance_start NUMERIC 131089 journal_id INTEGER FK company_id INTEGER period id INTEGER date DATE balance _end_real NUMERIC 131089 name VARCHAR 64 total_entry_encoding NUMERIC 131089 user_id INTEGER account journal id INTEGER PK create_uid INTEGER default_debit_account_id INTEGER code VARCHAR S AK view _id INTEGER currency INTEGER sequence id INTEGER allow date BOOLEAN update posted BOOLEAN user_id INTEGER name VARCHAR 64 AK centralisation BOOLEAN group_invoice_lines BOOLEAN icompany_id INTEGER AK lentry_posted BOOLEAN type VARCHAR 32 default credit_account_id INTEGER closing date TIMESTAMP balance end cash NUMERIC 131089 analytic_journal_id INTEGER check_dtis BOOLEAN journal_user BOOLEAN auto cash BOOLEAN Figura 2 04 Modelo Entidad Relaci n de la Caja Registradora A Pontifi
39. If you have previously tried to install the All In One version of OpenERP you will have to uninstall that first because various elements of a previous installation could interfere with your new installation Make sure that all Tiny ERP OpenERP and PostgreSQL applications are removed you are likely to have to restart your PC to finish removing all traces of them Double click the installer file to install OpenERP and accept the default parameters on each dialog box as you go The All In One installer is the simplest mode of installation and has the following steps 1 Select installation language The default is English The other option is French 2 Welcome message Carefully follow the recommendations given in this step Welcome to the OpenERP 6 0 Setup Wizard Think big MOT This wizard will guide you through the installation of OpenERP 6 0 It is recommended that you close all other applications before starting Setup This will make it possible to update relevant system files without having to reboot your computer Click Next to continue OPEN SOURCT MANAGEMENT SOLUTION Welcome to OpenERP 3 Licence Agreement It is important that you accept the GNU General Public License to proceed with installation 4 Select components to install You can proceed with the default install type one which will install the OpenERP Server GTK Desktop Client Web Client and PostgreSQL Database version 8 3 at the time of wri
40. M dulos OpenERP maneja una gran variedad de m dulos seg n su propia definici n y orden de m dulos b sicos ser an los que se muestran a continuaci n e Empresas e Facturaci n cobros y pagos e Contabilidad e Estadisticas e Productos e Recursos humanos e Control de inventario e Gesti n de Atenci n a Clientes y Proveedores e Gesti n de Compras e Gesti n de Almacenes e Workflow de procesos e Gesti n de proyectos e Planificaci n de Proyectos e Gestion de Producci n Fabricaci n Pontificia Universidad Cat lica del Ecuador Facultad de Ingenier a Escuela de Sistemas Andrea Garc a Torres P gina 34 Tema Desarrollo de un M dulo de Cr dito Automotriz en OpenERP para la Empresa Autov a S A del cant n Quito Provincia de Pichincha e Gesti n de Ventas e Facturaci n e Gestion de informes e Gestor documental e Porqu es diferente OpenERP de otros ERP Los m dulos que ser n usados en este proyecto son Productos Punto de Venta Contabilidad Productos En OpenERP el producto tiene algunas tipos como almacenable consumible servicio Se puede trabajar con productos concretos o con plantillas que separan la definici n del producto y sus variantes Las variantes de productos son definidas por los atributos que se definan para dicho producto color talla peso calidad densidad Asociadas al producto se definen las listas de precios o tarifas tanto de compra como de venta Los precios
41. OpenERP para la Empresa Autov a S A del cant n Quito Provincia de Pichincha Los ERP muchas veces son vistos como sistemas muy rigidos y dificiles de adaptarse al flujo especifico de los trabajadores y al proceso de negocios de algunas compa ias este punto es una gran falla 1 1 3 Arquitectura de los Sistemas ERP Los primeros sistemas ERP se desarrollaron en los afios 1970 y 1980 algunos de estos antiguos sistemas fueron desarrollados en la casa mientras que otros han sido desarrolladas por diferentes fabricantes que utilizan varias bases de datos diferentes sistemas de gesti n idiomas y paquetes creando islas con soluciones no compatibles no aptas para el flujo de datos Era dif cil aumentar la capacidad de estos sistemas o los usuarios no pudieron actualizar los cambios en el negocio de la organizaci n los objetivos estrat gicos y las tecnolog as de la informaci n Se requiere un sistema ERP para tener las siguientes caracter sticas Dise o modular que comprende muchos m dulos de negocio diferenciados como financiera fabricaci n contabilidad distribuci n utilizar el sistema de gesti n de base de datos com n centralizada DBMS los m dulos est n integrados y proporcionan un flujo de datos ininterrumpido entre los m dulos el aumento de la transparencia operativa a trav s de interfaces est ndar por lo general son sistemas complejos que implican altos costos son flexibles y ofrecen las mejore
42. Pagos por medio de este se abrir un wizard en el que se visualizara el contenido del mail a enviar podr cambiarlo e incluir los destinatarios Historia de Usuario No 016 Registrar la entrega de Letras de Pago Acuerdo con el cliente El cliente podr registrar las letras de pago entregadas Implementaci n Esto se realizara en el men de Entrega de Letras de Pago Historia de Usuario No 017 Letras de Pago Cobradas Acuerdo con el cliente El cliente podr verificar las letras de pago que han sido cobradas Implementaci n Esto se visualizara en el men de Reportes Estado de Cuenta esta vista tiene varios filtros por el Cliente Esperando Pago Abonado Pagado Historia de Usuario No 018 Contratos Embargados Acuerdo con el cliente Pontificia Universidad Cat lica del Ecuador Facultad de Ingenier a Escuela de Sistemas Andrea Garc a Torres P gina 13 Tema Desarrollo de un M dulo de Cr dito Automotriz en OpenERP para la Empresa Autov a S A del cant n Quito Provincia de Pichincha En el proceso de la Solicitud de Cr dito se podr embargar los contratos por falta de pago Implementaci n Esto se realizara mediante un bot n que est conectado con el proceso de Solicitud de Cr dito esto solo podr realizarlo el Gerente para los contratos embargados se llevara a cabo un registro de gastos realizados dependiendo del caso Presentaci n de los requerimientos Estado
43. Server and Web Client Start Stop 5 4 1 OpenERP 4 2 First check that all the required dependencies are installed Then create the terp database You have to make sure that your user has the correct credentials to create databases with PostgreSQL For more information on this subject please refer to the PostgreSQL manual createdb terp ncoding unicode Once the database created you can start OpenERP The content of the database will automatically be created at the first start tinyerp server py 5 4 2 OpenERP 5 0 and above e Check that all the required dependencies are installed e Make sure you are logged on as a user that has catalog admin rights in PostgreSQL Refer to the PostgreSQL manual for more info on this e Start the OpenERP Server openerp server py Finally connect to the server with the GTK Client or eTiny and use the Create Database option to 5 5 Shutting down the server The easiest way the shut down the server on a Linux type system is to send the SIG INT signal to the server e Find the Process ID ps ax grep i tiny e Use the kill comand with the PID kill 2 pid 34 Chapter 5 Development Environment CHAPTER SIX MOULDER DEVELOPMENT APPROACH 6 1 OpenObject Server and Modules OpenERP is a Client Server system that works over a IP Network OpenERP programming language is Python OpenERP uses Object Oriented technologies OpenERP records its data with a Postg
44. User gt Preferences 204 Chapter 23 Appendices Index Open Object Developer Book Release 1 0 MISSING IMAGE FILE An administrator may also modify the preferences of a user including the language of the interface in the menu Administration gt Users gt Users He merely has to choose a user and toggle on preferences 23 3 Translations 205 Open Object Developer Book Release 1 0 MISSING IMAGE FILE 23 3 2 Store a translation file on the server To import a file having translations use this command openerp_server py il8n import file csv 1 LANG where LANG is the language of the translation data in the CSV file Note that the translation file must be encoded in UTF8 23 3 3 Translate to a new language Please keep in mind to use the same translation string for identical sources Launchpad Online Translation may give helpful hints More information on accelerators on this website http translate sourceforge net wiki guide translation accelerators To translate or modify the translation of a language already translated you have to 206 Chapter 23 Appendices Index Open Object Developer Book Release 1 0 1 Export all the sentences to translate in a CSV file To export this file use this command openerp_server py 118n export file csv I LANG where LANG is the language to which you want to translate the program 2 Translate the last column of the file You can make a transla
45. _ terp_ py If the wizard you created is the first one of its module you probably had to create the modulename_wizard xml file yourself In that case it should be added to the update_xml field of the __terp__ py file of the module Here is for example the __terp__ py file for the account module name Open ERP Accounting version 0 1 depends base init_xml account_workflow xml account_data xml update_xm1 account_view xml account_report xml account_wizard xml 13 4 Add A New Wizard 135 Open Object Developer Book Release 1 0 13 5 osv_memory Wizard System To develop osv_memory wizard just create a normal object But instead of inheriting from osv osv Inherit from osv osv_memory Methods of wizard are in object and if the wizard is complex You can define workflow on object osv_memory object is managed in memory instead of storing in postgresql That s all nothing more than just changing the inherit So what makes them looks like old wizards e In the action that opens the object you can put lt field name target gt new lt field gt It means the object will open in a new window instead of the current one e On a button you can use lt button special cancel gt to close the window Example In project py file class config_compute_remaining osv osv_memory _name config compute remaining def _get_remaining self cr uid ct
46. a S A del cant n Quito Provincia de Pichincha 2 3 3 Arquitectura T cnica OpenERP es una arquitectura multiusuario de tres niveles La aplicaci n en s de nivel se escribe como un n cleo varios m dulos adicionales se pueden instalar para crear una configuraci n particular de OpenERP El n cleo de OpenERP y sus m dulos est n escritos en Python La funcionalidad de un m dulo se expone a trav s de XML RPC dependiendo de la configuraci n del servidor M dulos suelen hacer uso de ORM de OpenERP a persistir sus datos en una base de datos relacional PostgreSQL Los m dulos pueden insertar datos en la base de datos durante la instalaci n proporcionando XML CSV o archivos YML OpenERP Server OpenERP Client Workflow Engine Figura 2 03 Estructura de OpenERP H El servidor OpenERP OpenERP proporciona un servidor de aplicaciones en el que las aplicaciones de negocio especificas se pueden construir Tambi n es un marco de desarrollo completo que ofrece una amplia gama de funciones para escribir las aplicaciones XML RPC es un protocolo de llamada a procedimiento remoto que usa XML para codificar los datos ORM Object Relational Mapping 39 CSV The Comma Separated Value 7 YML Es un formato de serializaci n de datos legible por humanos inspirado en lenguajes como XML C Python Perl Pontificia Universidad Cat lica del Ecuador Facultad de Ingenier a Escuela de Sistemas Andr
47. addthis True level level 10 result result res 0 result2 result2 res 1 else return else if addthis and not bom bom_lines result append name bom product_id name product_id bom product_id id product qty bom product_qty factor product uom bom product_uom id if bom routing_id for wc_use in bom routing_id workcenter_lines wc wc_use workcenter_id cycle factor wc_use cycle_nbr result2 append name bom routing_id name workcenter_id wc id sequence level 44 Chapter 7 OpenObject Architecture Mvc Open Object Developer Book Release 1 0 cycle cycle hour wc_use hour_nbr wc time_start wc time_stop cyclexwc time_cycle x wc time_ efficiency or 1 for bom2 in bom bom_ lines res self _bom explode cr uid bom2 factor properties addthis True level level 10 result result res 0 result2 result2 res 1 return result result2 7 2 MVCSQL 45 Open Object Developer Book Release 1 0 46 Chapter 7 OpenObject Architecture Mvc Part III Part 2 Module Development CHAPTER EIGHT FIRST MODULE TO OPENERP Open ERP is a Python based client server program for Enterprise Resource Planning It consist of a client tinyerp client and a server tinyerp server while the persistence is provided by Postgresql Open ERP currently uses XML RPC for communication over a network
48. allows to find the record to associate when you do not know its xml id You can thus specify a search criteria to find the wanted record The criteria is a list of tuples of the same form than for the predefined search method If there are several results an arbitrary one will be chosen the first one lt field name partner_id search model res partner gt gt This is a classical example of the use of search in demo data here we do not really care about which partner we want to use for the test so we give an empty list Notice the model attribute is currently mandatory 54 Chapter 8 First Module to OpenERP Open Object Developer Book Release 1 0 Record Tag Description The addition of new data is made with the record tag This one takes a mandatory attribute model Model is the object name where the insertion has to be done The tag record can also take an optional attribute id If this attribute is given a variable of this name can be used later on in the same file to make reference to the newly created resource ID A record tag may contain field tags They indicate the record s fields value If a field is not specified the default value will be used Example lt record model ir actions report xml id 10 gt lt field name model gt account invoice lt field gt lt field name name gt Invoices List lt field gt lt field name report_name gt account invoice list lt field gt lt field nam
49. as SQL queries are not allowed to take too much memory it may have to do two separate readings 7 2 MVCSQL 43 Open Object Developer Book Release 1 0 7 2 4 A complete example Here is a complete example from the Open ERP official distribution of the function that does bill of material explosion and computation of associated routings class mrp_bom osv osv def _bom_find self cr uid product_id product_uom properties bom_result False Why searching on BoM without parent cr execute select id from mrp_bom where product_id d and bom_id is null order by sequence product_id ids map lambda x x 0 cr fetchall max_prop 0 result False for bom in self pool get mrp bom browse cr uid ids prop 0 for prop_id in bom property_ids if prop_id id in properties propt 1 if prop gt max_prop or max_prop 0 and not result result bom id return result def _bom_explode self cr uid bom factor properties addthis False level 10 factor factor bom product_efficiency or 1 0 factor rounding factor bom product_rounding if factor lt bom product_rounding factor bom product_rounding result result2 if bom type phantom and not bom bom_lines newbom self _bom_find cr uid bom product_id id bom product_uom id properties if newbom res self _bom_explode cr uid self browse cr uid newbom 0 factorxbom product_qty properties
50. basados en la historia de usuario de Registro de Datos Implementaci n Esta historia de usuario ser implementada basados en el acuerdo con el Cliente lo que implica que el sistema basado en los registros de entrada inter s monto total a cobrar y los meses a diferir calcular los montos mensuales a cobrar Pontificia Universidad Cat lica del Ecuador Facultad de Ingenier a Escuela de Sistemas Andrea Garc a Torres P gina 51 Tema Desarrollo de un M dulo de Cr dito Automotriz en OpenERP para la Empresa Autov a S A del cant n Quito Provincia de Pichincha Presentaci n de los requerimientos A Financiar 0 00 Valor Letra 0 00 Total Letras 0 00 Total Pagare 0 00 Total Pagare Texto EZ Calcular Z Borrador Esperando Aprobacion Aprobado En cartera validar Anular Figura 3 03 Solicitud de Cr dito A SEGUNDA ITERACION Se desarrollar las primeras dos historias de usuario de la segunda iteraci n Historia de Usuario No 013 Cargar Cobros Pendientes Acuerdo con el cliente El cliente necesita visualizar los pagos pendientes que tiene el cliente con la Empresa Implementaci n En el men pagos se registran los pagos del cliente para la Empresa en esta secci n al seleccionar el cliente el sistema carga autom ticamente todas las deudas que tiene el cliente hacia la Empresa Presentaci n de los requerimientos
51. by a example groups admin user e sequence is an integer that is used to sort the menu item in the menu The higher the sequence number the downer the menu item This argument is not mandatory 1f sequence is not specified the menu item gets a default sequence number of 10 Menu items with the same sequence numbers are sorted by order of creation order sequence id 11 1 1 Example In server bin addons sale sale_view xml we have for example lt menuitem name Sales Management Sales Order Sales Order in Progress id menu_action_order_tree4 11 2 Actions 11 2 1 Introduction The actions define the behavior of the system in response to the actions of the users login of a new user double click on an invoice click on the action button There are different types of simple actions e Window Opening of a new window e Report The printing of a report o Custom Report The personalized reports o RML Report The XSL RML reports e Wizard The beginning of a Wizard Execute The execution of a method on the server side e Group Gather some actions in one group The actions are used for the following events e User connection The user double clicks on the menu e The user clicks on the icon print or action 102 Chapter 11 Menu and Actions Open Object Developer Book Release 1 0 11 2 2 Example of events In Open ERP all the actions are described and not configured
52. can apply a few attributes to each field axis e group if set to true the client will group all item of the same value for this field For each other field it will apply an operator e operator the operator to apply is another field is grouped By default it s Allowed values are addition multiply exponent min minimum of the list max maximum of the list Defining real statistics on objects The easiest method to compute real statistics on objects is 1 Define a statistic object wich is a postgresql view 2 Create a tree view and a graph view on this object You can get en example in all modules of the form report_ Example report_crm 90 Chapter 10 Views and Events Open Object Developer Book Release 1 0 10 5 Design Elements The common structure to all the XML files of Tiny ERP is described in the DataLoadXML Data Loading Using XML Files section The files describing the views are also of the form Example lt xml version 1 0 gt lt terp gt lt data gt view definitions lt data gt lt terp gt The view definitions contain mainly three types of tags e lt record gt tags with the attribute model ir ui view which contain the view definitions themselves e lt record gt tags with the attribute model 1r actions act_window which link actions to these views e lt menuitem gt tags which create entries in the menu and link them with action
53. de Autos Solicitud de Cr dito una vez ah el usuario registra la informaci n necesaria y obligatoria Los resultados que el sistema debe mostrar el sistema verifica si existe el cliente c nyuge y garante la existencia de veh culos no est vendido para poder realizar la venta el sistema carga el precio del veh culo seg n el veh culo y el sistema verifica que la entrada no sea mayor que el precio del veh culo Seg n los casos particulares el sistema no encontr el cliente si ste no existe se lo debe crear uno nuevo al igual que el c nyuge y garante El sistema no encuentra veh culos no vendidos debe ingresar el veh culo disponible para la venta El sistema no carga el precio del veh culo debe ingresar un valor al veh culo El sistema verific que la entrada es mayor entonces se muestra un mensaje de error que la entrada es mayor que el precio del veh culo b Prueba C lculo de Montos a Cobrar En la historia de usuario una vez ingresada la informaci n necesaria tales como el precio del producto entrada financiamiento e inter s el sistema calcula los valores a financiar total pagar valor por letra total del pagar total de letras Prueba de Aceptaci n Historia de Usuario 003 C lculo de Montos a Cobrar Esta historia condiciona todos los campos para calcular los valores en todos los campos no aceptan n meros negativos una vez pasan est n validaciones el sistema empieza a realiz
54. de Cr dito Automotriz en OpenERP para la Empresa Autov a S A del cant n Quito Provincia de Pichincha 3 2 Historias de Usuario Las historias de usuario son la t cnica utilizada en XP para especificar la funcionalidad del sistema desde el punto de vista del cliente Se trata de tarjetas de papel en las cuales el cliente describe brevemente las caracter sticas que el sistema debe poseer sean requisitos funcionales o no funcionales Cabe se alar que a diferencia de los casos de uso las historias de usuario son descritas por el cliente en un lenguaje no t cnico obviando detalles de implementaci n y algoritmos y aunque su prop sito sea similar al de los casos de uso ambos no deben ser confundidos El tratamiento de las historias de usuario es muy din mico y flexible en cualquier momento las historias de usuario pueden romperse reemplazarse por otras m s espec ficas o generales a adirse nuevas o ser modificadas Cada historia de usuario es lo suficientemente comprensible y delimitada para que los programadores puedan implementarla en semanas El cliente participa activamente en la redacci n de las historias de usuario de hecho lo normal es que sea el cliente quien las redacte sin embargo y para evitarles excesivas molestias se llevaron a cabo reuniones con el cliente en donde fue el equipo de desarrollo quien redact las historias de usuario de acuerdo a lo que el cliente necesitaba Cabe recalcar que pueden exis
55. dispatch n server bind Figure 8 1 The Physical Objects Model of OpenERP version 3 0 3 Simple MEROS PostgreSQL The ORM of Open ERP is constructed over PostgreSQL It is thus possible to query the object used by Open ERP using the object interface or by directly using SQL statements But it is dangerous to write or read directly in the PostgreSQL database as you will shortcut important steps like constraints checking or workflow modification Note The Physical Database Model of OpenERP Pre Installed Data Sdefine lightblue color 27adfb Data can be inserted or updated into the PostgreSQL tables corresponding to the Tiny ERP objects using XML files The general structure of a Tiny ERP XML file is as follows lt xml version 1 0 gt lt terp gt lt data gt lt record model model name_1 id id_name_1 gt lt field name fieldl gt Slightblues fieldl content lt field gt lt field name field2 gt Slightblues field2 content lt field gt 8 1 The Modules Introduction 53 Open Object Developer Book Release 1 0 254 lt record gt lt record model model name 2 id id name _2 gt 255 lt record gt 243 lt data gt lt terp gt Fields content are strings that must be encoded as UTF 8 in XML files Let s review an example taken from the TinyERP source base_demo xml in the base module lt record model res company id main_compa
56. est en la probabilidad de no tener muchos inconvenientes con respecto a errores en el sistema puesto que el equipo de desarrollo escribe c digo de calidad que anteriormente ya ha pasado todas sus pruebas unitarias exitosamente e Rol de Entrenador Coach El concepto de entrenador es primordialmente de ser la persona encargada de facilitar la comunicaci n dentro del equipo de desarrollo asegurando que se est n siguiendo los lineamientos que son necesarios en un desarrollo XP 1 3 Lenguajes de Programaci n Python Python es un lenguaje de programaci n interpretado que realiza una sintaxis muy limpia y que favorezca un c digo legible Se trata de un lenguaje de programaci n multiparadigma ya que soporta orientaci n a objetos programaci n imperativa y en menor medida programaci n funcional Es un lenguaje interpretado usa tipado din mico y es multiplataforma 17 multiparadigma Es el cual soporta m s de un paradigma de programaci n 18 fuertemente tipado Si no se permiten violaciones de los tipos de datos Pontificia Universidad Cat lica del Ecuador Facultad de Ingenier a Escuela de Sistemas Andrea Garc a Torres P gina 15 Tema Desarrollo de un M dulo de Cr dito Automotriz en OpenERP para la Empresa Autov a S A del cant n Quito Provincia de Pichincha 1 3 1 Historia de Python Python fue creado a finales de los ochenta por Guido van Rossum en el Centro para las Matem ticas y la Inform
57. fields Suppose now that you want to compute the totals of 10 sales order by countries You can do this in Open ERP within a Open ERP object def get_totals self cr uid ids countries for sale in self browse cr uid ids country sale partner_invoice_id country countries setdefault country 0 0 countries country sale amount_untaxed return countries And to print them as a good way you can add this on your object def print_totals self cr uid ids result self get_totals cr uid ids for country in result keys print 3s ts 2f country code country name result country The 2 functions will generate 4 SQL queries in total This is due to the SQL engine of Open ERP that does prefetching works on lists and uses caching methods The 3 queries are 1 Reading the sale order to get ID s of the partner s address 2 Reading the partner s address for the countries 3 Calling the amount_untaxed function that will compute a total of the sale order lines 4 Reading the countries info code and name That s great because if you run this code on 1000 sales orders you have the guarantee to only have 4 SQL queries Notes e IDS is the list of the 10 ID s 12 15 18 34 99 e The arguments of a function are always the same cr the cursor database from psycopg uid the user id for security checks e If you run this code on 5000 sales orders you may have 8 SQL queries because
58. gestiona sesiones web OpenERP Web es una aplicaci n WSGI conforme Como tal se puede ejecutar como un servidor HTTP independiente o incrustado dentro de OpenERP 2 3 4 XML RPC JSON RPC El acceso a los modelos hace uso tambi n de la pila WSGI Esto se puede hacer mediante el protocolo XML RPC y JSON RPC Explicaremos las caracteristicas de los servidores Distribuci n Base Servidor Utilizamos un mecanismo de comunicaci n distribuida dentro del servidor OpenERP Nuestro motor es compatible con los patrones m s com nmente distribuidas solicitud respuesta publicaci n suscripci n supervisi n activa callback Servidor Objeto Relational Mapping ORM Esta capa proporciona funcionalidad objeto adicional en la parte superior de PostgreSQL Consistencia potentes controles de validez trabajar con objetos seguridad de nivel por usuario grupo rol acciones complejas en un grupo de recursos herencia Servidor Web Services El m dulo de servicio web ofrece una interfaz com n para todos los servicios web SOAP XML RPC NET RPC Pontificia Universidad Cat lica del Ecuador Facultad de Ingenieria Escuela de Sistemas Andrea Garcia Torres Pagina 30 Tema Desarrollo de un M dulo de Cr dito Automotriz en OpenERP para la Empresa Autov a S A del cant n Quito Provincia de Pichincha Los objetos de negocio tambi n se pueden acceder a trav s del mecanismo de objetos distribuido
59. gt lt field name relation_ids colspan 4 nolabel 1 gt lt page gt lt notebook gt lt field gt lt record gt The inheritance engine will parse the existing view and search for the the root nodes of lt field name arch type xml gt It will append or edit the content of this tag If this tag has some attributes it will look for the matching node including the same attributes unless position This will add a page to the notebook of the res partner form view in the base module You can use these values in the position attribute e inside default your values will be appended inside this tag e after add the content after this tag e before add the content before this tag e replace replace the content of the tag Second Example lt record model ir ui view id view_partner_form gt lt field name name gt res partner form inherit lt field gt lt field name model gt res partner lt field gt lt field name inherit_id ref base view_partner_form gt lt field name arch type xml gt lt page string Extra Info position replace gt lt field name relation_ids colspan 4 nolabel 1 gt lt page gt lt field gt lt record gt Will replace the content of the Extra Info tab of the notebook by one relation_ids field The parent and the inherited views are correctly updated with update all argument like any other views To delete a field from a form an empty element with posi
60. ids shop_id v if shop_id shop self pool get sale shop browse cr uid shop_id v project_id shop project_id id if shop pricelist_id id v pricelist_id shop pricelist_id id v payment_default_id shop payment_default_id id return value v When editing the shop_id form field the onchange_shop_id method of the sale_order object is called and returns a dictionary where the value key contains a dictionary of the new value to use in the project_id pricelist_id and payment_default_id fields Note that 1t is possible to change more than just the values of fields For example it is possible to change the value of some fields and the domain of other fields by returning a value of the form return domain d value value context in lt record model ir actions act_window id a gt you can add a context field which will be pass to the action See the example below 10 7 Events 97 Open Object Developer Book Release 1 0 lt record model ir actions act_window id a gt lt field name name gt account account treel lt field gt lt field name res_model gt account account lt field gt lt field name view_type gt tree lt field gt lt field name view_mode gt form tree lt field gt lt field name view_id ref v gt lt field name domain gt code 0 lt field gt lt field name context gt project_id active_
61. iia Ao A er eG ee A BE Ee ee Be Be oe Se ne 89 10 55 Design Elements amp 84 66208 Ko Oe we Sod Ae eh eS Eas be ee oe edad wes 91 10 6 Inheritance im VIEWS e pl s BO Sor BS MEAS RS ES OME ES SR 95 LO EV NS aras ata en bee gee Oe bee eh eee MTS RENTE A 97 11 Menu and Actions 101 IN 2 save hk eee Be eee ade eee Re DR De eet ee Wee ee Fr ee 101 VD o AE US de a Se ER ES SR one Baa end Be wane re BER 102 LES SEUN AA 107 IV Part3 Business Process Development 111 12 Workflow Business Process 113 2a Introduction 2 2s 8 46 eg de ohh OG G44 46 eee Ph e ees oh ee Se 113 122 Defining WorkhOw 45 tr ke kk ee ee A ee Rae ee vy ii 117 12 3 General structure of a workflow XML file 117 IZA A a oui eae lee at deat ne Ro nes ds RO 118 IDS Transitions oss nara He ea rada ei eg hee meee a 120 12 6 EXpfessiOnS 22 2 65 0 bas bee Fb a AVES eee eee dede Gees dee 121 1257 UserRole 5eme Ss Hse eo a a ean ASG es MR HE are died a ES Se we Se 121 12 8 Error handling 3 3 6h ok ok Gos Ge Spe hoe oe BR RM ee Rate a See 122 12 9 Creatine d WOrKHOW 0 00 rune e Se ae a ee ue DO a a 122 13 Creating Wizard The Process 127 13 1 Introduction 24 6 840 bette be bE Fete ER EER ERE ESS REE ES 127 13 2 Wizards Principles 4 0 25454 oe See Ree ee A A eee ee ee de HT 129 13 3 Specification 2 inde c agen Kee Sea Seda e eee es ede Ee Se AA edad as 133 US 4 Add AvINGW Wizard w mecs pe LE BO Roos BAS RS ES BME
62. name_col _2_ sca The object tiny object inherits from all the columns and all the methods from the n objects tiny object _1_ tiny object _n_ To inherit from multiple tables the technique consists in adding one column to the table tiny_object per inherited object This column will store a foreign key an id from another table The values name_col _I_ name_col _2_ name_col _n_ are of type string and determine the title of the columns in which the foreign keys from tiny object _1_ tiny object _n_ are stored This inheritance mechanism is usually called instance inheritance or value inheritance A resource instance has the VALUES of its parents 9 6 Fields Introduction Objects may contain different types of fields Those types can be divided into three categories simple types relation types and functional fields The simple types are integers floats booleans strings etc the relation types are used to represent relations between objects one2one one2many many2one Functional fields are special fields because they are not stored in the database but calculated in real time given other fields of the view Here s the header of the initialization method of the class any field defined in Open ERP inherits as you can see in server bin osv fields py def __init__ self string unknown required False readonly False domain context states
63. or bugfixes in your own branch on launchpad Don t forget to set the status of your branch new experimental development mature so that contributors knows what they can use or not e Once your code is good enough you propose your branch for merging e Your work will be evaluated by one responsible of the commiters team If they accept your branch for integration in the official version they will submit to the quality team that will review and merge in the official branch Ifthe commiter team refuses your branch they will explain why so that you can review your code to better fits guidelines problem for futur migrations The extra addons branch that stores all extra modules is directly accessible to all commiters If you are a commiter you can work directly on this branch and commit your own work This branch do not require a validation of the quality team You should put there your special modules for your own customers If you want to propose or develop new modules we suggest you to create your own branch in the openobject addons project and develop within your branch You can fill in a bug to request that your modules are integrated in one of the two branches e extra addons if your module touches a few companies e addons if your module will be usefull for most of the companies We invite all our partners and contributors to work in that way so that we can easily integrate and share the work done between th
64. respeto La tabla 1 01a y la tabla 1 01b detalla cada uno los valores VALORES DESCRIPCION Simplicidad Todo el mundo es parte del equipo y comunicarse cara a cara Comunicaci n Ser oe todos los dias Trabajar juntos en todo desde los requisitos hasta el c digo Retroalimentacion Tabla 1 01a Los Valores de XP A Pontificia Universidad Cat lica del Ecuador Facultad de Ingenieria Escuela de Sistemas Andrea Garcia Torres Pagina 7 Tema Desarrollo de un M dulo de Cr dito Automotriz en OpenERP para la Empresa Autov a S A del cant n Quito Provincia de Pichincha VALORES DESCRIPCION Decir la verdad sobre los avances y estimaciones No se documenta excusas para el fracaso porque se tiene la intenci n de tener xito No temer a nada porque nadie trabaja solo Se deben adaptar a los cambios cuando cada vez que se produzcan Todo el mundo se respeta y aporta valor incluso si es s lo Respeto entusiasmo Desarrolladores respetan la experiencia de los clientes y viceversa Gestion respeta nuestro derecho a aceptar la responsabilidad y recibir autoridad sobre nuestro propio trabajo Tabla 1 01b Los Valores de XP A 1 2 2 Los Principios de XP Estos principios nos ayudar n a elegir entre alternativas Preferir una alternativa que cumple con los principios m s plenamente a una que no lo hace Cada principio encarna los valores Un valor puede ser vago Sencillo de una persona es de otra
65. section_id yee report_crm_case_user 170 Chapter 17 Dashboard Part VI Part 5 Migration Upgradation Testing 171 CHAPTER EIGHTEEN DATA MIGRATION IMPORT EXPORT 18 1 Data Importation 18 1 1 Introduction There are different methods to import your data into Open ERP e Through the web service interface e Using CSV files through the client interface e Building a module with XML or CSV files with the content e Directly into the SQL database using an ETL 18 1 2 Importing data through a module The best way to import data in Open ERP is to build a module that integrates all the data you want to import So when you want to import all the data you just have to install the module and Open ERP manages the different creation operations When you have lots of different data to import we sometimes create different modules So let s create a new module where we will store all our datas To do this from the addons directory create a new module called data_yourcompany e mkdir data_yourcompany e cd data_yourcompany e touch _ init _ py You must also create a file called __terp__ py in this new module Write the following content in this module file description name Module for Data Importation version 1 0 category Generic Modules Others description Sample module for data importation author Tiny website http www openerp com depends
66. the first start tinyerp server py OpenERP 5 0 and above e Check that all the required dependencies are installed e Make sure you are logged on as a user that has catalog admin rights in PostgreSQL Refer to the PostgreSQL manual for more info on this e Start the OpenERP Server openerp server py Finally connect to the server with the GTK Client or eTiny and use the Create Database option to Shutting down the server The easiest way the shut down the server on a Linux type system is to send the SIG INT signal to the server e Find the Process ID ps ax grep i tiny e Use the kill comand with the PID kill 2 pid 5 2 Configuration Two configuration files are available e one for the client terpre e one for the server terp_serverrc Those files follow the convention used by python s ConfigParser module Lines beginning with or are comments Those files are not necessary If they are not found the server and the client will start with the default configuration The client configuration file is automatically generated upon the first start The one of the server can automatically be created using the command tinyerp server py s 5 2 1 Server Configuration File The server configuration file terp_serverrc is used to save server startup options For the version 5 X configuration file is openerp_serverrc Here is the list of the available options interface Address to
67. the general property menu in administration Note One interesting thing is that properties avoid spaghetti code The account module depends on the partner base module But you can install the partner base module without the accounting module If you add a field that points to an account in the partner object both objects will depend on each other It s much more difficult to maintain and code for instance try to remove a table when both tables are pointing to each others Example 2 Product Times The product expiry module implements all delays related to products removal date product usetime This module is very useful for food industries This module inherits from the product product object and adds new fields to it class product_product osv osv _inherit product product _name product product _columns life time fields integer Product lifetime use time fields integer Product usetime removal_time fields integer Product removal time alert_time fields integer Product alert time product_product This module adds simple fields to the product product object We did not use properties because e We extend a product the life_time field is a concept related to a product not to another object 9 7 Type of Fields 79 Open Object Developer Book Release 1 0 e We do not need a right management per field the different delays ar
68. tica CWI en los Pa ses Bajos como un sucesor del lenguaje de programaci n ABC capaz de manejar excepciones e interactuar con 2 el sistema operativo Amoeba El nombre del lenguaje proviene de la afici n de su creador por los humoristas brit nicos Monty Python Van Rossum es el principal autor de Python y su continuo rol central en decidir la direcci n de Python es reconocido refiri ndose a l como Benevolente Dictador Vitalicio 1 3 2 Caracter sticas de Python Python es un f cil de aprender potente lenguaje de programaci n Tiene eficiente de alto nivel estructuras de datos y un enfoque simple pero eficaz a la programaci n orientada a objetos En la tabla 1 06a tabla 1 06b y tabla 1 06c se detalla algunas de sus caracter sticas CARACTERISTICAS DESCRIPCION Simple Python es un lenguaje sencillo y minimalista Esta naturaleza pseudo c digo de Python es una de sus mayores fortalezas que le permite concentrarse en la soluci n del problema en lugar de la propia lengua F cil de Aprender Como se puede ver Python es extremadamente f cil de empezar a utilizar Python tiene una sintaxis extraordinariamente simple Tabla 1 06a Caracter sticas de Python A 19 CWL Centrum Wiskunde amp Informatica 22 Amoeba Sistema operativo distribuido Pontificia Universidad Cat lica del Ecuador Facultad de Ingenieria Escuela de Sistemas Andrea Garcia Torres Pagina 16 Tema Desarrollo de
69. trabajo en XP nunca puede ser comprometida XP eleva la calidad del c digo y las pruebas por medio de programaci n que realiza pruebas antes de implementar el c digo test first Tabla 1 02b Los Principios de XP A 1 2 3 Las Actividades de XP XP describe cuatro actividades b sicas que son efectuados dentro del proceso de desarrollo de software La tabla 1 03a y la tabla 1 03b detalla cada actividad dentro de XP ACTIVIDAD DESCRIPCI N Escuchar XP se basa en la comunicaci n y pr cticas que requieren escuchar ya que no existe una dependencia a la documentaci n formal como en las metodolog as tradicionales Cuando un equipo de desarrollo escucha al cliente exista una retroalimentaci n acerca de la l gica del negocio Tabla 1 03a Las Actividades de XP A Pontificia Universidad Cat lica del Ecuador Facultad de Ingenieria Escuela de Sistemas Andrea Garc a Torres P gina 9 Tema Desarrollo de un M dulo de Cr dito Automotriz en OpenERP para la Empresa Autov a S A del cant n Quito Provincia de Pichincha ACTIVIDAD DESCRIPCI N Pruebas Las pruebas no son una actividad suplementaria que se realiza finalizando el desarrollo de un sistema m s bien es una actividad integral que se lleva a cabo durante todo el proceso de desarrollo En XP las pruebas se escriben incluso antes de codificar de modo que se tiene calidad integrada en el sistema desde el inicio mas no al final cuando los co
70. which the server will be bound 28 Chapter 5 Development Environment Open Object Developer Book Release 1 0 port Port the server will listen on database Name of the database to use user Username used when connecting to the database translate_in File used to translate Open ERP to your language translate_out File used to export the language Open ERP use language Use this language as the language of the server This must be specified as an ISO country code as specified by the W3C verbose Will used debugged output init init a module use all for all modules update update a module use all for all modules upgrade Upgrade install uninstall modules db_name specify the database name db_user specify the database user name db_password specify the database password pg_path specify the pg executable path db_host specify the database host db_port specify the database port translate modules Specify modules to export Use in combination with 118n export You can create your own configuration file by specifying s or save on the server command line If you would like to write an alternativve configuration file use c lt config file gt or config lt config file gt Here is a basic configuration for a server options verbose Fals xmlrpc True database terp update port 8069 init interface 127 0 0 1 reportgz False Full Example for Server V5 0 printer path none softpa
71. with the work flow its bit easy to link with action with the work flow Open the work flow editor in GTK select the work flow and go to the start and select the Sever Action This will automatically be called when the akes comes to that state imna D LA na incion T On Crete z Sener tonne Activities action move _create action_number Activity Python Action write state open Some as draft account invoice basic Subflow l Signal subfiow Flow Start O Flow Stop O Sot ose laf meses oe TY proforma account invoice basic proforma2 account invoice basic open _account invoice basic Here in this example I added the Action to print the Invoice when the Invoice will be confirmed 168 Chapter 16 Server Action CHAPTER SEVENTEEN DASHBOARD Open ERP objects can be created from PostgreSQL views The technique is as follows 1 Declare your _columns dictionary All fields must have the flag readonly True 2 Specify the parameter _auto False to the Open ERP object so no table corresponding to the _columns dictio nnary is created automatically 3 Add a method init self cr that creates a PostgreSQL View matching the fields declared in _columns Example The object report_crm_case_user follows this model class report_crm case_user osv osv _name report crm case user _description Cases by user and section _auto False _columns name
72. write This dictionary must be with the form name_of_the_field value e context optional the actual context dictionary Returns True Example self pool get sale order write cr uid ids state cancel unlink Description Delete one or several resources Signature def unlink self cr uid ids Parameters e ids the identifiers resources list to delete Returns True Example 82 Chapter 9 Objects Fields and Methods Open Object Developer Book Release 1 0 self pool get sale order unlink cr uid ids 9 8 1 Methods to manipulate the default values default_get Description Get back the value by default for one or several fields Signature def default_get self cr uid fields form None reference None Parameters e fields the fields list which we want to recover the value by default e form optional TODO e reference optional TODO Returns dictionary of the default values of the form field_name value Example self pool get hr analytic timesheet default_get cr uid product_id product_uom_id default_set Description Change the default value for one or several fields Signature def default_set self cr uid field value for_user False Parameters e field the name of the field that we want to change the value by default e value the value by default e for_user optional boolean that de
73. y colaboraci n mundial entre sitios y unidades de negocios Incrementa la rentabilidad de la empresa Permite mejorar el ROI de la empresa e Desventajas Muchos de los problemas que tienen las compa as con el ERP son debido a la inversi n inadecuada para la educaci n continua del personal Incluyendo los cambios de implementaci n y de prueba y una falta de pol ticas corporativas que afectan a c mo se obtienen los datos del ERP y como se mantienen actualizados Las limitaciones y obst culos del ERP son que el xito depende de las habilidades y de la experiencia de trabajo incluyendo la educaci n de c mo hacer que el sistema trabaje correctamente Muchas compa as reducen costos en la capacitaci n Los propietarios de peque as empresas est n menos capacitados lo que significa que el manejo del sistema ERP es operado adecuadamente por el personal El cambio de personal es una gran desventaja las compa as emplean administradores que no est n capacitados para el manejo del sistema ERP de la compa a empleadora proponiendo cambios en las pr cticas de los negocios que no est n sincronizados con el sistema Un inconveniente de los sistemas ERP es su instalaci n que puede ser muy costosa 42 on ROI Retorno de la Inversion Pontificia Universidad Cat lica del Ecuador Facultad de Ingenieria Escuela de Sistemas Andrea Garcia Torres Pagina 4 Tema Desarrollo de un M dulo de Cr dito Automotriz en
74. 0 DESCRIPCION MESES INTERES VALOR VALOR CON INTERES FECHA DE VENCIMIENTO A Financiar 45000 00 Valor Letra 15450 00 Total Letras 46350 00 Total Pagare 46350 00 Total Pagare Texto CUARENTA Y SEIS MIL E Calcular TRESCIENTOS CINCUENTA Borrador Esperando Aprobacion Aprobado En cartera Y Validar x Anular Figura 008 Validar Solicitud de Cr dito Historia de Usuario No 009 Reportes Especiales de Contrato Acuerdo con el cliente En esta historia de usuario se acord con el cliente que podr imprimir varios informes tales como el Contrato Reservas Mutuo Pagar Implementaci n Esta historia de usuario ser implementada basado en el acuerdo con el Cliente por lo cual se agreg botones para cada Informe que el cliente desee imprimir estos se encuentran dentro de Solicitud de Cr dito con el objetivo de seguir con el proceso Pontificia Universidad Cat lica del Ecuador Facultad de Ingenier a Escuela de Sistemas Andrea Garc a Torres P gina 7 Tema Desarrollo de un M dulo de Cr dito Automotriz en OpenERP para la Empresa Autov a S A del cant n Quito Provincia de Pichincha Presentaci n de los requerimientos Garante Sin Garante Credito Product CHEVROLET 00000 VERDE 2011 SGHIKIKKK Precio 50000 00 Entrada 5000 Financiamiento En meses 3 Interes Anual 12 00 Adicionales Documentos Notas Para Gerencia Adicionales 4 1a0 de0 DESCRIPCION MESES INTERES VALOR VALOR CO
75. 13 O tare piLrMxllvisiolimixllvisiplrMxl1lvisD LMIxl 22 EH 6 1 Dise o de Base de Datos Ingreso de la Solicitud de Compra 1 dia 10 10 13 23 3m 6 2 Programaci n Ingreso de la Solicitud de Compra 1 d a 10 10 13 24 E ES 6 3 Pruebas de Aceptaci n Ingreso de la Solicitud de Compra 1 d a 11 10 13 _ 25 3 7 Manejo de Documentos 1 dia 14 10 13 26 H 7 1 Dise o de Base de Datos Manejo de Documentos 1 dia 14 10 13 ul 27 dem 72 Programaci n Manejo de Documentos 1 d a 14 10 13 al 28 E 7 3 Pruebas de Aceptaci n Manejo de Documentos 1 d a 14 10 13 E 29 8 Validar Informaci n 3 d as 15 10 13 30 4m 8 1 Dise o de Base de Datos Validar Informaci n 1 d a 15 10 13 31 dem 82 Programaci n Validar Informaci n 1 d a 17 10 13 32 E 8 3 Pruebas de Aceptaci n Validar Informaci n 1 d a 17 10 13 33 9 Procesos de la Solicitud 4 dias 18 10 13 E 34 E mm 9 1 Dise o de Base de Datos Procesos de la Solicitud 1 d a 18 10 13 mm 35 9 2 Programaci n Procesos de la Solicitud 3 d as 18 10 13 36 EA 9 3 Pruebas de Aceptaci n Procesos de la Solicitud 1 d a 23 10 13 Project FirstLaunch Date 24 5 14 Hito de linea base Resumen de linea base Task Split Milestone Summary Project Summary Inactive Task E 4 PA 1 Inactive Milestone Inactive Summary Manual Task Duration only External Tasks External Milestone Ps Deadline Progress Manual Summar
76. 2014 21 45 22 Llamadas Telef nicas CUSTOMER Egresos Caja Configuracion POR CONFIRMAR CONTRATOS POR FIRMAR CONTRATOS FIRMADOS Catalina Siva PRODUCT CHEVROLET QQQQQ VERDE 2011 SGHKIKKK Figura 022 Reportes para Administradores Historia de Usuario No 023 Cuadro Grafico de Reportes Dashboard Acuerdo con el cliente PRECIO atdet STATE 50000 00 En cartera 50000 00 at det En esta historia de usuario se acord con el cliente poder visualizar un resumen de los procesos importantes de la Empresa Implementaci n El Dashboard es la vista inicial al ingresar a nuestro men Cr dito de Autos resumen basado en las solicitudes de cr dito los contratos embargados contratos con pagos pendientes Solicitudes Pendientes Presentaci n de los requerimientos SOLICITUDES PENDIENTES creer x CODIGO FECHA DE CREACION CUSTOMER PRODUCT PRECIO STATE 0 00 PAGOS PENDIENTES x FECHA DE VALOR CON MONTO INTERES DASEN CLIENTE DESCRIPCION STATE WTERES COBRADO PORMORA mora ESES 0 00 0 00 CONTRATOS EMBARGADOS g FECHA DE CREACION 05 05 2014 11 19 38 CODIGO CUSTOMER PRODUCT Catalina TOYOTA TTTT AMARILLO 2010 Silva GRRR PRECIO STATE craon 25000 00 Embargado 25000 00 CONTRATOS CON PAGOS PENDIENTES CODIGO CUSTOMER PRODUCT c140002 Catalina Silva CHEVROLET QQQQQ VERDE 2011 SGHIKIKKK Cambiar disposici n Pontificia Universidad Cat lica del Ecuador Fa
77. 3 3 4 Plan de tera ciOm socie noia nenes 49 3 3 5 Aplicaci n de las teraciones ooocononccnononcnoncnononncnnnnnononnnononnnnnn ono nono non nncnnnnnonnnos 50 3 3 6 Seguimiento de las Iteraciones oooconocccnonocononncononncnononononcnononnonannnononnnonnncnananonos 50 3 3 1 Pruebas de Aceptaci n se 53 4 Conclusiones y Recomendaciones 57 4 1 Conclusiones ccceeeeccceeeecceceucecccceucececcuccceeuuueceeeuuceseusuaeeeeueuaeceeueueeseusuneceeuuuceseeeuneesenaes 57 Tema Desarrollo de un M dulo de Cr dito Automotriz en OpenERP para la Empresa Autov a S A del cant n Quito Provincia de Pichincha 4 2 Recomendaciones ccccesesecccssesccccsscscecssesecscssescesosesscscusescesesecscseesessetensesestensesenceses 57 Bibliografia 59 Anexos 61 Tema Desarrollo de un M dulo de Cr dito Automotriz en OpenERP para la Empresa Autov a S A del cant n Quito Provincia de Pichincha 1 MARCO TE RICO En esta secci n se tratar los conceptos b sicos que manejaremos en la tesis tales como 1 r 5 cy conceptos acerca de ERP la Metodologia de Software el Lenguaje de programaci n y el motor de Base de Datos 1 1 Qu es un ERP Software de Planificaci n de recursos empresariales este automatiza e integra los procesos del manejo de un negocio as como la producci n y distribuci n Los sistemas de planificaci n de recursos empresariales son sistemas de software para gesti n empresarial que manejan m dul
78. 4 Formulario Solicitud de Cr dito Historia de Usuario No 005 Aprobaci n de Contratos Acuerdo con el cliente En esta historia de usuario se acord con el cliente que podr visualizar los contratos por cada cliente Implementaci n Esta historia de usuario ser implementada basado en el acuerdo con el Cliente lo que implica que el sistema permitir el registro de los contratos y visualizaci n de los mismos Pontificia Universidad Cat lica del Ecuador Facultad de Ingenier a Escuela de Sistemas Andrea Garc a Torres P gina 4 Tema Desarrollo de un M dulo de Cr dito Automotriz en OpenERP para la Empresa Autov a S A del cant n Quito Provincia de Pichincha Presentaci n de los requerimientos Buscar Solicitud de Credito Solicitud de Credito PRECIO Reportes E Y o y Datos de Creditos BORRADOR ESPERA CARTERA NO APROBADOS APROBADOS Pagos Cliente Contrato Auto ES Egresos Buscar Limpiar Caja Crear Configuracion cogo FECHA DE CREACION CUSTOMER PRODUCT craooor 05 05 2014 11 19 38 Cataina Siva TOYOTA TTTT AMARILLO 2010 QRAR c10002 29 05 2014 21 45 22 Catalina Siva CHEVROLET QQQQO VERDE 2011 SGHIKIKKK Figura 005 Aprobaci n Contratos Historia de Usuario No 006 Adjuntar Buro Acuerdo con el cliente 4 Ma2lde2 STATE 25000 00 Embargado 0000 00 Aprobado 75000 00 4 1aZ de2 En esta historia de usuario se acord con el cliente que el sistema permit
79. 64 Chapter 16 Server Action Open Object Developer Book Release 1 0 Object Select the object on which we want to implement the Server Action when work flow will execute on this object Work flow on Here we select invoice need to select the model on which the automatic workflow will be called by the action system Trigger On We need to provide the id of the newly record here in this case Purchase order store the id of the Invoice after creating of the invoice in invoice_id field Trigger Name This is the signal name which we want to generate on the newly created object 16 4 Email Action This is the common requirement for all business process like send the confirmation by the email when sales order purchase order invoice payment shipping of goods will takes place For that we need only few things to configure and tiny will send the email very quickly and in easy way Even not need to setting up the your own email server you can use your exciting email server and account of you not have your email server you can use from the free email account by Gmail Yahoo etc Server Configuration supply the following parameters when we run OpenERP Server email from gajjarmantavya yahoo co in user email address smtp smtp mail yahoo co in smtp server name or ip smtp port 587 smtp port smtp user gajjarmantavya user name usually same as the email address name without domain name smtp password xxxkxkkkxkxkxxxxx Pass
80. A del cant n Quito Provincia de Pichincha CARACTERISTICAS DESCRIPCION Interpretado Python no necesita compilaci n a binario Se ejecuta el programa directamente desde el c digo fuente Orientado a Objetos Python admite procedimiento orientado a la programaci n asi como programaci n orientada a objetos En lenguajes orientados a procedimientos el programa se basa en procedimientos o funciones que no son sino piezas reutilizables de programas Python tiene una forma muy poderosa pero simple de hacer programaci n orientada a objetos Exportable Puede incrustar Python dentro de sus programas de C C para dar capacidades scripting para los usuarios de su programa Biblioteca extensa La biblioteca est ndar de Python es realmente enorme Esta involucra expresiones regulares generaci n de documentaci n pruebas unitarias bases de datos navegadores web CGI FTP correo electr nico XML XML RPC HTML archivos WAV criptografia GUI y otras cosas depende del sistema Tabla 1 06b Caracter sticas de Python A 1 4 Motor de Base de Datos PostgreSql PostgreSqles un SGBD relacional orientado a objetos y libre publicado bajo la licencia BSD ze Scripting Es un programa usualmente simple que por lo regular se almacena en un archivo de texto plano SGBD Sistema de Gesti n de Base de Datos 2 Licencia BSD es la licencia de software otorgada principalmente para los sistemas BSD Berk
81. Bold DejaVuSerif Bold ttf Times Italic DejaVuSerif Italic ttf Helvetica DejaVuSans ttf Helvetica BoldItalic DejaVuSans BoldO0blique ttf Helvetica Bold DejaVuSans Bold ttf Helvetica Italic DejaVuSans Oblique ttf FCouri r DejaVuSansMono ttf Courier Bold DejaVuSansMono Bold ttf Courier BoldItalic DejaVuSansMono BoldOblique ttf Courier Italic DejaVuSansMono Oblique ttf Helvetica ExtraLight DejaVuSans ExtraLight ttf TimesCondensed Roman DejaVuSerifCondensed ttf TimesCondensed BoldItalic DejaVuSerifCondensed BoldItalic ttf TimesCondensed Bold DejaVuSerifCondensed Bold ttf TimesCondensed Italic DejaVuSerifCondensed Italic ttf HelveticaCondensed DejaVuSansCondensed ttf HelveticaCondensed BoldItalic DejaVuSansCondensed BoldOblique ttf HelveticaCondensed Bold DejaVuSansCondensed Bold ttf HelveticaCondensed Italic DejaVuSansCondensed Oblique ttf 158 Chapter 14 Reports CHAPTER FIFTEEN 118N INTERNATIONALIZATION Explain about the multiple language application 15 1 Introduction Open Object Developer Book Release 1 0 160 Chapter 15 118n Internationalization Part V Part 4 Business Process Advance Configuration 161 CHAPTER SIXTEEN SERVER ACTION 16 1 Introduction Server action is an new feature to the OpenERP available since
82. Default path used by the client when saving loading datas Default values login login admin port 8069 server 192 168 1 4 printer path none preview True softpath none logging output stdout logger verbose True level ERROR form autosave False 5 1 Working with Launchpad 25 Open Object Developer Book Release 1 0 client default_path home user Web Client Configuration Get a clone of each repository rp openobject server trunk server rp openobject client trunk client rp openobject client web trunk client web rp openobject addons trunk addons bzr clone lp op bzr clone lp op bzr clone lp op bzr clone lp op n n n n If you want to get a clone of the extra addons repository you can execute this command bzr clone 1p openerp commiter openobject addons trunk extra addons extra addons run the setup scripts in the respective directories python2 4 setup py build python2 4 setup py install Currently the initialisation procedure of the server parameter init all to populate the database seems to be broken in trunk It is recommended to create a new database via the gtk client Before that the web client will not work Start OpenERP server like this openerp server py addons path path to my addons The bin addons will be considered as default addons directory which can be overriden by the path to my addons That i
83. Documentos Notas Para Gerencia Adicionales 4 4 1a0 de0 gt DESCRIPCION MESES MIERES eee FECHA DE VENCIMIENTO Confirmar x El contrato se encuentra Firmado AFinanciar 45000 00 Ok Total Letras 46350 00 Total Pagare 46350 00 EE TRESCIENTOS CINCUENTA Borrador Esperando Aprobacion Aprobado gt Encartera RESERVAS pacare CONTRATO mutuo Revision LC Contrato Firmado Figura 010a Generar Letras de Pago Detalle del Comprobante Cuotas a pagar Crear 4 1a36 de36 gt PENDIENTE DE PAGO FECHA DE PAGO VALOR A PAGAR ABONADO INTERES POR MORA CANCELADO APAGAR Cuota 1 de 26 672 00 0 00 0 00 0 00 Cuota 2 de 26 672 00 0 00 0 00 0 00 gt Cuota 3 de 26 672 00 0 00 0 00 0 00 Cuota 4 de 36 672 00 0 00 0 00 0 00 Cuota S de 25 672 00 0 00 0 00 0 00 Cuota 6 de 25 672 00 0 00 0 00 0 00 Cuota 7 de 25 672 00 0 00 0 00 0 00 Cuota 8 de 26 672 00 0 00 0 00 0 00 gt Cuota 9 de 26 672 00 0 00 0 00 0 00 x Cuota 10 de 26 672 00 0 00 0 00 0 00 Cuota 11 de 26 672 00 0 00 0 00 0 00 Cuota 12 de 36 672 00 0 00 0 00 0 00 Cuota 13 de 25 672 00 0 00 0 00 0 00 gt Cuota 14 de 36 672 00 0 00 0 00 0 00 Cuota 15 de 26 672 00 0 00 0 00 0 00 Cuota 16 de 26 672 00 0 00 0 00 0 00 Cuota 17 de 25 672 00 0 00 0 00 0 00 Cuota 18 de 26 672 00 0 00 0 00 0 00 Cuota 19 de 36 672 00 0 00 0 00 0 00
84. ERP is a based on a client server architecture The server and the client s communicate using the XML RPC protocol XML RPC is a very simple protocol which allows the client to do remote procedure calls The called 183 Open Object Developer Book Release 1 0 function its arguments and the result of the call are transported using HTTP and encoded using XML For more information on XML RPC please see http www xml rpc com Architecture The diagram below synthesizes the client server architecture of Open ERP Open ERP server and Open ERP clients communicate using XML RPC Tiny ERP Server Client The logic of Open ERP is configured on the server side The client is very simple it is only used to post data forms lists trees and to send back the result to the server The updates and the addition of new functionality don t need the clients to be frequently upgraded This makes Open ERP easier to maintain The client doesn t understand what it posts Even actions like Click on the print icon are sent to the server to ask how to react The client operation is very simple when a user makes an action save a form open a menu print it sends this action to the server The server then sends the new action to execute to the client There are three types of action e Open a window form or tree e Print a document e Execute a wizard 21 1 2 Python Access tiny server using xml rpc Demo script e Creat
85. GC Active El TA X Reconciliation nes Reconcihatron transactions transaction T Credit amounts FT Debit amount T wrte Off Enregstrements 1 1 Document en cours geation 5 Result call a method to determine which state is next def _check_refund self cr uid data context return datas form refund_id and wait_invoice or end result type choice next_state _check_refund Result print a report def _get_invoice_id self uid datas return ids actions _get_invoice_id result type print report account invoice get_id_from action True state check_refund Result client run an action 132 Chapter 13 Creating Wizard The Process Open Object Developer Book Release 1 0 def _makeInvoices self cr uid data context return domain id in join map str newinv name Invoices view type form view_ mode tree form res_model account invoice view_id False context type out_refund type ir actions act_window result type action action makelnvoices state end The result of the function must be an all the fields of an ir actions Here it is an ir action act_window so the client will open an new tab
86. IDR Classless Inter Domain Routing 8 GiST Es una biblioteca de gr ficos cient ficos desarrollada en lenguaje de programaci n C Pontificia Universidad Cat lica del Ecuador Facultad de Ingenier a Escuela de Sistemas Andrea Garc a Torres P gina 20 Tema Desarrollo de un M dulo de Cr dito Automotriz en OpenERP para la Empresa Autov a S A del cant n Quito Provincia de Pichincha 2 Sistemas de Informaci n OpenERP OpenERP es un completo sistema de gesti n empresarial ERP de c digo abierto que cubre las necesidades de las reas de contabilidad finanzas ventas RRHH compras proyectos y almac n entre otras 2 1 Que es OpenERP OpenERP es una potente herramienta para la planificaci n y gesti n de los recursos empresariales Desde el punto de vista t cnico y funcional est preparada para trabajar en casi cualquier proceso de negocio Es un sistema con todas las caracter sticas de aplicaciones de negocio con m s de 700 m dulos A pesar de la complejidad de los trabajos t cnicos y la importancia de los miembros de la comunidad en el desarrollo de un proyecto tan grande el software que es f cil de usar y consistente sin dejar de ser totalmente abierta Debido a su modularidad desarrollos colaborativos en OpenERP han sido limpiamente integrados lo que permite a cualquier empresa elegir entre una larga lista de funciones disponibles Al igual que con la mayor a del software de c digo abierto la a
87. N INTERES FECHA DE VENCIMIENTO AFinanciar 45000 00 Valor Letra 15450 00 Total Letras 46350 00 Total Pagare 46350 00 Total Pagare Texto CUARENTA Y SEIS MIL i2 Calcular TRESCIENTOS CINCUENTA Borrador Esperando Aprobacion Aprobado En cartera E RESERVAS E PAGARE E CONTRATO E MUTUO Revisi n O Anular C Contrato Firmado Figura 009 Reportes Especiales de Contrato Historia de Usuario No 010 Generar Letras de Pago Acuerdo con el cliente En esta historia de usuario se acord con el cliente que podr confirmar si se firma o no el contrato para poder generar las letras de pago Implementaci n Esta historia de usuario ser implementada basado en el acuerdo con el Cliente seg n el requerimiento pedido se desarroll que cuando se de click en el bot n Contrato se visualice un cuadro que pida confirmar si se firm el mismo de tal manera que una vez confirmado el sistema genera las letras de pago a cancelar Pontificia Universidad Cat lica del Ecuador Facultad de Ingenier a Escuela de Sistemas Andrea Garc a Torres P gina 8 Tema Desarrollo de un M dulo de Cr dito Automotriz en OpenERP para la Empresa Autov a S A del cant n Quito Provincia de Pichincha Presentacion de los requerimientos ______ e Credito Product CHEVROLET 00000 VERDE 2011 SGHIKIKKK Precio 50000 00 Entrada 5000 Financiamiento En meses 3 Interes Anual 12 00 Adicionales
88. OCK_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 101 Open Object Developer Book Release 1 0 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 e groups specifies which group of user can see the menu item example groups admin See section Man agement of Access Rights for more information Multiple groups should be separated
89. Once installed Open ERP has a modular structure that allows modules to be added as needed 8 1 The Modules Introduction The usage of the modules is the way to extend Tiny ERP functionality The default Tiny ERP installation is organized as a kernel and various modules among which we can distinguish e base The most basic module Defines ir property res company res request res currency res user res partner e crm Customer amp Supplier Relationship Management e sale Sales Management e mrp Manufacturing Resource Planning New modules can be programed easily and require a little practice of XML and Python 8 1 1 Module Structure The Modules 1 Introduction 2 Files amp Directories a __terp__ py b __init__ py c XML Files i Actions ii Menu Entries 111 Reports 1v Wizards 3 Profiles 49 Open Object Developer Book Release 1 0 Modules Files and Directories All the modules are located in the server addons directory The following steps are necessary to create a new module create a subdirectory in the server addons directory create a module description file __terp__ py create the Python file containing the objects create xml files that download the data views menu entries demo data optionally create reports wizards or workflows The Modules Files And Directories XML Files XML files located in the module directory are used to modify the structure of the datab
90. PS oR 134 13 5 OSv memory Wizard Syste pcs ere Po Eee ek ee Ree AA 136 14 Reports 139 CONTENTS Open Object Developer Book Release 1 0 14 1 OpenOffice org TEPOT S 2 yo be ne ea ae Ae Re EES Be Lee a 139 14 2 XSLERML teports s 45 by ew hee eR SD Bee A bw eee do e oS 144 14 3 Reports without corporate header capna dedo ad dnp 153 14 4 Each report with its own corporate header 154 FAD Bar Codes LL Lima Lima les dd dpi MW ah ce ae HO Bee Re se 155 146 How to addanewr port csc eoa du Re eee EDR Sh eee eee d head 156 ET Usual TAGS eege bn 84 pew dun Se eG ERASE CUS bw Oe Ee he PRET 156 148 Unicode reports sie es aden ea RME Ba AR weak Bele RE eee A a oe 157 15 118n Internationalization 159 5 1 Introd ctio g sa ares e sue Gre PSS AA eae Eee oo eg 159 V Part 4 Business Process Advance Configuration 161 16 Server Action 163 IG ntrodwetOny s era a are aE BAS Ne Le EEE ew Bete eS a 163 16 2 Client Act Onin ion dr ne Ree ae REA ee ee ee ee Hee Se a Be 163 16 3 TZEEN 2 cob BR e A SER A COREE ERS Sete a a 2 164 IGA Emal ACH ON EL LS Rca Se ee ee a de A ee a Ge EA Re eS aS 165 16 5 Create Object ociosas rs e Re Ree Cheese eas been de 166 16 6 Write Object 2 5 5 os PE HOT HERES SG howe EAMES SSS Pet ee bee E 167 16 7 Multi Acton uds Oe Blea BS eee a Be be ee ee Bae ee ya ed es 167 17 Dashboard 169 VI Part 5 Migration Upgradation Testing 171 18 Data Migration
91. Pontificia Universidad Catolica del Ecuador DAD CATA Ko o y a NTI vo FIC 4 Yoav Sty A ke ys yest Facultad de Ingenier a Escuela de Sistemas Disertacion de Grado Desarrollo de un M dulo de Cr dito Automotriz en OpenERP para la Empresa Autovia S A del Cant n Quito Provincia de Pichincha Andrea Garc a Torres Quito Ecuador 2014 Tema Desarrollo de un M dulo de Cr dito Automotriz en OpenERP para la Empresa Autov a S A del cant n Quito Provincia de Pichincha DEDICATORIA Gracias a esas personas importantes en mi vida que siempre estuvieron listas para brindarme toda su ayuda ahora me toca regresar un poquito de todo lo inmenso que me han otorgado Con todo mi cari o est tesis se las dedico a ustedes Pap Asdr bal Garc a Mam Alice Torres Tema Desarrollo de un M dulo de Cr dito Automotriz en OpenERP para la Empresa Autov a S A del cant n Quito Provincia de Pichincha AGRADECIMIENTO A mis padres Alice Torres Torres y Asdr bal Garc a Torres que siempre me han dado su apoyo incondicional y a quienes debo este triunfo profesional por todo su trabajo y dedicaci n para darme una formaci n acad mica y sobre todo humanista y espiritual De ellos es este triunfo y para ellos es todo mi agradecimiento Para mis hermanos David Sof a y Alexandra para que tambi n contin en super ndose a toda mi familia A TRESCLOUD la empresa que me permitieron desar
92. Prints only date e time ctime Prints the actual date amp time time ctime splitQ 3 Prints only time e o type in in_invoice out_invoice and Invoice or removeParentNode tr If the type is in_invoice or out_invoice then the word Invoice is printed if it s neither the first node above it of type tr will be removed 14 1 3 SXW2RML Open Report Manual About The Open ERP s report engine Open Report is a module that allows you to render high quality PDF document from an OpenOffice template sxw and any relational database It can be used as a OpenERP module or as a standalone program Open Report has been developed by Fabien Pinckaers tiny_sxw2rml can be found at http www tinyreport org download html SXW to RML script setup Windows users In order to use the tiny_sxw2rml py Python script you need the following packages installed e Pyhton http www python org e ReportLab http www reportlab org Installation e Libxml for Python http users skynet be sbi libxml python 142 Chapier 14 Reports Open Object Developer Book Release 1 0 SXW to RML script setup Linux Open source users Ensure normalized_o002rml xsl is available to tiny_sxw2rml otherwise you will get an error like e failed to load external entity normalized_oo2rml xsl Running tiny_sxw2rml When you have all that installed just edit your report templat
93. Provincia de Pichincha El componente de Gesti n Reportes se subdivide en varias historias de Usuario e Reportes para Administradores e Cuadro Grafico de Reportes Dashboard w Prueba Reportes para Administradores En la historia de usuario reflejara los reportes gerenciales Prueba de Aceptaci n Historia de Usuario 022 Reportes para Administradores Las entradas que el usuario realizar es acceder al sistema con el nombre y usuario luego se dirigir al men Cr dito de Autos Reportes Los resultados que el sistema debe mostrar se reflejan los informes gerenciales tales como Contratos Activos Estado de Contratos Estado de Cuotas Clientes en Mora Listado de Egresos cada reporte contiene filtros espec ficos x Prueba Cuadro Grafico de Reportes Dashboard En la historia de usuario reflejara resumen informes en la parte principal del menu Prueba de Aceptaci n Historia de Usuario 023 Cuadro Grafico de Reportes Dashboard Las entradas que el usuario realizar es acceder al sistema con el nombre y usuario luego se dirigir al men Cr dito de Autos Reportes Los resultados que el sistema debe mostrar el Dashboard es la vista inicial al ingresar a nuestro men Cr dito de Autos resumen basado en las solicitudes de cr dito los contratos embargados contratos con pagos pendientes Solicitudes Pendientes El componente de Grupos de Usuario se subdivide en varias hist
94. RP para la Empresa Autov a S A del cant n Quito Provincia de Pichincha PRACTICAS DESCRIPCION Integraci n Continua Integrar y construir el sistema varias veces al dia cada vez que una tarea se ha completado SIERO Trabajar m s de 40 horas a la semana como una regla Trabajo Nunca trabaje horas extras por segunda semana consecutiva Cliente en el Sitio Incluya un verdadero usuario en vivo en el equipo disponible a tiempo completo para responder a las preguntas Estandares Los programadores escriben todo el c digo de acuerdo Programaci n con las normas que enfatizan la comunicaci n a trav s del c digo Tabla 1 04b Las Pr cticas de XP A 1 2 5 Ciclo de Vida de un Proyecto utilizando XP El proyecto ideal XP pasa por una fase inicial de desarrollo corto seguido por a os de apoyo a la producci n simult nea y el refinamiento y la jubilaci n finalmente cuando el proyecto ya no tiene sentido En la tabla 1 05a y la tabla 1 05b se detalla en qu consisten este ciclo de vida FASE DESCRIPCION Exploraci n En esta fase se cubre la inicializaci n del proyecto los requerimientos del cliente de nivel alto y el prototipo t cnico Planificaci n Consiste en la priorizaci n del trabajo a realizar en un desglose de las historias de usuario de las entregas y en la elaboraci n de un plan inicial Tabla 1 05a Las fases en el ciclo de vida de XP A Pontificia Universidad Cat lica del Ecu
95. WHO IS THIS BOOK FOR Open Object Developer Book Release 1 0 10 Chapter 2 Who is this book for ook Contents CHAPTER THREE CONTENT OF THE BOOK Open Object Developer Book Release 1 0 12 Chapter 3 Content of the book CHAPTER FOUR ABOUT THE AUTHOR S Open Object Developer Book Release 1 0 14 Chapter 4 About the author s Part II Part 1 Getting Started with OpenERP CHAPTER FIVE DEVELOPMENT ENVIRONMENT 5 1 Working with Launchpad 5 1 1 Registration and Configuration Before you can commit on launchpad you need to create a login Go to https launchpad net gt log in register on top right You enter your e mail address and you wait for an e mail which will guide you trough the process needed to create your login This login is only needed if you intend to commit on bazaar on openerp commiter or on your own branch You can refer to this link https help launchpad net YourAccount NewAccount Any contributor who is interested to become a commiter must show his interest on working for openerp project and his ability to do it in a proper way as the selection for this group is based on meritocracy It can be by proposing bug fixes features requested on our bug tracker system You can even suggest additional modules and or functionalities on our bug tracker system You contribute or join Open ERP team https help launchpad net Teams Joining Contributors are p
96. a Escuela de Sistemas Andrea Garc a Torres P gina 8 Tema Desarrollo de un M dulo de Cr dito Automotriz en OpenERP para la Empresa Autov a S A del cant n Quito Provincia de Pichincha En la historia de usuario permite notificar al usuario sus pagos mediante mails Prueba de Aceptaci n Historia de Usuario 015 Notificaciones de Estado del Cobro Las entradas que el usuario realizar es acceder al sistema con el nombre y usuario luego se dirigir al men Cr dito de Autos Pagos Pagos Los resultados que el sistema debe mostrar en la parte superior izquierda tenemos el men Envi de Notificaciones el cual abrir una ventana mostrando a quien se remite el mail y el contenido p Prueba Registrar la entrega de Letras de Pago En la historia de usuario permite registrar las letras de pago entregadas Prueba de Aceptaci n Historia de Usuario 016 Registrar la entrega de Letras de Pago Las entradas que el usuario realizar es acceder al sistema con el nombre y usuario luego se dirigir al men Cr dito de Autos Letras de Pago Letras de Pago Los resultados que el sistema debe mostrar es todas las letras de Pago de los clientes en vista rbol lo cual podr ser filtrado por cliente y por letras entregadas y no entregadas para seleccionar las que se est n entregando y guardar por l nea el cambio q Prueba Letras de Pago Cobradas En la historia de usuario permite v
97. a 011 Procesos de la Solicitud Pontificia Universidad Cat lica del Ecuador Facultad de Ingenier a Escuela de Sistemas Andrea Garc a Torres P gina 10 Tema Desarrollo de un M dulo de Cr dito Automotriz en OpenERP para la Empresa Autov a S A del cant n Quito Provincia de Pichincha Historia de Usuario No 012 Registro de los Pagos de Clientes Acuerdo con el cliente En esta historia de usuario se acord con el cliente que cuando se haya confirmado el contrato del Cliente en el sistema se cargue enseguida el formulario para cobrar la entrada y las letras de pago Implementaci n Esta historia de usuario ser implementada basada en el acuerdo con el Cliente una vez confirmado el contrato se cargara el formulario de Cobros para los Clientes este se cargara con la informaci n de nuestro cliente autom ticamente desde este formulario se podr registrar el pago del Cliente en proceso de compra Presentaci n de los requerimientos Fecha de Creacion Cliente Fecha Tipo de Pago Monto Cuentas por pagar Guardar Cancelar 29 05 2014 22 33 17 Catalina Silva 29 05 2014 22 33 17 Efectivo 0 00 Detalle del Comprobante Cuotas a pagar Crear PENDIENTE DE PAGO FECHA DE PAGO Cuota 1 de 25 Cuota 2 de 26 Cuota 3 de 26 Cuota 4 de 26 4 Cuota S de 25 Cuota 6 de 26 Cuota 7 de 25 Cuota 8 de 36 Cuota 9 de 25 Cuota 10 de 26 Cuota 11 de 25 Cuota 12
98. a Conyuge Cliente MA Garante Sin Garante Credito Product CHEVROLET QQQQO VERDE 2011 SGHIKIKKK 3 Precio 50000 00 Entrada 5000 Financiamiento En meses 3 Interes Anual 12 00 Adicionales Documentos Notas Para Gerencia Documentos del Cliente Predio Y Copia Rol de Pagos Copia RUC Copia Cedula Copia Papeleta Y Copia pago agua luz telefono W Figura 007 Manejo de Documentos Historia de Usuario No 008 Validar Informaci n Acuerdo con el cliente En esta historia de usuario se acord con el cliente que existir pasos de validaci n esto solo podr hacerlo la persona a cargo de este procedimiento Implementaci n Pontificia Universidad Cat lica del Ecuador Facultad de Ingenier a Escuela de Sistemas Andrea Garc a Torres P gina 6 Tema Desarrollo de un M dulo de Cr dito Automotriz en OpenERP para la Empresa Autov a S A del cant n Quito Provincia de Pichincha Esta historia de usuario ser implementada basado en el acuerdo con el Cliente lo que implica que el sistema estar constituido por esta validaci n Presentaci n de los requerimientos Cliente Cliente Catalina Silva lB Conyuge Cliente LE Garante Sin Garante Credito Product CHEVROLET QQQQQ VERDE 2011 SGHIKIKKK va Precio 50000 00 Entrada 5000 Financiamiento En meses 3 Interes Anual 12 00 Adicionales Documentos Notas Para Gerencia Adicionales Crear 1a0 de
99. a maximum of locks workflows commit at the end of each activity This approach is reasonable because an activity is only started if the conditions of the transactions are satisfied The only problem comes from exceptions due to programming errors in that case only transactions belonging to the entirely terminated activities are executed Other transactions are rolled back 12 9 Creating a Workflow Steps for creating a simple state changing workflow for a custom module called mymod 12 9 1 Define the States of your object The first step is to define the States your object can be in We do this by adding a state field to our object in the _columns collection _columns state fields selection new New 7assigned Assigned 7negotiation Negotiation won Won 7lost Lost Stage readonly True 122 Chapter 12 Workflow Business Process Open Object Developer Book Release 1 0 12 9 2 Define the State change Handling Methods Add the following additional methods to your object These will be called by our workflow buttons def mymod_new self cr uid ids self write cr uid ids state new return True def mymod_assigned self cr uid ids self write cr uid ids state assigned return True def mymod_negotiation self cr uid ids self write cr uid ids state negotiati
100. a metodolog a XP funcion adecuadamente para realizar este m dulo complementario a pesar que no se aplic el 100 de la metodolog a 4 2 Recomendaciones Se debe percatar siempre que exista inteligencia colectiva que apoye este tipo de desarrollos en OpenERP Se recomendar a trabajar con la ltima versi n estable de OpenERP para el incremento de funcionalidad En la carrera de Ingenier a en Sistemas de la Universidad Cat lica del Ecuador se deber a impartir conocimiento sobre los ERP a los alumnos por medio de Seminarios Pontificia Universidad Cat lica del Ecuador Facultad de Ingenier a Escuela de Sistemas Andrea Garc a Torres P gina 57 Tema Desarrollo de un M dulo de Cr dito Automotriz en OpenERP para la Empresa Autov a S A del cant n Quito Provincia de Pichincha e En la carrera obtenemos conocimientos sobre sistemas operativos libres y privados este conocimiento se deber a profundizar en el manejo de sistemas operativos libres ya que la mayor a de empresas usan sistemas operativos libres e Es recomendable utilizar metodolog as giles como XP para el desarrollo de nuevos m dulos en OpenERP e Hay que profundizar el conocimiento sobre los sistemas operativos libres que es lo que el mercado demanda e Se recomienda que el sector productivo evalu los sistemas ERP en general y en particular los de esquema libre para mejorar su funcionamiento operativo Pontificia Universid
101. abel and the field string change the field label Note that this label is also used in the search view see select attribute above domain can restrict the domain Example domain partner_id partner_id widget can change the widget Example widget one2many_list one2one_list one2many_list many2one_list many2many x url email image x float_time x reference e on_change define a function that is called when the content of the field changes Example on_change onchange_partner type partner_id See ViewsSpecialProperties for details e attrs Permits to define attributes of a field depends on other fields of the same window It can be use on page group butt Format attribute field_name operator value field_name operator value attribute field_name ope where attribute will be readonly invisible required Default value Example in product product lt field digits 14 3 name volume attrs readonly type service gt Example Here s the source code of the view of a sale order object This is the same object as the object shown on the screen shots of the presentation Example 10 5 Design Elements 93 Open Object Developer Book Release 1 0 lt xml version 1 0 gt lt terp gt lt data gt lt record id view_partner_form model
102. able columns Example 144 Chapter 14 Reports Open Object Developer Book Release 1 0 Here is as an example the different files for the simplest report in the ERP Ret Name pnk Tiny sprl ASUS Agrolait Banque Plein Aux As China Export Ditrib PC Eoole de Commerce de Liege Elec Import Maxtor Mediapole SPRL os Opensides sprl Tecsas sarl XML Template lt xml version 1 0 gt lt ids gt lt id type fields name id gt lt name type field name name gt lt ref type field name ref gt lt id gt lt ids gt XML data file generated lt xml version 1 0 gt lt ids gt lt id gt lt name gt Tiny sprl lt name gt lt ref gt pnk00 lt ref gt lt id gt lt id gt lt name gt ASUS lt name gt lt ref gt lt ref gt lt id gt lt id gt lt name gt Agrolait lt name gt lt ref gt lt ref gt lt id gt lt id gt lt name gt Banque Plein Aux As lt name gt lt ref gt lt ref gt 14 2 XSL RML reports 145 Open Object Developer Book Release 1 0 lt id gt lt id gt lt name gt China Export lt name gt lt ref gt lt ref gt lt id gt lt id gt lt name gt Ditrib PC lt name gt lt ref gt lt ref gt lt id gt lt id gt lt name gt Ecole de Commerce de Liege lt name gt lt ref gt lt ref gt lt id gt lt id gt lt name gt Elec Import lt name gt lt ref gt lt ref gt lt id gt
103. ad Cat lica del Ecuador Facultad de Ingenier a Escuela de Sistemas Andrea Garc a Torres P gina 58 Tema Desarrollo de un M dulo de Cr dito Automotriz en OpenERP para la Empresa Autov a S A del cant n Quito Provincia de Pichincha Bibliograf a A Garc a A 2013 Desarrollo de un M dulo de Cr dito Automotriz en OpenERP para la Empresa Autov a S A del cant n Quito Provincia de Pichincha Quito B Beck K 1999 Extreme Programming Explained Addison Wesley Pub Co C Davenport T 1988 Putting the enterprise into the enterprise system D Duque R G n d Python para todos E Extreme Programming n d Extreme Programming A gentle Retrieved 10 20 2013 from www extremeprogramming org F Garc a A 2013 Desarrollo de un M dulo de Cr dito Automotriz en OpenERP para la Empresa Autov a S A del cant n Quito Provincia de Pichincha Quito G H S C 2005 A Byte of Python H Liaquat Hossain J D 2002 Enterprise Resource Planning Global Opportunities amp Challenges Idea Group Publishing I Ron Jeffries A A 2000 Extreme Programming Installed Addison Wesley Pub Co 1 edici n REFERENCIAS 1 WIKIPEDIA 2013 10 16 Retrieved 11 9 2013 from http es wikipedia org wiki COBOL 2 WIKIPEDIA 2013 03 07 Retrieved 11 09 2013 from http es wikipedia org wiki ALGOL 3 Wikipedia 2013 Wikipedia Retrieved 10 21 2013 from http es wik
104. ador Facultad de Ingenier a Escuela de Sistemas Andrea Garc a Torres P gina 12 Tema Desarrollo de un M dulo de Cr dito Automotriz en OpenERP para la Empresa Autov a S A del cant n Quito Provincia de Pichincha FASE DESCRIPCION Iteraciones Producci n Consiste en la fase de puesta en producci n o deployment en el entorno del cliente Mantenimiento Tabla 1 05b Las fases en el ciclo de vida de XP A 1 2 6 Roles A diferencia de las metodolog as tradicionales en XP m s que asignar roles que denotan estatus o importancia esta metodolog a conf a en la sinergia que pueda existir entre las personas que conforman el equipo XP para crear xito en el proyecto Es as como lo roles en XP no son est ticos por ejemplo en un momento determinado puedes ser un desarrollador mientras que en otro momento ser s el encargado del seguimiento del proyecto tracker Alcanzar las metas y construir lo que el cliente necesita es el objetivo primordial del equipo XP y para esto se vale de una colaboraci n efectiva que se asume como compromiso por parte de cada uno de los integrantes resaltando que en XP las personas en s son m s importantes para la consecuci n del proyecto que el mismo proceso Cabe recalcar que XP si sigue un proceso pero que el empoderamiento a personas guiados por buenas pr cticas de desarrollo maximizan los resultados ae Deployment Consiste en todas las actividades que hacen q
105. anonos 15 1 3 1 Historia de Python ri 16 1 3 2 Caracteristicas de Python nities a A a died 16 1 4 Motor de Base de Datos PostgreSql ooocononoccnonccononcconnnnonannnononcnnnnanononcnrnnn conan ancrnnnnos 18 1 4 1 Historia de Poster lunar 19 1 4 2 Fig Tei Cea oh or TE a a E TAA E AA 19 2 Sistemas de Informaci n OpenERP 21 2 1 Quees OpenERP seserian diiniita nio AE 21 2 2 Historia de OpenER Psi cmd 22 Tema Desarrollo de un M dulo de Cr dito Automotriz en OpenERP para la Empresa Autov a S A del cant n Quito Provincia de Pichincha 23 Arquitectira OpenERP P a a Ne annee ne 23 2 3 1 Arquitectura Versi n 6 lastut taiii kain ia iieiaei dun due Tant iaai haai 24 2 3 2 Arquitectura MVC iii 25 2 3 3 Arquitectura D CO a ou 26 2 3 4 XMEARPC ISON SRP C Sd dant 30 1 5 Est ndares De Desarrollo ida 32 2 3 5 Modelo de Base de Datos nana aaa 36 3 Proceso de Desarrollo 38 3 1 A a a ner nn ner a nn ne encre interet A 38 3 2 Historias de USA 39 3 2 1 Identificaci n de Historias de Usuario ooooccccconoccccnonancncnnnnncnnnononcnnnonnnnnncnnnnn cnn 39 3 2 2 Estimaciones de las Historias de Usuario 44 3 3 Planificaci n de la Entrega ono nonnrennnenannnenns 46 3 3 1 Velocidad del Proyecto se 46 3 3 2 A in nets aonn ia amia aiaei aa ini ed nee aE 46 3 3 3 Plan de Entrega sienne 47
106. ar los c lculos Las entradas que el usuario realizar es acceder al sistema con el nombre y usuario luego se dirigir al men Cr dito de Autos Venta de Autos Solicitud de Cr dito en las solicitudes ingresadas y que se encuentran en el estado Borrador podemos calcular los valores esto se puede realizar igual para la primera vez que crean una Solicitud de Compra Pontificia Universidad Cat lica del Ecuador Facultad de Ingenier a Escuela de Sistemas Andrea Garc a Torres P gina 54 Tema Desarrollo de un M dulo de Cr dito Automotriz en OpenERP para la Empresa Autov a S A del cant n Quito Provincia de Pichincha Los resultados que el sistema debe mostrar el sistema verifica los valores del precio entrada financiamiento inter s si el sistema verifica que los campos son negativos muestra un mensaje de error se verifica el inter s que no sea mayor que 100 por ciento si lo fuera se mostrar un mensaje de error SEGUNDA ITERACI N El componente de Gesti n de Cobros se subdivide en varias historias de Usuario e Cargar Cobros Pendientes e Inter s por Mora c Prueba Cargar Cobros Pendientes En esta historia se ingresa el cliente entonces el sistema carga la informaci n de los cobros pendientes del cliente Prueba de Aceptaci n Historia de Usuario 013 Cargar Cobros Pendientes Esta historia de usuario tiene condiciones si el cliente no tiene deudas pendientes no se carga ningu
107. artner_id cr fetchone 0 cr execute select country_id from res_partner_address where partner_id d partner_id country_id cr fetchone 0 cr execute select name from res_country where id d country_id del partner_id del country_id country_name cr fetchone 0 Of course you can do better if you develop smartly in SQL using joins or subqueries But you have to be smart and most of the time you will not be able to make such improvements e Maybe some parts are in others functions e There may be a loop in different elements e You have to use intermediate variables like country_id The first operation as an object call is much better for several reasons e It uses objects facilities and works with modules inheritances overload e It s simpler more explicit and uses less code e It s much more efficient as you will see in the following examples e Some fields do not directly correspond to a SQL field e g function fields in Python 42 Chapter 7 OpenObject Architecture Mvc Open Object Developer Book Release 1 0 7 2 2 Example 2 Prefetching Suppose that later in the code in another function you want to access the name of the partner associated to your sale order You can use this partner_name sale partner_id name And this will not generate any SQL query as it has been prefetched by the object relational mapping engine of Open ERP 7 2 3 Loops and special
108. ary features through a portable visual tool All common widgets are supported e entries e textboxes e floating point numbers e dates with calendar checkboxes And also all special widgets e buttons that call actions e references widgets one2one many2one many2many one2many in list Widget have different appearances in different views For example the date widget in the search dialog represents two normal dates for a range of date from to Some widgets may have different representations depending on the context For example the one2many widget can be represented as a form with multiple pages or a multi columns list 6 1 OpenObject Server and Modules 37 Open Object Developer Book Release 1 0 Events on the widgets module are processed with a callback mechanism A callback mechanism is a process whereby an element defines the type of events he can handle and which methods should be called when this event is triggered Once the event is triggered the system knows that the event is bound to a specific method and calls that method back Hence callback 6 2 Module Integrations The are many different modules available for Open ERP and suited for different business models Nearly all of these are optional except ModulesAdminBase making it easy to customize Open ERP to serve specific business needs All the modules are in a directory named addons on the server You simply need to copy or del
109. as desired e colspan the number of columns to use e rowspan the number of rows to use e expand if we should expand the group or not e col the number of columns to provide to its children e string optional If set a frame will be drawn around the group of fields with a label containing the string Otherwise the frame will be invisible Example lt group col 3 colspan 2 gt lt field name invoiced select 2 gt lt button colspan 1 name make_invoice states confirmed string Make Invoice type object gt lt group gt Page Defines a new notebook page for the view Example lt page string Order Line gt lt page gt e string defines the name of the page 92 Chapter 10 Views and Events Open Object Developer Book Release 1 0 10 5 2 Data Elements Field attributes for the field tag e select 1 mark this field as being one of the research criteria for this resource search view colspan 4 the number of columns on which a field must extend readonly 1 set the widget as read only required 1 the field is marked as required If a field is marked as required a user has to fill it the system won t save the resource if the field is not filled This attribute supersede the required field value defined in the object nolabel 1 hides the label of the field but the field is not hidden in the search view invisible True hides both the l
110. ase They are used for many purposes among which we can cite e initialization and demonstration data declaration e views declaration e reports declaration e wizards declaration e workflows declaration General structure of Tiny ERP XML files is more detailed in the section Data Loading Files XML Look here if you are interested in learning more about initialization and demonstration data declaration XML files The following section are only related to XML specific to actions menu entries reports wizards and workflows declaration Python Module Descriptor File init__ py The _ init__ py file The _ init__ py file is like any Python module executed at the start of the program It needs to import the Python files that need to be loaded So if you create a module py file containing the description of your objects you have to write one line in __ init__ py import module OpenERP Module Descriptor File __terp__ py In the created module directory you must add a __terp__ py file This file which must be in Python format is responsible to 1 determine the XML files that will be parsed during the initialization of the server and also to 2 determine the dependencies of the created module 50 Chapter 8 First Module to OpenERP Open Object Developer Book Release 1 0 This file must contain a Python dictionary with the following values name The Plain English name of the module version The versio
111. ccesibilidad la flexibilidad y facilidad de uso son las palabras clave importantes para el desarrollo OpenERP es el nico sistema de gesti n que se utiliza rutinariamente no s lo por las grandes empresas sino tambi n por muy peque as empresas y empresas independientes Esta diversidad es un ejemplo de la flexibilidad del software un excelente coordinaci n entre las expectativas funcionales de las personas sobre el software y una gran facilidad de uso Y esta diversidad tambi n se encuentra en los diversos sectores y profesiones que utilizan el software incluidos los productos agr colas los textiles las subastas p blicas inform tica y las asociaciones comerciales Pontificia Universidad Cat lica del Ecuador Facultad de Ingenier a Escuela de Sistemas Andrea Garc a Torres P gina 21 Tema Desarrollo de un M dulo de Cr dito Automotriz en OpenERP para la Empresa Autov a S A del cant n Quito Provincia de Pichincha 2 2 Historia de OpenERP Fabien Pinckaers empez con TinyERP el antiguo nombre de OpenERP en 2001 2002 cuando era un estudiante en la Universidad de Louvain la Neuve Cre la empresa Tiny SPRL para poder comercializar sus servicios en el entorno de TinyERP La publicaci n de TinyERP al p blico fue en 2004 y las versiones siguientes fueron a un ritmo acelerado La primera versi n fue publicada el6 de julio de 2004 bajo licencia GPL este indicaba que el sistema hab a empezado a
112. ce _name _inherit In this example the other_material will hold all fields specified by network material and it will additionally hold a new field manuf_warranty All those fields will be part of the table other material New instances of this class will therefore never been seen by views or trees operating on the superclasses table network material This type of inheritancy is known as inheritance by prototyping e g Javascript because the newly created subclass copies all fields from the specified superclass prototype The child inherits data fields and behavior functions of his parent 6 3 Inheritance 39 Open Object Developer Book Release 1 0 6 3 2 Inheritance by Delegation Syntax class tiny_object osv osv _name tiny object _table tiny_object _inherits tiny object _1_ name_col _1_ tiny object _2_ name_col _2 las The object tiny object inherits from all the columns and all the methods from the n objects tiny object _1_ tiny object _n_ To inherit from multiple tables the technique consists in adding one column to the table tiny_object per inherited object This column will store a foreign key an id from another table The values name_col _I_ name_col _2_ name_col _n_ are of type string and determine the title of the columns in which the foreign keys from tiny object _1_ tiny obje
113. ception import org apache xmlrpc client XmlRpcClient import org apache xmlrpc client XmlRpcClientConfiglimpl public int Connect String host int port String tinydb String login String password XmlRpcClient xmlrpcLogin new XmlRpcClient XmlRpcClientConfigImpl xmlrpcConfigLogin new XmlRpcClientConfigImpl 188 Chapter 21 XML RPC Web services Open Object Developer Book Release 1 0 xmlrpcConfigLogin setEnabledForExtensions true xmlrpcConfigLogin setServerURL new URL http host port xmlrpc common xmlrpcLogin setConfig xmlrpcConfigLogin try Connect params new Object tinydb login password Object id xmlrpcLogin execute login params if id instanceof Integer return Integer id return 1 catch XmlRpcException e logger warn XmlException return 2 catch Exception e logger warn Error while logging to TinyERP return 3 Search TODO e Create TODO e Write TODO 21 2 Python Example Example of creation of a partner and his address import xmlrpclib Error while logging to TinyERP sock xmlrpclib ServerProxy http localhost 8069 xmlrpc object uid 1 pwd demo partner title Monsieur name Fabien Pinckaers lang Mie active True partner_id sock execute dbname uid pwd res partner create partner 21 2 Pytho
114. cesses that evolve over time 36 Chapter 6 Moulder Development Approach Open Object Developer Book Release 1 0 An example of workflow used in Open ERP A sales order generates an invoice and a shipping order Server Report Engine Reports in Open ERP can be rendered in different ways e Custom reports those reports can be directly created via the client interface no programming required Those reports are represented by business objects ir report custom High quality personalized reports using openreport no programming required but you have to write 2 small XML files a template which indicates the data you plan to report an XSL RML stylesheet e Hard coded reports e OpenOffice Writer templates Nearly all reports are produced in PDF Server Business Objects Almost everything is a business object in Open ERP they described all data of the program workflows invoices users customized reports Business objects are described using the ORM module They are persistent and can have multiple views described by the user or automatically calculated Business objects are structured in the module directory Client Wizards Wizards are graphs of actions windows that the user can perform during a session Client Widgets Widgets are probably although the origin of the term seems to be very difficult to trace WIndow gaDGETS in the IT world which mean they are gadgets before anything which implement element
115. ci n del Producto Este componente permitir ingresar las caracter sticas de un producto de acuerdo al modelo del negocio Gesti n de Ventas Es el componente del sistema que se encarga del ingreso de las condiciones de la venta del veh culo el cual calcular autom ticamente las cuotas a pagar Gesti n de Cobros Este componente realizara una persona encargada de registrar los pagos de cada cliente Administraci n de Caja Componente que permitir emitir comprobantes de ingreso y egreso Gesti n de Reportes Este componente presenta reportes especiales para los administradores Grupos de Usuario Este componente determina grupos espec ficos que determina los privilegios para los usuarios Con esta premisa en la siguiente secci n describimos cada una de las historias de usuario que conforman el sistema 3 2 1 1 Administraci n del Producto Se detallan las historias de usuario correspondientes al componente del sistema Administraci n del Producto Historia N001 Registrar Informaci n del Veh culo El sistema permitir registrar la marca modelo color a o placa nombre del propietario del veh culo Pontificia Universidad Cat lica del Ecuador Facultad de Ingenier a Escuela de Sistemas Andrea Garc a Torres P gina 40 Tema Desarrollo de un M dulo de Cr dito Automotriz en OpenERP para la Empresa Autov a S A del cant n Quito Provincia de Pichincha 3 2 1 2 Ges
116. cia Universidad Cat lica del Ecuador Facultad de Ingenier a Escuela de Sistemas Andrea Garc a Torres P gina 28 Tema Desarrollo de un M dulo de Cr dito Automotriz en OpenERP para la Empresa Autov a S A del cant n Quito Provincia de Pichincha Existen dos modelos diferentes Uno simplemente se llama modelo y el segundo se llama modelo transitorio Los dos modelos proporcionan las mismas capacidades con una nica diferencia modelos transitorios se borran autom ticamente de la base de datos que pueden ser limpiadas cuando se alcanza un l mite en el n mero de registros o cuando no se ven afectadas por alg n tiempo OpenERP ofrece una amplia gama de diferentes tipos de campos Hay campos b sicos como n mero entero o campos de texto Hay campos relacionales para la aplicaci n de uno a muchos muchos a uno y muchos a muchos Existen los llamados campos de funciones que se calculan de forma din mica y no est n necesariamente disponibles en la base de datos y m s El acceso a los datos es controlado por OpenERP y configurado por diferentes mecanismos Esto garantiza que los diferentes usuarios pueden tener leer y o escribir el acceso s lo a los datos pertinentes El acceso puede ser controlado con respecto a los grupos de usuarios y las reglas basadas en el valor de los datos en s OpenERP apoya un enfoque modular tanto desde una perspectiva de desarrollo y un punto de vista de implementaci n E
117. cia Universidad Cat lica del Ecuador Facultad de Ingenier a Escuela de Sistemas Andrea Garc a Torres P gina 37 Tema Desarrollo de un M dulo de Cr dito Automotriz en OpenERP para la Empresa Autov a S A del cant n Quito Provincia de Pichincha 3 Proceso de Desarrollo En este proyecto se utilizar la metodolog a Extreme Programming la cual empieza identificando las Historias de Usuario Planteamiento y Seguimiento de las Iteraciones Pruebas de Aceptaci n Con el fin de incrementar el conocimiento del proyecto se a ade la secci n de dise o 3 1 Dise o Esta secci n no ser muy r gida siguiendo una metodolog a se mostrar el proceso principal del negocio de la Empresa En la Figura 3 01 se visualiza un diagrama de flujo que indica el proceso del negocio En este proceso principalmente las validaciones de informaci n ser n realizadas por la cajera aprobaciones y embargos ser n realizadas por la gerencia Estos son grupos designados por la empresa que requieren esos permisos Incobrable Indicado manualmente En Embargo Entrega de documentos Solicitud de Credito Revision de Documentos Pasa a ser Contrato una vez firmado Solicitud Negada Cuenta Cancelada Figura 3 01 Proceso de Cr dito de Autos A Pontificia Universidad Cat lica del Ecuador Facultad de Ingenier a Escuela de Sistemas Andrea Garc a Torres P gina 38 Tema Desarrollo de un M dulo
118. cio 25000 00 vendido Y Figura 001 Formulario Autos Pontificia Universidad Cat lica del Ecuador Facultad de Ingenier a Escuela de Sistemas Andrea Garc a Torres P gina 1 Tema Desarrollo de un M dulo de Cr dito Automotriz en OpenERP para la Empresa Autov a S A del cant n Quito Provincia de Pichincha Historia de Usuario No 002 Registrar Informacion del Cliente Acuerdo con el cliente En esta historia de usuario se acord con el cliente que se creara un nuevo objeto para clientes en el que se maneje la informaci n importante del cliente tales como nombre cedula referencias personales referencias bancarias historial contratos Implementaci n Esta historia de usuario ser implementada basado en el acuerdo con el Cliente lo que implica que se cumpla con los requerimientos antes pedidos En esta ventana le permite al usuario ingresar la informaci n del cliente se puede determinar si es cliente ser Cliente o C nyuge Acceder a este men es mediante Cr dito de Autos Datos de Cr ditos Personas Importante para el cliente fue establecer el nombre del men como Personas ya que todos no llegan a ser clientes Presentaci n de los requerimientos Venta de autos RE Personas E Datos de Creditos Guardar Cancelar ttl Nombre Cedula RUC 1708601523 Profesion Cliente Garante Conyuge bo Estado Civil v Pagos Llamadas Telef nicas General Actividad Referencias Perso
119. context Dictionary e res_model is the name of the object on which the action operates e view_type is set to form when the action must open a new form view and is set to tree when the action must open a new tree view 104 Chapter 11 Menu and Actions Open Object Developer Book Release 1 0 e view_mode is only considered if view_type is form and ignored otherwise The four possibilities are form tree the view is first displayed as a form the list view can be displayed by clicking the alternate view button tree form the view is first displayed as a list the form view can be displayed by clicking the alter nate view button form the view is displayed as a form and there is no way to switch to list view tree the view is displayed as a list and there is no way to switch to form view version 5 introduced graph and calendar views e usage is used TODO e target the view will open in new window like wizard They indicate at the user that he has to open a new window in a new tab Administration gt Custom gt Low Level gt Base gt Action gt Window Actions Fichier Utilisateur Formulaire Options Plugins Aide Ds Res SaD jrui menu tree user ir actions act_window View Ref ir ui menu Type of view Tree Domain Value parent_id 3 Enregistrement 1 1 State Document en cours d dition 2 N Nouveau S Sauver D Effacer F Recherche X Suivant W
120. ct _n_ are stored This inheritance mechanism is usually called instance inheritance or value inheritance A resource instance has the VALUES of its parents 40 Chapter 6 Moulder Development Approach CHAPTER SEVEN OPENOBJECT ARCHITECTURE MVC 7 1 MVC Model View Controller According to Wikipedia a Model view controller MVC is an architectural pattern used in software engineering In complex computer applications that present lots of data to the user one often wishes to separate data model and user interface view concerns so that changes to the user interface do not impact the data handling and that the data can be reorganized without changing the user interface The model view controller solves this problem by decoupling data access and business logic from data presentation and user interaction by introducing an intermediate component the controller Controller For example in the diagram above the solid lines for the arrows starting from the controller and going to both the view and the model mean that the controller has a complete access to both the view and the model The dashed line for the arrow going from the view to the controller means that the view has a limited access to the controller The reasons of this design are e From View to Model the model sends notification to the view when its data has been modified in order the view to redraw its content The model doesn t n
121. cultad de Ingenier a Escuela de Sistemas Andrea Garc a Torres P gina 17 Tema Desarrollo de un M dulo de Cr dito Automotriz en OpenERP para la Empresa Autov a S A del cant n Quito Provincia de Pichincha Figura 023 Cuadro Grafico de Reportes Dashboard Historia de Usuario No 024 Permisos de Acceso Acuerdo con el cliente En esta historia de usuario se acord con el cliente poder dar permisos basado en la labor que realiza cada Empleado Implementaci n Estos permisos podr n ser cambiados o asignados solo por el Gerente de la Empresa este se encuentra en el men Configuraci n Usuario para realizar este proceso se defini cuatro grupos espec ficos Log stica Cajero Gerente Administrador Presentaci n de los requerimientos Usuarios qJ E Guardar Cancelar 416 6 A ay SE Nombre de usuario logistica Usuario llogistica Establecer contrase a Activo W Usuario Permisos de acceso Aplicaci n Ventas M Warehouse Management y v Contabilidad y finanzas y v Recursos humanos Terminal punto de venta TPV v Credito Autos Logistica v Administraci n Usabilidad Multiples compa ias Vista extendida Caracteristicas t cnicas Contabilidad analitica Vista UdV producto Product Variant Otro Gestor de empresas Survey User Figura 024 Permisos de Acceso Pontificia Universidad Cat lica del Ecuador Facultad de Ingenieria Escuela de Sist
122. cuted the wizard form a dictionary containing all the values the user completed in the preceding forms If you change values in this dictionary the following forms will be pre completed The result Here are some result examples Result next step result type state state end Indicate that the wizard has to continue to the next state end If this is the end state the wizard stops Result new dialog for the client 130 Chapier 13 Creating Wizard The Process Open Object Developer Book Release 1 0 result type form arch _form fields fields state reconcile Reconcile end Cancel The type form indicate that this step is a dialog to the client The dialog is composed of 1 a form with fields description and a form description 2 some buttons on wich the user press after completing the form The form description arch is like in the views objects Here is an example of form _form lt xml version 1 0 gt lt form title Reconciliation gt lt separator string Reconciliation transactions colspan 4 gt lt field name trans_nbr gt lt newline gt lt field name credit gt lt field name debit gt lt separator string Write Off colspan 4 gt lt field name writeoff gt lt newline gt lt field name writeoff_acc_id colspan 3 gt lt form gt wiew The
123. d gt lt field gt lt record gt Only the fields act_from and act_to are mandatory 12 6 Expressions Expressions are written as in python e True 1 e hello in hello bye Any field from the resource the workflow refers to can be used in these expressions For example if you were creating a workflow for partner addresses you could use expressions like e zip 1400 e phone mobile 12 7 User Role Roles can be attached to transitions If a role is given for a transition that transition can only be executed if the user who triggered it possess the necessary role 12 6 Expressions 121 Open Object Developer Book Release 1 0 Each user can have one or several roles Roles are defined in a tree of roles parent roles having the rights of all their children Example CEO e Technical manager Lead developper Developpers Testers e Sales manager Commercials Let s suppose we handle our own bug database and that the action of marking a bug as valid needs the Testers role In the example tree above marking a bug as valid could be done by all the users having the following roles Testers Lead developper Technical manager CEO 12 8 Error handling As of this writing there is no exception handling in workflows Workflows being made of several actions executed in batch they can t trigger exceptions In order to improve the execution efficiency and to release
124. d 1p openerp community openobject addons YOURLOGIN_YOURBRANCHNAME PJ P3 After having done that your branch is public on Launchpad in the OpenObject project and commiters can work on it review it and propose for integration in the official branch The last line allows you to rebind your branch to the 18 Chapter 5 Development Environment Open Object Developer Book Release 1 0 one which is on launchpad after having done this your commit will be applied on launchpad directly unless you use local bzr pull Get modifications on your branch from others EDIT STUFF bar ci commit your changes on your public branch If your changes fixe a public bug on launchpad you can use this to mark the bug as fixed by your branch bzr ci fixes 1p 453123 Where 453123 is a bug ID Once your branch is mature mark it as mature in the web interface of launchpad and request for merging in the official release Your branch will be reviewed by a commiter and then the quality team to be merged in the official release Read more about Open ERP Team Pushing a new branch If you want to contribute on OpenERP or OpenObject here is the proposed method e You create a branch on launchpad on the project that interest you It s important that you create your branch on launchpad and not on your local system so that we can easily merge share code between projects and centralize futur developments e You develop your own features
125. d name domain gt list of 3 tuples max 250 characters lt field gt lt field name context gt context dictionary max 250 characters lt field gt lt field name res_model gt Open object lt field gt lt field name view_type gt form tree lt field gt lt field name view_mode gt form tree tree form form tree lt field gt lt field name usage gt menu lt field gt lt field name target gt new lt field gt lt record gt Where e id is the identifier of the action in the table ir actions act_window It must be unique e name is the name of the action mandatory e view_id is the name of the view to display when the action is activated If this field is not defined the view of a kind list or form associated to the object res_model with the highest priority field is used if two views have the same priority the first defined view of a kind is used e domain is a list of constraints used to refine the results of a selection and hence to get less records displayed in the view Constraints of the list are linked together with an AND clause a record of the table will be displayed in the view only if all the constraints are satisfied e context is the context dictionary which will be visible in the view that will be opened when the action is activated Context dictionaries are declared with the same syntax as Python dictionaries in the XML file For more information about context dictionaries see section The
126. de 26 VALOR A PAGAR Usuario Administrator B Descripcion Entrada C140002 3 Referencia de pago v Caja Registradora E Interes Por Mora 3 00 ABONADO INTERES POR MORA 672 00 0 00 0 00 672 00 0 00 0 00 672 00 0 00 0 00 672 00 0 00 0 00 672 00 0 00 0 00 672 00 0 00 0 00 672 00 0 00 0 00 672 00 0 00 0 00 672 00 0 00 0 00 672 00 0 00 0 00 672 00 0 00 0 00 672 00 0 00 0 00 Figura 012 Registro de los Pagos de Cliente Pontificia Universidad Cat lica del Ecuador Facultad de Ingenieria Escuela de Sistemas Andrea Garcia Torres 1 a 36 de 36 APAGAR 0 00 0 00 0 00 0 00 0 00 0 00 0 00 0 00 0 00 0 00 0 00 0 00 P gina 11 Tema Desarrollo de un M dulo de Cr dito Automotriz en OpenERP para la Empresa Autov a S A del cant n Quito Provincia de Pichincha SEGUNDA ITERACI N Se desarrollar las historias de usuario de la segunda iteraci n Historia de Usuario No 013 Cargar Cobros Pendientes Acuerdo con el cliente El cliente necesita visualizar los pagos pendientes que tiene el cliente con la Empresa Implementaci n En el men pagos se registran los pagos del cliente para la Empresa al seleccionar el cliente el sistema carga autom ticamente todas las deudas que tiene el cliente con la Empresa Presentaci n de los requerimientos 5 Cuentas por pagar Save Cancel 492 02 Fecha de Creacion 06 04 2014
127. de Cuenta Documentos Notas Para Gerencia Estado de Cuenta 1a4 de4 DESCRIPCION ESTADO FECHA DE VENCIMIENTO VALOR CON INTERES FECHA DE COBRO MONTO COBRADO METODO DE PAGO INTERES DIAS EN MORA MESES CANCELADO Pago Entrada Esperando Pago 30 05 2014 5000 00 0 00 0 00 0 Cuota 1 de 3 Esperando Pago 30 05 2014 15450 00 0 00 12 00 Cuota 2 de 3 Esperando Pago 30 06 2014 15450 00 0 00 12 00 Cuota 3de 3 Esperando Pago 30 07 2014 15450 00 0 00 12 00 AFinanciar 45000 00 Valor Letra 15450 00 Total Letras 46350 00 Total Pagare 46350 00 Total Pagare Texto CUARENTA Y SEIS MIL TRESCIENTOS CINCUENTA Borrador Esperando Aprobacion Aprobado En cartera E RESERVAS 3 PAGARE CONTRATO E MUTUO Pre embargo t2 Renegociar Figura 018 Contratos Embargados Historia de Usuario No 019 Registro de Llamadas Acuerdo con el cliente En esta historia de usuario se acord con el cliente poder registrar las llamadas realizadas al Cliente Implementaci n En el men Llamadas Telef nicas se encuentra el formulario para registrar las llamadas de los clientes el formulario permite ingresar la hora de llamada y el nombre del Cliente Pontificia Universidad Cat lica del Ecuador Facultad de Ingenier a Escuela de Sistemas Andrea Garc a Torres P gina 14 Tema Desarrollo de un M dulo de Cr dito Automotriz en OpenERP para la Empresa Autov a S A del cant n Quito Provincia de Pichincha Presentaci n de los requerimi
128. de desarrollo de software basado en procesos giles que se enfocan en la gente y en los resultados Pontificia Universidad Cat lica del Ecuador Facultad de Ingenier a Escuela de Sistemas Andrea Garc a Torres P gina 6 Tema Desarrollo de un M dulo de Cr dito Automotriz en OpenERP para la Empresa Autov a S A del cant n Quito Provincia de Pichincha De manera global XP se conforma de cuatro partes fundamentales valores principios actividades y pr cticas Por otro lado se puede decir que XP se origin a partir de una serie de colaboraciones tendencias y resultados vistos en sistemas exitosos fundados en valores y principios guiados A partir de este n cleo valores y principios se sustentan las pr cticas y actividades de XP Finalmente cabe recalcar que XP es en todo sentido una metodolog a disciplinada Su disciplina radica en el hecho de que cuando se decide por utilizar XP hay pasos que son obligatorios seguir Por ejemplo cuando se adopta XP no hay elecci n en que si se quiere o no escribir pruebas de aceptaci n si no se lo hace simplemente el desarrollo deja de ser llamado programaci n extrema 1 2 1 Los Valores de XP Extreme Programming se basa en valores no es en realidad un conjunto de reglas sino m s bien una manera de trabajar en armon a con sus valores personales y corporativos Los valores de XP son la simplicidad la comunicaci n la retroalimentaci n el coraje y el
129. de todas las historias y realizar un seguimiento del ritmo con que se pueden entregar historias al cliente e Rol de Administrador del Proyecto La persona en el Rol de Administrador del Proyecto une al cliente y desarrollador y los ayuda a fusionarse y convertirse en un equipo operativo e Rol de Consultor Por lo general es un experto externo que solventa inquietudes sobre temas t cnicos o de negocios Pontificia Universidad Cat lica del Ecuador Facultad de Ingenier a Escuela de Sistemas Andrea Garc a Torres P gina 14 Tema Desarrollo de un M dulo de Cr dito Automotriz en OpenERP para la Empresa Autov a S A del cant n Quito Provincia de Pichincha e Rol de Encargado del Seguimiento Tracker El encargado del seguimiento es el responsable de reunir m tricas tales como historias de usuario o tareas completadas y comunicar el progreso al equipo de desarrollo El trabajo del tracker es determinar justamente que m tricas son significativas para mostrar el estado del proyecto De manera general el tracker debe utilizar el menor n mero de indicativos posibles entre ellos est el estado del ltimo build el n mero de historias de usuario completados la velocidad de desarrollo entre otros e Rol de Encargado de Pruebas Tester Es el encargado de realizar las pruebas de aceptaci n conjuntamente con el cliente asegurando que el sistema funcione como se esperaba La ventaja del encargado de pruebas
130. del Ecuador Facultad de Ingenier a Escuela de Sistemas Andrea Garc a Torres P gina 42 Tema Desarrollo de un M dulo de Cr dito Automotriz en OpenERP para la Empresa Autov a S A del cant n Quito Provincia de Pichincha Historia N016 Registrar la entrega de Letras de Pago El sistema permitir a la persona designada registrar la entrega de una o varias letras de pago que hayan sido pagadas por el cliente Historia N017 Letras de Pago Cobradas El sistema permitir conocer las letras de pago pagadas por el cliente tambi n generar un reporte de las cuotas pagadas por el cliente y generar un resumen de las cuotas pendientes a pagar por el cliente Historia N018 Contratos Embargados El sistema permitir conocer los contratos bajo embargo la informaci n de los contratos embargados los contratos que se encuentran bajo embargo Mostrar el gasto realizado por cada contrato bajo embargo Historia N019 Registro de Llamadas El sistema permitir tener un registro de llamadas del usuario hacia el cliente con el fin de mantener un registro de llamadas que se han realizado para los cobros y deudas que mantienen con la empresa 3 2 1 4 Administraci n de Caja Se detallan las historias de usuario correspondientes al componente del sistema Administraci n de Caja Historia N020 Comprobantes de Ingreso El sistema emitir comprobantes de ingreso cuando Se realice un pago el cliente pague
131. desarrollos de los sistemas de hardware y software Durante la d cada de 1960 la mayor a de las organizaciones de sistemas inform ticos centralizados dise ados desarrollados e implementados en su mayor a se automatizaron sus sistemas de control de inventarios mediante paquetes de control de inventario Estos fueron los sistemas basadas en lenguajes de programaci n como COBOL ALGOL y FORTRAN MRP se desarrollaron en el 1970 que implic la planificaci n de todo el producto seg n las necesidades de producci n Siguiendo esta ruta los nuevos sistemas de software llamados planificaci n de los recursos de fabricaci n MRP 11 Se introdujeron en la d cada de 1980 con un enfoque a la optimizaci n de los procesos de fabricaci n mediante la sincronizaci n de los materiales con los requisitos de producci n MRP Il incluye reas tales como la planta de producci n y distribuci n gesti n gesti n de proyectos finanzas recursos humanos y la ingenier a gt COBOL Common Business Oriented Language ALGOL Algorithmic Language 7 FORTRAN Formula Translating System MRP Material requirements planning 7 MRP IL Manufacturing Resource Planning Pontificia Universidad Cat lica del Ecuador Facultad de Ingenier a Escuela de Sistemas Andrea Garc a Torres P gina 2 Tema Desarrollo de un M dulo de Cr dito Automotriz en OpenERP para la Empresa Autov a S A del cant n Quito Provincia de Pichincha
132. e 1 print every line o quantity o price Operations are OK 07d int o number number formating reduce lambda x obj x obj qty list O total qty of list try objects as list username user name setLang o partner_id lang Localized printings time strftime d m Y format dd MM Y Y Y Y check python doc for more about d time strftime time ctime 0 10 time strftime time ctime 4 prints only date time ctime it prints the actual date amp time time ctime split 3 prints only time one more interesting tag if you want to print out the creator of an entry create_uid or the last one who wrote on an entry write_uid you have to add something like this to the class your report refers to create_uid fields many2one res users User readonly 1 and then in your report it s like this to print out the corresponding name o create_uid name Sometimes you might want to print out something only if a certain condition is fullfilled You can construct it with the pyhton logical operators not and and or Because every object in python has a logical value TRUE or FALSE you can construct something like this 156 Chapter 14 Reports Open Object Developer Book Release 1 0 o prop draft and YES or NO print YES or NO it works like this and first value is TRUE then print out the second value First value is FALSE print ou
133. e and in the search screen These views are simpler than the form views and thus have less options i Ele User Form Options Plugins Shortcuts Help Das en aS Be SHB Ble x Menu 34 All Sales Order x q peene Date Ordered Customer Salesman Ela Jl clear gasna Date Ordered Reference Customer Shipping Address Picked Invoiced Untaxed Ar 2009 03 18 S0005 China Export Zen 52 Chop Suey street 478555 000 000 F 2009 0318 S0004 Ecole de Commerce de Liege Karine Lesbrouffe 2 impasse de la Soif 6985 Liege 0 00 5 2009 03 18 S0003 Agrolat Sylvie Lelitre 69 rue de Chimay 5478 Wavre 28 2009 03 18 50002 Bank Wealthy and sons Arthur Grosbonnet 1 rue Rockfeller 75016 Paris 4 2009 03 18 S0001 Agrolat Tiny spd 000 000 ER 5 Record 5 5 of 5 Editing document id 1 State Ihttpylocalhest 8069 doc Administrator Requests 1 request s A Epi The different options of those views will be detailed into the next section 10 4 Graph views A graph is a new mode of view for all views of type form If for example a sale order line must be visible as list or as graph define it like this in the action that open this sale order line Do not set the view mode as tree form graph or form graph it must be graph tree to show the graph first or tree graph to show the list first This view mode is extra to your form tree
134. e report_xsl gt account report invoice xsl lt field gt lt field name report_xml gt account report invoice xml lt field gt lt record gt field tag The attributes for the field tag are the following e name mandatory attribute indicating the field name e eval python expression that indicating the value to add e ref reference to an id defined in this file function tag e model e name e eval o should evaluate to the list of parameters of the method to be called excluding cr and uid Example lt function model ir ui menu name search eval name Operations gt getitem tag Takes a subset of the evaluation of the last child node of the tag e type o int or list e index e int or string a key of a dictionary Example Evaluates to the first element of the list of ids returned by the function node lt getitem index 0 type list gt lt function model ir ui menu name search eval name Operations gt lt getitem gt 8 1 The Modules Introduction 55 Open Object Developer Book Release 1 0 i18n Improving Translations Translating in launchpad Translations are managed by the Launchpad Web interface Here you ll find the list of translatable projects Please read the FAQ before asking questions Translating your own module Changed in version 5 0 Contrary to the 4 2 x version the translations are now done by module So
135. e a partner and his address 184 Chapter 21 XML RPC Web services Open Object Developer Book Release 1 0 import xmirpclib username admin the user pwd admin the password of the user dbname terp the database Get the uid sock_common xmlrpclib ServerProxy http localhost 8069 xmlrpc common uid sock_common login dbname username pwd replace localhost with the address of the server sock xmlrpclib ServerProxy http localhost 8069 xmlrpc object partner name Fabien Pinckaers Iang TEE FR partner_id sock execute dbname uid pwd res partner create partner address partner_id partner_id type default street Chauss e de Namur 40 Frappe FIST city Grand Rosiere phone 3281813700 fax 843281733501 address_id sock execute dbname uid pwd res partner address create address e Search a partner args vat 2Z2Z2222 query clause ids sock execute dbname uid pwd res partner search args e Read partner data fields name active vat ref fields to read data sock execute dbname uid pwd res partner read ids fields ids is a list of ic e Update partner data values vat 2Z21222 data to update result sock execute dbname uid pwd res partner write ids
136. e and run the script with the following command tiny_sxw2rml py template sxw gt template rml Note tiny_sxw2rml py help suggests that you specify the output file with o OUTPUT but this does not seem to work as of V0 9 3 14 1 4 Tiny ERP Server PDF Output Server PDF Output About To generate the pdf from the rml file OpenERP needs a rml parser Parser The parsers are generally put into the folder report of the module Here is the code for the sale order report import time from report import report_sxw class order report_sxw rml_parse def _ _ init_ self cr uid name context super order self __ init _ cr uid name context self localcontext update time time report_sxw report_sxw report sale order sale order addons sale report order rml parser order header True The parser inherit from the report_sxw rml_parse object and it add to the localcontext the function time so it will be possible to call it in the report After an instance of report_sxw report_sxw is created with the parameters the name of the report the object name on which the report is defined the path to the rml file the parser to use for the report by default rml_parse a boolean to add or not the company header on the report default True 14 1 OpenOffice org reports 143 Open Object Developer Book Release 1 0 The xml definition To be visible from the client the report must be dec
137. e called directly via the client or not Setting menu to False is useful in case of reports called by wizards auto determines if the RML file must be parsed using the default parser or not Using a custom parser allows you to define additional functions to your report 11 3 Security Three concepts are differentiated into Tiny ERP 1 The users person identified by his login password 2 The groups define the access rights of the resources 3 The roles determine the roles duties of the users Menu Menu b Operations Pb Definitions Administration b Actions Y Users Users Groups Roles The users They represent physical persons These are identified with a login and a password A user may belong to several groups and may have several roles A user must have an action set up This action is executed when the user connects to the program with his login and password An example of action would be to open the menu at Operations 11 3 Security 107 Open Object Developer Book Release 1 0 The preferences of the user are available with the preference icon You can for example through these preferences determine the working language of this user English is set by default A user can modify his own preferences while he is working with Tiny ERP To do that he clicks on this menu User gt Preferences The Open ERP administrator can also modify some preferences of each and every user The groups The gr
138. e de la presente disertaci n Componente No Historias He MPO Iteraci n Asignada Entrega Asignada estimado Semanas Estimadas Instalacion del Ambiente de 0 5 X X Desarrollo Ambiente Desarrollo Registrar Informaci n del 0 2 X N Veh culo Administraci n del 1 Producto Registrar Gesti n de Ventas 2 Informaci n del 0 2 X X Cliente 3 Registrar Datos 0 3 X x Calculo de montos a cobrar Aprobaci n de gt Contratos 0 2 a ES 6 Adjuntar Bur 0 3 X X 7 Manejo de 0 2 x x Documentos Validar z Informaci n 0 6 Tabla 3 21a Plan de Entrega A Pontificia Universidad Cat lica del Ecuador Facultad de Ingenieria Escuela de Sistemas Andrea Garcia Torres Pagina 47 Tema Desarrollo de un M dulo de Cr dito Automotriz en OpenERP para la Empresa Autov a S A del cant n Quito Provincia de Pichincha Componente No Historias Tiempo Iteraci n Asignada Entrega Asignada estimado Semanas Estimadas Reportes Especiales de X X Contrato l Generar Letras de Pago 0 2 X X Procesos de la Solicitud X X Gesti n de Cobros Registro de los l Pagos de x x Clientes Cargar Cobros Pendientes 0 2 X X Inter s por Mora X X Notificaciones de Estado del x X Cobro 3 Registrar la entrega de X X Letras de Pago Letras de Pago Cobradas X X Contratos Embargados 3 X X Registro de Llamadas 0 2 x x Administracion de Comprobantes _ a Caja de Ingreso 0 2 x x Comprobantes
139. e different projects After having done that your branch is public on Launchpad in the OpenObject project and commiters can work on it review it and propose for integration in the official branch The last line allows you to rebind your branch to the one which is on launchpad after having done this your commit will be applied on launchpad directly unless you use local 5 1 Working with Launchpad 19 Open Object Developer Book Release 1 0 bzr pull Get modifications on your branch from others EDIT STUFF bzr ci commit your changes on your public branch If your changes fixe a public bug on launchpad you can use this to mark the bug as fixed by your branch bzr ci fixes lp 453123 Where 453123 is a bug ID Once your branch is mature mark it as mature in the web interface of launchpad and request for merging in the official release Your branch will be reviewed by a commiter and then the quality team to be merged in the official release How to commit Your Work If you want to contribute on OpenERP or OpenObject here is the proposed method e You create a branch on launchpad on the project that interest you It s important that you create your branch on launchpad and not on your local system so that we can easily merge share code between projects and centralize futur developments e You develop your own features or bugfixes in your own branch on launchpad Don t forget to set the status of your branch new e
140. e dirigir al men Cr dito de Autos Venta de Autos Solicitud de Cr dito f Prueba Adjuntar Buro En la historia de usuario permite subir el documento de Buro por cada contrato Prueba de Aceptaci n Historia de Usuario 006 Adjuntar Buro Las entradas que el usuario realizar es acceder al sistema con el nombre y usuario luego se dirigir al men Cr dito de Autos Venta de Autos Solicitud de Cr dito acceda al contrato que desee g Prueba Manejo de Documentos En la historia de usuario permite seleccionar los documentos que fueron entregados por el Cliente Prueba de Aceptaci n Historia de Usuario 007 Manejo de Documentos Pontificia Universidad Cat lica del Ecuador Facultad de Ingenier a Escuela de Sistemas Andrea Garc a Torres P gina 4 Tema Desarrollo de un M dulo de Cr dito Automotriz en OpenERP para la Empresa Autov a S A del cant n Quito Provincia de Pichincha Las entradas que el usuario realizar es acceder al sistema con el nombre y usuario luego se dirigir al men Cr dito de Autos Venta de Autos Solicitud de Cr dito acceda al contrato que desee en la pesta a Documentos seleccione el documento h Prueba Validar Informaci n En la historia de usuario permite validar basado en el tipo de grupo asignado al usuario Prueba de Aceptaci n Historia de Usuario 008 Validar Informaci n Las entradas que el usuario realizar es acceder al sis
141. e interface in his own language Moreover some resources the text of reports product names etc may also be translated This section explains how to change the language of the program shown to individual users and how to add new languages to Open ERP Nearly all the labels used in the interface are stored on the server In the same way the translations are also stored on the server By default the English dictionary is stored on the server so if the users want to try Open ERP in a language other than English then you have to store these languages definitions on the server However it is not possible to store everything on the server Indeed the user gets some menus buttons etc that must contain some text even before being connected to the server These few words and sentences are translated using GETTEXT The chosen language by default for these is the language of the computer from which the user connects The translation system of Open ERP is not limited to interface texts it also works with reports and the content of some database fields Obviously not all the database fields need to be translated The fields where the content is multilingual are marked thus by a flag 23 3 Translations 203 Open Object Developer Book Release 1 0 MISSING IMAGE FILE 23 3 1 How to change the language of the user interface The language is a user preference To change the language of the current user click on the menu
142. e managed by the same people that manage all products 9 8 ORM methods create Description Create a new resource Signature def create cr uid vals context Parameters e vals a dictionary of values for every field This dictionary must use this form name_of_the_field value e context optional the actual context dictionary Returns the id of the newly created resource Example id pooler get_pool cr dbname get res partner event create cr uid name Email sent through mass mailing partner_id partner id description The Description for Partner Event search Description Search all the resources which satisfy certain criteria Signature def search self cr uid args offset 0 limit 2000 order None context None count False Parameters e args a list of tuples containing the search criteria This list must be of the form name_of_the_field operator valu gt lt lt gt IN sql LIKE ILIKE sql child_of e offset optional do not return the offset first results e limit optional maximum number of results to return Returns the list of ids of matching resources Example ids pooler get_pool cr dbname get res partner search cr uid category_id Custome 80 Chapter 9 Objects Fields and Methods Open Object Developer Book Release 1 0 This examp
143. e of the object field it refers to Nodes without type attribute are transferred identically into the XML destination file the data file Nodes with a type attribute will be parsed by the server and their content will be replaced by data coming from objects In addition to the type attribute nodes have other possible attributes These attributes depend on the type of the node each node type supports or needs different attributes Most node types have a name attribute which refers to the name of a field of the object on which we work As for the browse method on objects field names in reports can use a notation similar to the notation found in object oriented programming languages It means that relation fields can be used as bridges to fetch data from other related objects Let s use the account transfer object as an example It contains a partner_id field This field is a relation field many to one pointing to the res partner object Let s suppose that we want to create a report for transfers and in this report we want to use the name of the recipient partner This name could be accessed using the following expression as the name of the field partner_id name Possible types Here is the list of available field types e field It is the simplest type For nodes of this type the server replaces the node content by the value of the field whose name is given in the name attribute fields when this t
144. e_get Description Signature def name_get self cr uid ids context Parameters Result a list of tuples of the form id name Example In res partner address def name_get self cr user ids context if not len ids return res for r in self read cr user ids name zip city addr str r name or if r name and r zip or r city 9 8 ORM methods 85 Open Object Developer Book Release 1 0 addr addr str r zip or str r city or res append r id addr return res name_search Description Signature def name_search self cr uid name args operator ilike context Parameters Result Example In res country def name_search self cr user name args None operator ilike context None limit 80 if not args args if not context context ids False if len name 2 ids self search cr user code name args limit limit context context if not ids ids self search cr user name operator name args limit limit context context return self name get cr user ids context 86 Chapter 9 Objects Fields and Methods CHAPTER TEN VIEWS AND EVENTS 10 1 Introduction to Views As all data of the program is stored in objects as explained in the Objects section how are these objects expos
145. ea Garc a Torres P gina 26 Tema Desarrollo de un M dulo de Cr dito Automotriz en OpenERP para la Empresa Autov a S A del cant n Quito Provincia de Pichincha Las caracter sticas principales son un ORM flexible una arquitectura MVC modelos y vistas de datos extensibles diferentes motores de informe todos unidos en un marco coherente accesible desde la red Desde la perspectiva del desarrollador el servidor act a como una biblioteca que re ne los beneficios anteriores al tiempo que oculta los detalles de bajo nivel y como una manera f cil de instalar configurar y ejecutar las aplicaciones escritas Por s mismo el servidor OpenERP no es muy til Para cualquier empresa el valor de OpenERP se encuentra en sus diferentes m dulos Es el papel de los m dulos para implementar cualquier necesidad de negocio El servidor es s lo la maquinaria necesaria para ejecutar los m dulos Una gran cantidad de m dulos ya existentes Cualquier lanzamiento oficial OpenERP incluye alrededor de 170 de ellos y cientos de m dulos est n disponibles a trav s de la comunidad Ejemplos de m dulos de cuentas CRM RRHH Marketing MRP venta etc Un m dulo se compone generalmente de los modelos de datos junto con algunos datos iniciales vistas definiciones es decir c mo se deben mostrar los datos de los modelos de datos espec ficos para el usuario pantallas especializadas para ayudar al usuario de las interacciones espec
146. eader and finally click Send Report to Server To send it to the server you can specify if you prefer Open ERP to produce a PDF when the user prints the document or if Open ERP should open the document for editing in OpenOffice org Writer before printing To do that choose PDF or SXW a format of OpenOffice org documents in the field Select Report Type Open ERP objects can be created from PostgreSQL views The technique is as follows 1 Declare your _columns dictionary All fields must have the flag readonly True 2 Specify the parameter _auto False to the Open ERP object so no table corresponding to the _columns diction nary is created automatically 3 Add a method init self cr that creates a PostgreSQL View matching the fields declared in _columns Example The object report_crm_case_user follows this model report_crm_ case _user osv osv _name report crm case user _description Cases by user and section 22 2 Open Office Report Designer 197 Open Object Developer Book Release 1 0 _auto False _columns name fields date Month readonly True user_id fields many2one res users User readonly True relate True section_id fields many2one crm case section Section readonly True relate True amount_revenue fields float Est Revenue readonly True amount_costs fields float Est Cost readonly True amo
147. ealizar es acceder al sistema con el nombre y usuario luego se dirigir al men Cr dito de Autos Venta de Autos Solicitud de Cr dito acceda al contrato que desee Los resultados que el sistema debe mostrar si el contrato es firmado crea autom tica mente las letras de pago y abre la ventana de pagos para que realice el ingreso del primer pago de la entrada el sistema mostrara todas las deudas que tiene el cliente con la empresa k Prueba Procesos de la Solicitud En la historia de usuario la Solicitud de Cr dito tiene un flujo de estados que se visualizan para todos los usuarios pero para cambiar de estado se usa botones especiales que son visualizados seg n el grupo asignado a cada usuario Prueba de Aceptaci n Historia de Usuario 011 Procesos de la Solicitud Las entradas que el usuario realizar es acceder al sistema con el nombre y usuario luego se dirigir al men Cr dito de Autos Venta de Autos Solicitud de Cr dito acceda al contrato que desee Los resultados que el sistema debe mostrar cuando la Solicitud de Cr dito est en estado borrador puede acceder cualquier usuario una vez ingresada la informaci n necesaria se procede a Validar mediante el bot n Validar este pueden acceder los usuarios que tiene el grupo asignado cajero gerente administrador si no se desea Validar se puede cancelar la Solicitud de Cr dito o si falto alg n documento se puede regresar al es
148. ect Tip Technique Python Expressions Using the Expression button you can enter expressions in the Python language These expressions can use all of the object s fields for their calculations For example if you make a report on an order you can use the following expression 3 2f amount total 0 9 In this example amount_total is a field from the order object The result will be 90 of the total of the order formatted to two decimal places Tiny Report gt Send to server Technical Name Report Name Sale Order Mod Corporate Header Send Report to Server You can check the result in Open ERP using the menu Sales Management gt Sales Orders gt All Orders 22 2 2 Creating a new report Tiny Report gt Open a new report Sale Order Open New Report Use Model in Report The general template is made up of loops such as the list of selected orders and fields from the object which can also be looped Format them to your requirements then save the template The existing report templates make up a rich source of examples You can start by adding the loops and several fields to create a minimal template When the report has been created send it to the server by clicking Tiny Report gt Send to server which brings up the Send to server dialog box Enter the Technical Name of sale order to make it appear beside the other sales order reports Rename the template as Sale Order New in Report Name check the checkbox Corporate H
149. ect partner_id gt lt para gt lt para gt Date lt xsl value of select date gt lt para gt lt para gt Amount lt xsl value of select amount gt lt para gt lt xsl if test number change gt 0 gt lt para gt Change lt xsl value of select change gt lt para gt lt xsl if gt lt setNextTemplate name first_page gt lt pageBreak gt lt xsl template gt lt xsl stylesheet gt 14 3 Reports without corporate header Example with corporate defaults 14 3 Reports without corporate header 153 Open Object Developer Book Release 1 0 lt xsl stylesheet version 1 0 xmlns xsl http www w3 org 1999 XSL Transform xmlns fo http w lt xsl import href base report rml_template xsl1 gt lt xsl variable name page_format gt a4_normal lt xsl variable gt lt xsl template match gt lt xsl call template name rml gt lt xsl template gt lt xsl template name stylesheet gt lt xsl template gt lt xsl template name story gt lt xsl apply templates select transfer list gt lt xsl template gt lt xsl template match transfer list gt lt xsl apply templates select transfer gt lt xsl template gt lt xsl template match transfer gt lt setNextTemplate name other_pages gt lt para gt Document lt xsl value of select name gt lt para gt lt para gt Type lt xsl val
150. ed to the user We will try to answer this question in this section First of all let s note that every resource type uses its own interface For example the screen to modify a partner s data is not the same as the one to modify an invoice Then you have to know that the Open ERP user interface is dynamic it means that it is not described statically by some code but dynamically built from XML descriptions of the client screens From now on we will call these screen descriptions views A notable characteristic of these views is that they can be edited at any moment even during the program execution After a modification to a displayed view has occurred you simply need to close the tab corresponding to that view and re open it for the changes to appear 10 1 1 Views principles Views describe how each object type of resource is displayed More precisely for each object we can define one or several view s to describe which fields should be drawn and how There are two types of views 1 form views 2 tree views Note Since Open ERP 4 1 form views can also contain graphs 10 2 Form views The field disposition in a form view always follows the same principle Fields are distributed on the screen following the rules below e By default each field is preceded by a label with its name e Fields are placed on the screen from left to right and from top to bottom according to the order in which they a
151. eed to know the inner workings of the view to perform this operation However the view needs to access the internal parts of the controller e From View to Controller the reason why the view has limited access to the controller is because the depen dencies from the view to the controller need to be minimal the controller can be replaced at any moment 7 1 1 MVC Model in Tiny ERP In Tiny ERP we can apply this model view controller semantic with e model The PostgreSQL tables 41 Open Object Developer Book Release 1 0 e view views are defined in XML files in Tiny ERP e controller The objects of TinyERP 7 2 MVCSQL 7 2 1 Example 1 Suppose sale is a variable on a record of the sale order object related to the sale_order table You can acquire such a variable doing this sale self browse cr uid ID where cr is the current row from the database cursor uid is the current user s ID for security checks and ID is the sale order s ID or list of IDs if we want more than one Suppose you want to get the country name of the first contact of a partner related to the ID sale order You can do the following in Open ERP country_name sale partner_id address 0 country_id name If you want to write the same thing in traditional SQL development it will be in python we suppose cr is the cursor on the database with psycopg cr execute select partner_id from sale_order where id 2d ID p
152. egotiation gt lt field name wkf_id ref wkf_mymod gt 12 9 Creating a Workflow 123 Open Object Developer Book Release 1 0 lt field name name gt negotiation lt field gt lt field name kind gt function lt field gt lt field name action gt mymod_negotiation lt field gt lt record gt lt record model workflow activity id act_won gt lt field name wkf_id ref wkf_mymod gt lt field name name gt won lt field gt lt field name kind gt function lt field gt lt field name action gt mymod_won lt field gt lt field name flow_stop gt True lt field gt lt record gt lt record model workflow activity id act_lost gt lt field name wkf_id ref wkf_mymod gt lt field name name gt lost lt field gt lt field name kind gt function lt field gt lt field name action gt mymod_lost lt field gt lt field name flow_stop gt True lt field gt lt record gt 3 Workflow Transition records These define the possible transitions between workflow states lt record model workflow transition id t1 gt lt field name act_from ref act_new gt lt field name act_to ref act_assigned gt lt field name signal gt mymod_assigned lt field gt lt record gt lt record model workflow transition id t2 gt lt field name act_from ref act_assigned gt lt field name act_to ref act_negotiation gt lt field name signal gt mymod_negotiati
153. egrado La seguridad de las computadoras est incluida dentro del ERP para proteger a la organizaci n en contra de cr menes externos tal como el espionaje industrial y crimen interno tal como desfalco La seguridad del ERP ayuda a prevenir el abuso add ons librer a o archivo donde se encuentran todos los m dulos base de OpenERP e business Negocio electr nico 10 CRM Customer Relationship Management SCM Supply Chain Management Pontificia Universidad Cat lica del Ecuador Facultad de Ingenier a Escuela de Sistemas Andrea Garc a Torres P gina 3 Tema Desarrollo de un M dulo de Cr dito Automotriz en OpenERP para la Empresa Autov a S A del cant n Quito Provincia de Pichincha Hay conceptos de mercadotecnia y ventas los que incluyen CRM incluye control de calidad para asegurarse que no hay problemas no arreglados en los productos finales cadena de abastecimiento interacci n con los proveedores y la infraestructura Todo esto puede ser integrado a trav s de la ERP aunque algunos sistemas tengan espacios de menos comprensibilidad y efectividad Sin un ERP que integre todo esto puede ser complicado para la administraci n de la manufactura Proporciona la integraci n de todas las reas del negocio Estandarizaci n de la informaci n en una base de datos centralizada Minimiza el tiempo el tiempo de an lisis de informaci n Puede unir procesos mejorados redise ados Aumenta la comunicaci n
154. el acceso a la base de datos relacional se hace mediante el mapeo objeto relacional ORM Los modelos de datos se describen en Python y OpenERP crea las tablas de base de datos subyacente Todos los beneficios de RDBMS se utilizan cuando es posible y completado por la flexibilidad Python Mapeo objeto relacional ORM O RM y mapeo O R en los programas inform ticos es una t cnica de programaci n para convertir datos entre los sistemas de tipos incompatibles en lenguajes de programaci n orientados a objetos Esto crea en efecto una base de datos de objeto virtual que se puede utilizar desde dentro del lenguaje de programaci n Modelos Para definir los modelos de datos y de otra manera perseguir cualquier trabajo con los datos asociados OpenERP tanto como ORM utiliza el concepto de modelo Un modelo es la especificaci n autorizada de c mo algunos datos son estructurados restringidos y manipulados En la pr ctica un modelo se escribe como una clase de Python La clase encapsula todo lo que hay que saber sobre el modelo los diferentes campos que componen el modelo los valores predeterminados que se utilizar n al crear nuevos registros restricciones etc Tambi n tiene el aspecto din mico de la informaci n bajo su control m todos de la clase pueden ser escritos para poner en pr ctica todas las necesidades de negocio 38 RDBMS restricciones nicas integridad relacional eficientes consultas Pontifi
155. eley Software Distribution Pontificia Universidad Cat lica del Ecuador Facultad de Ingenier a Escuela de Sistemas Andrea Garc a Torres P gina 18 Tema Desarrollo de un M dulo de Cr dito Automotriz en OpenERP para la Empresa Autov a S A del cant n Quito Provincia de Pichincha Como muchos otros proyectos de c digo abierto el desarrollo de PostgreSql no es manejado por una empresa y o persona sino que es dirigido por una comunidad de desarrolladores que trabajan de forma desinteresada altruista libre y o apoyada por organizaciones comerciales Dicha comunidad es denominada el PGDG 1 4 1 Historia de PostgreSql El antepasado de PostgreSQL fue Ingres desarrollado en la Universidad de California en Berkeley 1977 1985 El c digo de Ingres fue posteriormente mejorado por Tecnolog as Ingres Corporation que produce uno de los servidores de bases de datos relacionales con xito comercial Tambi n en Berkeley Michael Stonebraker dirigi un equipo para desarrollar un servidor de bases de datos objeto relacional llamado Postgres 1986 1994 Illustra tom el c digo de Postgres y desarrollado en un producto comercial Dos estudiantes de posgrado de Berkeley Jolly Chen y Andrew Yu posteriormente a aden capacidades de SQL para Postgres El proyecto resultante se llama Postgres95 1994 1995 Los dos m s tarde dejaron Berkeley pero Chen continu manteniendo Postgres95 que ten a una lista de correo activa
156. eloper Book Release 1 0 9 7 2 Relational Types one2one A one2one field expresses a one to one relation between two objects It is deprecated Use many2one instead syntax fields one2one other object name Field Name many2one Associates this object to a parent object via this Field For example Department an Employee belongs to would Many to one i e Many employees will belong to a Department syntax fields many2one other object name Field Name optional parameter Optional parameters ondelete What should happen when the resource this field points to is deleted Predefined value cascade set null gt x Default value set null required True readonly True select True creates an index on the Foreign Key field Example commercial fields many2one res users Commercial ondelete cascade one2many TODO syntax fields one2many other object name Field relation id Fieldname optional parameter e Optional parameters invisible True False states readonly True False Example address fields one2many res partner address partner_id Contacts many2many TODO syntax 74 Chapter 9 Objects Fields and Methods Open Object Developer Book Release 1 0 fields many2many other object name relation object other object id
157. elopment proceeds in two parallel tracks stable versions and development versions New functionality is integrated into the development branch This branch is more advanced than the stable branch but it can contain undiscovered and unfixed faults A new development release is made every month or so and OpenERP has made the code repository available so you can download the very latest revisions if you want The stable branch is designed for production environments Here releases of new functionality are made only about once a year after a long period of testing and validation Only bug fixes are released through the year on the stable branch To download OpenERP for Windows follow these steps 1 Navigate to the site http www openerp com 2 Click the Downloads button at the right then under Windows Auto Installer select All In One 3 Before you can proceed with the download you will be asked to fill an online form with your contact and company details and information regarding your interest in OpenERP 4 Once you submit the online form the All In One Windows installer is automatically downloaded 5 Save the file on your PC it is quite a substantial size because it downloads everything including the PostgreSQL database system version 8 3 at the time of writing so it will take some time Installing the OpenERP All In One To install OpenERP and its database you must be signed in as an Administrator on your PC
158. emas Andrea Garcia Torres Pagina 18 Tema Desarrollo de un M dulo de Cr dito Automotriz en OpenERP para la Empresa Autov a S A del cant n Quito Provincia de Pichincha PRUEBAS DE ACEPTACION El cliente determina diferentes situaciones para poner a prueba al momento que una historia de usuario se implementa se revisa si esta correctamente implementada Una historia de usuario puede llegar a tener una o varias pruebas de aceptaci n Para esta secci n realizaremos las pruebas de aceptaci n por cada historia de usuario PRIMERA ITERACI N El componente de Administraci n del Producto se subdivide en varias historias de Usuario e Registrar Informaci n del Veh culo a Prueba Registrar Informaci n del Veh culo En esta historia se puede ingresar toda informaci n del producto Veh culo tal como cae marca clase a o de fabricaci n modelo color precio El sistema pide que sean ingresados obligadamente los campos cae marca a o de fabricaci n modelo color precio Filtra los autos que est n vendidos para observar los autos disponibles Tambi n todos los datos autom ticamente se pondr n en may sculas una vez ingresados Prueba de Aceptaci n Historia de Usuario 001 Registrar Informaci n del Veh culo Las entradas que el usuario realizar es acceder al sistema con el nombre y usuario luego se dirigir al men Cr dito de Autos Datos de Cr ditos Autos una vez ah el usuario
159. enobject project to track all bugs and features request related to openerp and openobject the bug tracker is available here e Bug Tracker https bugs launchpad net openobject 20 Chapter 5 Development Environment Open Object Developer Book Release 1 0 e Ideas Tracker https blueprints launchpad net openobject e FAQ Manager https answers launchpad net openobject Every contributor can report bug and propose bugfixes for the bugs The status of the bug is set according to the correction When a particular branch fixes the bug a commiter member of the Commiter Team can set the status to Fix Com mited Only commiters have the right to change the status to Fix Committed after they validated the proposed patch or branch that fixes the bug The Quality Team have a look every day to bugs in the status Fix Commited They check the quality of the code and merge in the official branch if it s ok To limit the work of the quality team it s important that only commiters can set the bug in the status Fix Commited Once quality team finish merging they change the status to Fix Released 5 1 4 Translation Translations are managed by the Launchpad Web interface Here you ll find the list of translatable projects Please read the FAQ before asking questions 5 1 5 Blueprints Blueprint is a lightweight way to manage releases of your software and to track the progress of features and idea
160. entos Venta de autos REG Buscar Registro de Llamadas a Datos de Creditos cal Resumen de llamadas Persona Responsable HOY 7 DIAS amp Agrupar por Buscar Limpiar m Crear 1a0 de0 FECHA RESUMEN DE LLAMADAS EMPRESA RESPONSABLE 9 BB homes igi Br Configuraci n 4 1a0 de0 Figura 019 Registro de Llamadas Historia de Usuario No 020 Comprobantes de Ingreso Acuerdo con el cliente En esta historia de usuario se acord con el cliente poder registrar el ingreso de pagos de Clientes Implementaci n Este procedimiento se efect a en el momento de registrar los Pagos Historia de Usuario No 021 Comprobante de Egresos Acuerdo con el cliente En esta historia de usuario se acord con el cliente poder registrar los egresos es decir los gastos que representan los contratos embargados Implementaci n En el men Egresos se desarroll un objeto especial para realizar los egresos existen dos tipos de Egresos Haberes de Clientes que registra los gastos por contrato y por cliente Gastos de la Empresa que puede ser cualquier tipo de gasto realizado por la empresa Maneja un proceso de dos estados al ser aceptado este se debita de los ingresos Pontificia Universidad Cat lica del Ecuador Facultad de Ingenier a Escuela de Sistemas Andrea Garc a Torres P gina 15 Tema Desarrollo de un M dulo de Cr dito Automotriz en OpenERP para la Empresa Aut
161. eople who wants to help the project getting better add functionnality and improve stability Everyone can contribute on the project with his own knowledge by reporting bugs purposing smart improvment and posting patch The community team is available on launchpad https launchpad net openerp community Member of the quality and commiter team are automatically members of the community Installing Bazaar Get Bazaar version control to pull the source from Launchpad To install bazaar on any ubuntu distribution you can edit etc apt sources list by sudo gedit etc apt sources list and put these lines in it deb http ppa launchpad net bzr ubuntu intrepid main deb src http ppa launchpad net bzr ubuntu intrepid main 17 Open Object Developer Book Release 1 0 Then do the following sudo apt get install bzr To work correctly bzr version must be at least 1 3 Check it with the command bzr version If you don t have at least 1 3 version you can check this url http bazaar vcs org Download On debian in any distribution the 1 5 version is working you can get it on this url http backports org debian pool main b bzr bzr_1 5 1 bpo40 1_i386 deb If you experience problems with Bazaar please read the FA Q on Bazaar version control system before asking any questions 5 1 2 Working with Branch The combination of Bazaar branch hosting and Launchpad s teams infrastructure gives you a very powerful capabili
162. epresents the nodes of workflows These nodes are the actions to be executed 12 4 2 The fields 12 4 3 split_mode e XOR One necessary transition takes the first one found default e OR Take only valid transitions 0 or more in sequential order e AND All valid transitions are launched at the same time fork In the OR and AND separation mode certain workitems can be generated In the AND mode the activity waits for all transitions to be valid even if some of them are already valid They are all triggered at the same time join_mode join_mode e XOR One transition necessary to continue to the destination activity default 118 Chapter 12 Workflow Business Process Open Object Developer Book Release 1 0 e AND Waits for all transition conditions to be valid to execute the destination activity 12 4 4 kind The type of the activity can take several values DUMMY Do nothing default e FUNCTION Execute the function selected by an action e SUBFLOW Execute a sub workflow SUBFLOW_ID The action method must return the ID of the concerned resource by the subflow If the action returns False the workitem disappears e STOPALL A sub workflow is executed when an activity is of the type SUBFLOW This activity ends when the sub workflow has finished While the sub workflow is active the workitem of this activity is frozen 12 4 5 action The action indicates the method to execute when a workitem come
163. er 5 Development Environment Open Object Developer Book Release 1 0 init init a module use all for all modules update update a module use all for all modules upgrade Upgrade install uninstall modules db_name specify the database name db_user specify the database user name db_password specify the database password pg_path specify the pg executable path db_host specify the database host db_port specify the database port translate modules Specify modules to export Use in combination with 118n export You can create your own configuration file by specifying s or save on the server command line If you would like to write an alternativve configuration file use c lt config file gt or config lt config file gt Here is a basic configuration for a server options verbose Fals xmlrpc True database terp update port 8069 init interface 127 0 0 1 reportgz False Full Example for Server V5 0 printer path none softpath_html none preview True softpath none logging output stdout logger verbose True level error help index http www openerp com documentation user manual context http www openerp com scripts context_index php form autosave False toolbar True support recipient support openerp com support_id tip position 0 autostart False 5 1 Working with Launchpad 23 Open Object Developer Book Release 1
164. escription Contract _columns name fields char Contract Name size 30 required True employee_id fields many2one hr employee Employee required True function fields many2one res partner function Function hr_contract If we want to add a field that retrieves the function of an employee by looking its current contract we use a functional field The object hr_employee is inherited this way class hr_ employee osv osv _name hr employee _description Employee _inherit hr employee _columns 76 Chapter 9 Objects Fields and Methods Open Object Developer Book Release 1 0 contract_ids fields one2many hr contract employee_id Contracts function fields function _get_cur_function_id type many2one obj res partner funct method True string Contract Function hr_employee Note three points e type many2one is because the function field must create a many2one field function is declared as a many2one in hr_contract also e obj res partner function is used to specify that the object to use for the many2one field is res partner function e We called our method _get_cur_function_id because its role is to return a dictionary whose keys are ids of employees and whose corresponding values are ids of the function of those employees The code of this method is def _ge
165. escription for his data storage 9 3 OpenERP Object Attributes 9 3 1 Objects Introduction To define a new object you have to define a new Python class then instantiate it This class must inherit from the osv class in the osv module 9 3 2 Object definition The first line of the object definition will always be of the form class name_of_the_object osv osv name name of the object _columns name_of_the_object An object is defined by declaring some fields with predefined names in the class Two of them are required _name and _columns the rest is optional The predefined fields are 9 3 3 Prefined names _auto Determines whether a corresponding PostgreSQL table must be generated automatically from the object Setting _auto to False can be useful in case of Open ERP objects generated from PostgreSQL views See the Reporting From PostgreSQL Views section for more details _columns required The object fields See the fields section for details _constraints The constraints on the object See the constraints section for details 68 Chapter 9 Objects Fields and Methods Open Object Developer Book Release 1 0 _sql_constraints The SQL Constraint on the object See theconstraints SQL section for more details _defaults The default values for some of the object s fields See the default value section for details _inherit The name of the osv object which the current object in
166. ete a module directory in order to either install or delete the module on the Open ERP platform Some modules depend on other modules See the file addons module __terp__ py for more information on the depen dencies Here is an example of __terp__ py name Open TERP Accounting version g 1 0 author Bob Gates Not So Tiny website http www openerp com category Generic Modules Others depends base description A Multiline Description vo Y init_xml account_workflow xml account_data xml account_demo xml demo_xm1 account_demo xml update xmi account_view xml account_report xml account_wizard xml active False installable True When initializing a module the files in the init_xml list are evaluated in turn and then the files in the update_xml list are evaluated When updating a module only the files from the update_xml list are evaluated 6 3 Inheritance 6 3 1 Traditional Inheritance Introduction Objects may be inherited in some custom or specific modules It is better to inherit an object to add modify some fields It is done with _inherit object name 38 Chapter 6 Moulder Development Approach Open Object Developer Book Release 1 0 Extension of an object There are two possible ways to do this kind of inheritance Both ways result in a new class of data which holds parent fields and behavio
167. f the relation ex res partner x Sattribute name of the attribute ex code x Soperator search term operator ex ilike Skey search for x 186 Chapter 21 XML RPC Web services Open Object Developer Book Release 1 0 function search Sclient relation Sattribute Soperator Skeys var user admin var Spassword admin var userld 1 var Sdbname db_name var Sserver_url http localhost 8069 xmlrpc key array new xmlrpcval array new xmlrpcval attribute string new xmlrpcval Soperator string new xmlrpcval keys string array if SuserId lt 0 connect msg new xmlrpcmsg execute msg gt addParam new xmlrpcval dbname string msg gt addParam new xmlrpcval SuserId int msg gt addParam new xmlrpcval password string msg gt addParam new xmlrpcval relation string msg gt addParam new xmlrpcval search string msg gt addParam new xmlrpcval Skey array Sresp client gt send msg Sval Sresp gt value Sids val gt scalarval return Sids e Create TODO e Write TODO 21 1 4 JAVA Access Open server using xml rpc Download the apache XML RPC framework for JAVA Download the xml rpc framework for java from http ws apache org xmlrpc The latest stable release is version 3 1 released on August 12 2007 All TinyERP errors throw exception because the framework a
168. fields date Month readonly True user_id fields many2one res users User readonly True relate True section_id fields many2one crm case section Section readonly True relate True amount_revenue fields float Est Revenue readonly True amount_costs fields float Est Cost readonly True amount_revenue_prob fields float Est Rev Prob readonly True nbr fields integer of Cases readonly True probability fields float Avg Probability readonly True state fields selection AVAILABLE STATES State size 16 readonly True delay_close fields integer Delay to close readonly True _order name desc user_id section_id def init self cr cr execute create or replace view report _crm case _ user as select min c id as id substring c create date for 7 01 as name c state c user_id c section_id count x as nbr sum planned_ revenue as amount_revenue sum planned_ cost as amount _costs sum planned_revenuexprobability decimal 16 2 as amount _ revenue _ prob avg probability decimal 16 2 as probability 169 Open Object Developer Book Release 1 0 to_char avg date closed c create date DD d HH24 MI SS as delay_close from crm_case c group by substring c create_date for 7 c state c user_id c
169. fields description is similar to the fields described in the python ORM objects Example _transaction_fields trans_nbr string of Transaction type integer readonly True credit string Credit amount type float readonly True debit string Debit amount type float readonly True writeoff string Write Off amount type float readonly True writeoff_acc_id string Write Off account type many2one relation account account Fy Each step state of a wizard can have several buttons Those are located on the bottom right of the dialog box The list of buttons for each step of the wizard is declared in the state key of its result dictionary For example state end Cancel gtk cancel reconcile Reconcile True 1 the next step name determine which state will be next 2 the button string to display for the client 3 the gtk stock item without the stock prefix since 4 2 4 a boolean if true the button is set as the default action since 4 2 13 2 Wizards Principles 131 Open Object Developer Book Release 1 0 Here is a screenshot of this form OO F Tiny eno nono TE tener om pa a me ve el ooo Litigation C mye creation dato pnr por ALT O ee vues LA e Reconcile D
170. file_pdf write string_pdf file_pdf close 21 3 PHP Example Here is an example on how to insert a new partner using PHP This example makes use the phpxmlrpc library available on sourceforge lt include xmlrpc inc SarrayVal array name gt new xmlrpcval Fabien Pinckaers string vat gt new xmlrpcval BE477472701 string Sclient new xmlrpc_client http localhost 8069 xmlrpc object msg new xmlrpcmsg execute 21 3 PHP Example 191 reporti Open Object Developer Book Release 1 0 22 gt Smsg gt addParam new Smsg gt addParam new msg gt addParam new msg gt addParam msg gt addParam new msg gt addParam new Sresp client gt send msg xmlrpcval SarrayVal if Sresp gt faultCode echo else 77 Sresp gt faultString String 7 VSEring res partner string y struct i string 5 echo Partner resp gt value gt scalarval created 192 Chapter 21 XML RPC Web services Part VIII Part 7 Other Topics 193 CHAPTER TWENTYTWO RAD TOOLS 22 1 DIA The uml_dia module helps to develop new modules after an UML description using the DIA tool http www gnome org projects dia It s not a typical module in the sense that you don t have to install it on the server as another module The contents of the module are just a python script f
171. for the objects account invoice For more information about the fields used click here It is recommended to use the result of a read on the ir actions object like this def _account_chart_open_window self cr uid data context mod_obj pooler get_pool cr dbname get ir model data act_obj pooler get_pool cr dbname get ir actions act_window result mod_obj _get_id cr uid account action_ account _ tree id mod obj read cr uid result res_id 0 res_id result act_obj read cr uid id 0 result context str fiscalyear data form fiscalyear return result result type action action _account_chart_open_window state end 13 3 Specification 13 3 1 Form _form lt xml version 1 0 gt lt form string Your String gt lt field name Field 1 gt lt newline gt lt field name Field 2 gt lt form gt 13 3 Specification 133 Open Object Developer Book Release 1 0 13 3 2 Fields Standard Field type char integer boolean float date datetime _fields str_field string product name type char readonly True e string Field label required e type required e readonly optional Relational Field type one2one many2one one2many many2many _fields field_id string Write Off account
172. g a wizard tag See Add A New Wizard for more information about wizard XML also you can add wizard in menu using following xml entry lt xml version 1 0 gt lt terp gt lt data gt lt wizard string Employee Info model hr employee name employee info wizard id wizard_employee_info gt lt menuitem name Human Resource Employee Info action wizard_employee_info type wizard id menu_wizard_employee_info gt lt data gt lt terp gt 11 2 8 Report Action Report declaration Reports in Open ERP are explained in chapter Reports Reporting Here s an example of a XML file that declares a RML report lt xml version 1 0 gt lt terp gt lt data gt lt report id sale_category_print string Sales Orders By Categories model sale order name sale category print rml sale_category report sale_category_report rml menu True auto False gt lt data gt lt terp gt 106 Chapter 11 Menu and Actions Open Object Developer Book Release 1 0 A report is declared using a report tag inside a data block The different arguments of a report tag are id an identifier which must be unique string the text of the menu that calls the report if any see below model the Open ERP object on which the report will be rendered rml the RML report model Important Note Path is relative to addons directory menu whether the report will be able to b
173. he general structure of a workflow XML file is as follows lt xml version 1 0 gt lt terp gt lt data gt lt record model workflow id workflow_id gt lt field name name gt workflow name lt field gt lt field name osv gt resource model lt field gt lt field name on_create gt True False lt field gt lt record gt lt data gt lt terp gt Where e id here workflow_id is a workflow identifier Each workflow must have an unique identifier e name here workflow name is the name of the workflow The name of the workflow must respect the Open ERP syntax of dotted names e osy here resource model is the name of the Tiny object we use as a model Remember a Open object inherits from osv osv hence the lt field name osv gt e on_create is True if workflow name must be instantiated automatically when resource model is created and False otherwise 12 2 Defining Workflow 117 Open Object Developer Book Release 1 0 Example The workflow sale order basic defined in addons sale sale_workflow xml follows exactly this model the code of its workflow tag is lt record model workflow id wkf_sale gt lt field name name gt sale order basic lt field gt lt field name osv gt sale order lt field gt lt field name on_create gt True lt field gt lt record gt 12 4 Activity 12 4 1 Introduction The wkf_activity class r
174. herits from See the object inheritance section first form for details _inherits The list of osv objects the object inherits from This list must be given in a python dictionary of the form name_of_the_parent_ object name_of_the_field See the object inheritance section second form for de tails Default value _log_access Determines whether or not the write access to the resource must be logged If true four fields will be created in the SQL table create_uid create_date write_uid write_date Those fields represent respectively the id of the user who created the record the creation date of record the id of the user who last modified the record and the date of that last modification This data may be obtained by using the perm_read method _name required Name of the object Default value None _order Name of the fields used to sort the results of the search and read methods Default value id Examples _order name _order date_order desc _rec_name Name of the field in which the name of every resource is stored Default value name Note by default the name_get method simply returns the content of this field _sequence Name of the SQL sequence that manages the ids for this object Default value None _sql SQL code executed upon creation of the object only if _auto is True _table Name of the SQL table Default value the value of the _name field above wi
175. hing correctly you shouldn t get any errors You can check if your workflow is installed in Administration gt Customisation gt Workflow Definitions When you are testing remember that the workflow will only apply to NEW records that you create 12 9 4 Troubleshooting If your buttons do not seem to be doing anything one of the following two things are likely 1 The record you are working on does not have a Workflow Instance record associated with it it was probably created before you defined your workflow 2 You have not set the osv field correctly in your workflow XML file 12 9 Creating a Workflow 125 Open Object Developer Book Release 1 0 126 Chapter 12 Workflow Business Process CHAPTER THIRTEEN CREATING WIZARD THE PROCESS 13 1 Introduction Wizards describe interaction sequences between the client and the server Here is as an example a typical process for a wizard 1 A window is sent to the client a form to be completed 2 The client sends back the data from the fields which were filled in 3 The server gets the result usually execute a function and possibly sends another window form to the client 127 Open Object Developer Book Release 1 0 A wizard process example Server Client Send a Form a dialog to the user send the datas entered in the form process form end another form datas click on the process button process result send a form res
176. id lt field gt lt record gt view_type tree tree with shortcuts at the left form switchaable view form list view_mode tree form sequences of the views when switching 10 7 2 Getting Defaults Description Get back the value by default for one or several fields Signature def default_get self cr uid fields form None reference None Parameters e fields the fields list which we want to recover the value by default e form optional TODO e reference optional TODO Returns dictionary of the default values of the form field_name value Example self pool get hr analytic timesheet default_get cr uid product_id product_uom_id default_set Description Change the default value for one or several fields Signature def default_set self cr uid field value for_user False Parameters e field the name of the field that we want to change the value by default e value the value by default e for_user optional boolean that determines if the new default value must be available only for the current user or for all users 98 Chapter 10 Views and Events Open Object Developer Book Release 1 0 Returns True Example TODO 10 7 Events 99 Open Object Developer Book Release 1 0 100 Chapier 10 Views and Events CHAPTER ELEVEN MENU AND ACTIONS 11 1 Menus Here s the template of a menu item lt menuitem id
177. id type field name partner_id name gt lt date type field name date gt lt type type field name type gt lt reference type field name reference gt lt amount type field name amount gt lt change type field name change gt lt transfer gt lt transfer list gt 14 2 2 Introduction to RML For more information on the RML format please refer to the official Reportlab documentation e http www reportlab com docs RML_UserGuide pdf 14 2 XSL RML reports 151 Open Object Developer Book Release 1 0 14 2 3 XSL RML Stylesheet There are two possibilities to do a XSL style sheet for a report Either making everything by yourself or use our predefined templates Either freestyle or use corporate_defaults rml_template import rml_template xsl required templates e frames e stylesheet e story optional templates Translations As Open ERP can be used in several langages reports must be translatable But in a report everything doesn t have to be translated only the actual text has to be translated not the formatting codes A field will be processed by the translation system if the XML tag which surrounds it whatever it is has a t 1 attribute The server will translate all the fields with such attributes in the report generation process Useful links e http www reportlab com docs RML_UserGuide pdf RML UserGuide pdf reportlab com e http www zvon org x
178. id vat or removeParentNode para J I o partner_invoice_id country id and s o partner_invoice_id country_id and o partner_invoice_id country_id name or o state lt gt draft and removeParentNode para Quotation N o name o state draft and removePareniNode para Order N o name Your Reference Date Ordered Our Salesman Payment Terms o client_order_ref format ang o date_order date o user_id name o payment term name True Description VAT Quantity Unit Price Disc Price AT a join map lambda x formatLa lin formatLang l formatL formatLang li z 4 ID 14 1 2 Dynamic content in your report Dynamic content In the SXW RML reports you can put some Python code that accesses the Open ERP objects in brackets The context of the code the variable s values you can use is the following Available variables Here are Python objects variables available e objects the list of objects to be printed invoices for example e data comes from the wizard e time the Python time module see Python documentation for more information e user the user object launching the report Available functions Here are Python functions you can use e setlang fr change the language used in automated translation fields e repeatIn list varname repeat the current part of
179. ign reports using OpenOffice Here s as an example the file server bin addons sale report order sxw 140 Chapter 14 Reports Open Object Developer Book Release 1 0 repeatin objects o setLang o partner_id lang Shipping address o partner id title or o partner id name o partner_shipping_id title or o partner_shipping_id name o partner_shipping_id street o partner_shipping_id street2 or o partner_shipping_id state id and o partner_shipping_id state id name or o partner shipping_id country_id and o partner_shipping_id country_id name or Invoice address o partner invoice_id street o partner_invoice_id street2 and s o partner_invoice_id street2 or o partner invoice_id zip or o partner_invoice_id city or o partner_shipping_id city or o partner_shipping_id zip or Lo partner_id title or J o partner_id name J o partner_order_id title or Lo partner_order_id name o partner_order_id street Lo partner_order_id street2 or Lo partner_order_id zip or J o partner_order_id city or J o partner_order_id state_id and o partner_order_id state id name or o partner_order_id country_id and o partner_order_id country id name or Tel o partner_order_id phone or removeParentNode para Fax o partner_order_id fax or removeParentNode para TVA o partner_
180. inaci n de creaci n de facturas desde pedido de venta Un pedido varios asientos un asiento de una factura un asiento para varias facturas Igualmente se pueden configurar todas las formas de cobro o pago que utilice la empresa giros pagar s transferencia etc Configuraci n de formas de pago de Clientes o cobro de proveedores facturas autom ticas desde pedido o inventarios generaci n autom tica de efectos de cobro y pago remesas de recibos rdenes de pago o transferencia importaci n de extractos bancarios env o telem tico de remesas al banco conciliaci n bancaria autom tica gesti n de bancos propios bancos de Clientes y bancos de proveedores 2 3 5 Modelo de Base de Datos Para saber los campos que tiene cada documento de OpenERP necesitamos ver el objeto correspondiente En OpenERP por lo general los nombres de los objetos corresponden con los nombres de las tablas y campos del objeto con los campos de la tabla El ORM de OpenERP se construye sobre PostgreSQL Por lo tanto es posible consultar el objeto utilizado por OpenERP usando la interfaz de objeto directamente o mediante el uso de sentencias SQL Pero es peligroso para escribir o leer directamente en la base de datos PostgreSQL como se puede acortar pasos importantes como la comprobaci n de restricciones o la modificaci n de flujo de trabajo Pontificia Universidad Cat lica del Ecuador Facultad de Ingenier a Escuela de Sistemas Andrea
181. instead of an unique i18n folder for the whole application each module has its own i18n folder In addition OpenERP can now deal with po files as import export format The translation files of the installed languages are automatically loaded when installing or updating a module OpenERP can also generate a tgz archive containing well organised po files for each selected module Process Defining the process Thourgh the interface and module recorder Then put the generated XML in your own module Views title Technical Specifications Architecture Views Views are a way to represent the objects on the client side They indicate to the client how to lay out the data coming from the objects on the screen There are two types of views e form views e tree views Lists are simply a particular case of tree views A same object may have several views the first defined view of a kind tree form will be used as the default view for this kind That way you can have a default tree view that will act as the view of a one2many and a specialized view with more or less information that will appear when one double clicks on a menu item For example the products have several views according to the product variants Views are described in XML If no view has been defined for an object the object is able to generate a view to represent itself This can limit the developer s work but results in less ergonomic views Usage exam
182. io permite registrar los pagos de clientes como ingresos en Caja Prueba de Aceptaci n Historia de Usuario 020 Comprobantes de Ingreso Las entradas que el usuario realizar es acceder al sistema con el nombre y usuario luego se dirigir al men Cr dito de Autos Pagos Pagos Los resultados que el sistema debe mostrar en el momento que dentro del pago se efect a el pago el sistema autom ticamente carga este ingreso en la Caja v Prueba Comprobantes de Egreso En la historia de usuario permite registrar los egresos realizados por alg n embargo y otros Prueba de Aceptaci n Historia de Usuario 021 Comprobantes de Egreso Las entradas que el usuario realizar es acceder al sistema con el nombre y usuario luego se dirigir al men Cr dito de Autos Egresos Listado de Egresos Los resultados que el sistema debe mostrar una ventana en la que se pueda realizar los egresos existen dos tipos de Egresos Haberes de Clientes que registran los gastos por contrato y por cliente Gastos de la Empresa que puede ser cualquier tipo de gasto realizado por la empresa Maneja un proceso de dos estados al ser aceptado este se debita de los ingresos Pontificia Universidad Cat lica del Ecuador Facultad de Ingenier a Escuela de Sistemas Andrea Garc a Torres P gina 11 Tema Desarrollo de un M dulo de Cr dito Automotriz en OpenERP para la Empresa Autov a S A del cant n Quito
183. ions d DB_NAME database DB_NAME specify the database name r DB_USER db_user DB_USER specify the database user name w DB_PASSWORD db_password DB_PASSWORD specify the database pass word pg_path PG_PATH specify the pg executable path db_host DB_HOST specify the database host db_port DB_PORT specify the database port Internationalization options Use these options to translate Tiny ERP to another language See 118n section of the user man ual Option l is mandatory LANGUAGE language LANGUAGE specify the language of the translation file Use it with 118n export and 118n import i18n export TRANSLATE_OUT export all sentences to be translated to a CSV file and exit i18n import TRANSLATE_IN import a CSV file with translations and exit modules TRANSLATE_MODULES specify modules to export Use in combina tion with 118n export OpenERP Server and Web Client Start Stop OpenERP 4 2 First check that all the required dependencies are installed Then create the terp database You have to make sure that your user has the correct credentials to create databases with PostgreSQL For more information on this subject please refer to the PostgreSQL manual createdb terp ncoding unicode 5 1 Working with Launchpad 27 Open Object Developer Book Release 1 0 Once the database created you can start OpenERP The content of the database will automatically be created at
184. ios y pr cticas de desarrollo de sentido com n en niveles extremos es decir en XP se revisar el c digo todo el tiempo si realizar pruebas es bueno entonces en XP se realizar n pruebas continuamente pruebas de unidad incluso pruebas realizadas por el cliente pruebas de aceptaci n Si aplicar la simplicidad es bueno entonces en XP se dejar al sistema con el dise o m s simple posible que funcione Si hacer arquitectura es importante entonces en XP todo el equipo trabajar en la definici n y refinamiento del sistema en todo momento met foras si las pruebas de integraci n son importantes entonces en XP se integrar y probar el sistema varias veces al d a integraci n continua si desarrollar en iteraciones cortas es bueno entonces en XP se har n iteraciones que no solo duren meses o semanas pero que duren d as horas y minutos XP entrega satisfacci n al cliente con un producto de software que cumple los requerimientos impuestos y los tiempos esperados para la implementaci n Adem s esta metodolog a encamina al equipo de desarrollo a enfrentar un proyecto con requerimientos din micos y cambiantes capaz de poder asumir giros inesperados en cualquier fase del mismo 14 XP Es un enfoque de la ingenier a de software formulado por Kent Beck que a diferencia de las metodolog as tradicionales pone m s nfasis en la adaptabilidad que en la previsibilidad S Desarrollo gil de Software Paradigma
185. ipedia org wiki Customer_relationship_ management 4 Wikipedia 2013 Wikipedia Retrieved 10 21 2013 from http es wikipedia org wiki Desarrollo_ Agil_de_ software 5 Wikipedia 2013 10 19 Wikipedia Retrieved 10 22 2013 from http en wikipedia org wiki Scripting language Pontificia Universidad Cat lica del Ecuador Facultad de Ingenieria Escuela de Sistemas Andrea Garcia Torres Pagina 59 Tema Desarrollo de un M dulo de Cr dito Automotriz en OpenERP para la Empresa Autov a S A del cant n Quito Provincia de Pichincha 6 Wikipedia 2013 03 14 Wikipedia Retrieved 10 26 2013 http es wikipedia org wiki Lenguaje_de_programaci C3 B3n_multiparadigma 7 Wikipedia 2013 06 28 Wikipedia Retrieved 10 26 2013 http es wikipedia org wiki Tipado_ fuerte 8 Wikipedia 2013 03 12 Wikipedia Retrieved 10 26 2013 http es wikipedia org wiki Licencia_ BSD 9 Wikipedia 2013 10 19 Wikipedia Retrieved 10 26 2013 http es wikipedia org wiki SGBD from from from from 10 Wikipedia 2013 10 19 Wikipedia Retrieved 10 26 2013 from http http es wikipedia org wiki Amoeba 11 Wikipedia 2013 10 19 Wikipedia Retrieved 10 26 2013 http es wikipedia org wiki Multiversion_concurrency_control 12 Wikipedia 2013 10 19 Wikipedia Retrieved 10 26 2013 http es wikipedia org wiki Classless_Inter Domain_Routing from from Pontificia Univer
186. ir adjuntar documentos del cliente tal como el Buro Implementaci n Esta historia de usuario ser implementada basado en el acuerdo con el Cliente puede subir documentos que sean necesarios en de Archivos Adjuntos Presentaci n de los requerimientos Solicitud de Credito Cancelar Informacion de la olicitud Fecha de Creacion 29 05 2014 21 45 22 Fecha de pago 29 05 2014 21 44 06 Cliente Cliente Catalina Silva B Garante Codigo all Conyuge Cliente C140002 Figura 006 Adjuntar Buro Archivos adjuntos A adir Buro bd Personalizar Traducir Establecer Por defecto Otras Opciones Importar Exportar Pontificia Universidad Cat lica del Ecuador Facultad de Ingenier a Escuela de Sistemas Andrea Garc a Torres P gina 5 Tema Desarrollo de un M dulo de Cr dito Automotriz en OpenERP para la Empresa Autov a S A del cant n Quito Provincia de Pichincha Historia de Usuario No 007 Manejo de Documentos Acuerdo con el cliente En esta historia de usuario se acord con el cliente que el sistema manejara un espacio para validar la documentaci n entregada por el cliente Implementaci n Esta historia de usuario ser implementada basado en el acuerdo con el Cliente en la Solicitud de cr dito pagina Documentos el cliente puede ir seleccionando los documentos entregados por el Cliente Presentaci n de los requerimientos Cliente Cliente Catalina Silva
187. istoria de usuario Los programadores eval an historias para proporcionar esa informaci n En la tabla 3 20 se muestra la estimaci n de las historias de usuario en semanas d as y horas Pontificia Universidad Cat lica del Ecuador Facultad de Ingenier a Escuela de Sistemas Andrea Garc a Torres P gina 44 Tema Desarrollo de un M dulo de Cr dito Automotriz en OpenERP para la Empresa Autov a S A del cant n Quito Provincia de Pichincha Tiempo estimado Semanas D as Horas Estimadas Estimados Estimadas Componente Ambiente de Instalaci n del Ambiente de 0 5 2 20 Desarrollo Desarrollo Administraci n 1 Registrar Informaci n del Veh culo 0 2 1 8 del Producto Gesti n GE 2 Registrar Informaci n del Cliente 0 2 1 8 Ventas ES 3 Registrar Datos 0 3 LS 12 4 C lculo de montos a cobrar 0 3 LS 12 SSF 5 Aprobaci n de Contratos 0 2 1 8 SS 6 Adjuntar Bur 0 3 1 5 12 7 Manejo de Documentos 0 2 1 8 E 8 Validar Informaci n 0 6 3 24 Esa 9 Reportes Especiales de Contrato 0 6 3 24 AE 10 Generar Letras de Pago 0 2 1 8 A 11 Procesos de la Solicitud 0 8 4 32 Gesti n nf 12 Registro de los Pagos de Clientes 0 4 2 16 Cobros 13 Cargar Cobros Pendientes 0 2 1 8 a 14 Inter s por Mora 0 8 4 32 15 Notificaciones de Estado del Cobro 0 15 12 Dr 16 Registrar la entrega de Letras de Pago 0 4 2 16 Do 17 Letras de Pago Cobradas 0 4 p 16 18 Contratos Embargados 0 4 2 16 A 19 Registro de Llamadas 0
188. isualizar las letras de pago que han sido cobradas Prueba de Aceptaci n Historia de Usuario 017 Letras de Pago Cobradas Las entradas que el usuario realizar es acceder al sistema con el nombre y usuario luego se dirigir al men Cr dito de Autos Reportes Estado de Cuenta Los resultados que el sistema debe mostrar es una vista tipo rbol que muestre la informaci n de las letras pagadas con filtros por el Cliente Esperando Pago Abonado Pagado Pontificia Universidad Cat lica del Ecuador Facultad de Ingenier a Escuela de Sistemas Andrea Garc a Torres P gina 9 Tema Desarrollo de un M dulo de Cr dito Automotriz en OpenERP para la Empresa Autov a S A del cant n Quito Provincia de Pichincha r Prueba Contratos Embargados En la historia de usuario permite realizar proceso de Embargo de las Solicitudes de Cr dito que firm6 contrato Prueba de Aceptaci n Historia de Usuario 018 Contratos Embargados Las entradas que el usuario realizar es acceder al sistema con el nombre y usuario luego se dirigir al men Cr dito de Autos Venta de autos Solicitud de Cr dito acceder a la solicitud que desee Los resultados que el sistema debe mostrar es el contrato en cartera este puede ser Pre Embargado en el cual se inicia un proceso de embargo al cliente esto solo podr realizarlo el Gerente S Prueba Registro de Llamadas En la historia de usuario permite regist
189. ito de Autos Datos de Cr ditos Personas una vez ah el usuario registra la informaci n necesaria y obligatoria Los resultados que el sistema debe mostrar el sistema verifica si ex stela cedula ingresada del cliente es correcta Seg n los casos particulares el sistema identifica que la cedula no es correcta presenta un mensaje de error que la cedula es incorrecta y no permite guardar el cliente sin la cedula correcta c Prueba Registrar Datos En esta historia se puede ingresar cierta informaci n tal como el ingreso del cliente garante producto precio del producto el financiamiento inter s anual entrada Pontificia Universidad Cat lica del Ecuador Facultad de Ingenier a Escuela de Sistemas Andrea Garc a Torres P gina 2 Tema Desarrollo de un M dulo de Cr dito Automotriz en OpenERP para la Empresa Autov a S A del cant n Quito Provincia de Pichincha El sistema filtra los autos que est n vendidos para poder vender solo los disponibles tambi n el sistema controla que la entrada no sea mayor que el precio del producto si sucediera el caso se muestra un mensaje de error Prueba de Aceptaci n Historia de Usuario 003 Registrar Datos Esta historia tiene las condiciones que el usuario debe ingresar los datos necesarios para realizar la venta la informaci n es primordial en un cr dito automotriz Las entradas que el usuario realizar es acceder al sistema con el nombre y usua
190. ividan en tareas simples de implementar Al planificar las tareas de ejecuci n de cada historia de usuario se debe determinar fechas de inicio y fin de ejecuci n de las historias de usuario Extreme Programming propone elaborar tareas simples para cada historia de usuario las cuales deben ser incluidas en la planificaci n de las iteraciones A continuaci n se puede observar las tareas a utilizar e Dise o de Datos e Programaci n e Ejecuci n de Pruebas de Aceptaci n La herramienta de planificaci n de Microsoft Project 2013 se utilizar para documentar la planificaci n de las iteraciones Al concluir la planificaci n de las iteraciones de la entrega del sistema el desarrollador tendr los tiempos claros para desarrollar las Historias de Usuario Esta informaci n se encuentra en el Anexo 4 Pontificia Universidad Cat lica del Ecuador Facultad de Ingenier a Escuela de Sistemas Andrea Garc a Torres P gina 49 Tema Desarrollo de un M dulo de Cr dito Automotriz en OpenERP para la Empresa Autov a S A del cant n Quito Provincia de Pichincha 3 3 5 Aplicaci n de las Iteraciones En esta secci n aplicaremos las estrategias de XP se ver n reflejadas las pr cticas de XP tales como Dise o Simple Refactorizaci n y otras m s El objetivo es poder entregar en el menor tiempo lo planificado Basados en la planificaci n realizada anteriormente se aplicar n las siguientes actividades en cada Iteraci
191. k up and on the right side takes the place of two columns but contains 4 columns As we can see below in the purple zone of the screen there is also a way to distribute the fields of an object on different tabs 88 Chapter 10 Views and Events Open Object Developer Book Release 1 0 Eu Ble User Form Options Plugins Shortcuts Help i RAB e ne S626 Ge x Menu 3 All Quotations X Order Reference 50002 Customer ref Picked y Quotation Order Shop Tiny sprl 18 SA Date ordered 2009 03 18 Q Pad D a 1 Customer Bank Wealthy and sons ES 8 ordering contact Arthur Grosbonnet 1 rue Rockfall EJ A Invoice Address Arthur Grosbonnet 1 rue Rockfell E3 A Shipping Address Arthur Grosbonnet 1 rue Rockfell EJ A Pricelist Public Pricelist EUR A Analytic Account A M Sales order lines LES eus E Description Qy UoM Discount Unit Price Net Price Subtotal PC2 Computer assembled on demand 100 PCE 000 540 00 540 00 540 00 1MB1 Mainboard ASUStek purchased on order 8 00 PCE 0 00 88 00 88 00 704 00 Untaxed Amount 1244 00 Taxes 0 00 Total 1244 00 Compute order State Quotation 3 Confirm order Q cancel order Record 1 2 of 2 Editing document id 2 State aT Administrator Requests No request aa 10 3 Tree views These views are used when we work in list mode in order to visualize several resources at onc
192. l hr employee name employee info wizard id wizard_employee_info gt lt data gt lt terp gt A wizard is declared using a wizard tag See Add A New Wizard for more information about wizard XML also you can add wizard in menu using following xml entry lt xml version 1 0 gt lt terp gt lt data gt lt wizard string Employee Info model hr employee name employee info wizard id wizard_employee_info gt 8 1 The Modules Introduction 57 Open Object Developer Book Release 1 0 lt menuitem name Human Resource Employee Info action wizard_employee_info type wizard id menu_wizard_employee_info gt lt data gt lt terp gt Workflow The objects and the views allow you to define new forms very simply lists trees and interactions between them But it is not enough you have to define the dynamics of these objects A few examples e a confirmed sale order must generate an invoice according to certain conditions e a paid invoice must only under certain conditions start the shipping order The workflows describe these interactions with graphs One or several workflows may be associated to the objects Workflows are not mandatory some objects don t have workflows Below is an example workflow used for sale orders It must generate invoices and shipments according to certain conditions 58 Chapter 8 First Module to OpenERP Open Object Developer Book Release
193. l alcance de la pr xima Planificaci n publicaci n por la combinaci n de las prioridades del negocio y de las estimaciones t cnicas En realidad se apodera del plan y lo actualiza Entregas Peque as Pon un sistema sencillo en producci n r pidamente nuevas versiones en un ciclo muy corto La Met fora Guia a todo el desarrollo de una historia sencilla compartida de c mo funciona todo el sistema Dise os Simple El sistema debe estar dise ado lo m s simple posible en cualquier momento dado La complejidad adicional se elimina tan pronto como se descubra Pruebas Los programadores continuamente escriben pruebas unitarias que deben funcionar sin problemas para el desarrollo Los clientes escriben las pruebas que demuestran que las caracter sticas est n terminadas Refactorizaci n Programadores deben reestructurar el sistema sin cambiar su comportamiento para eliminar la duplicaci n mejorar la comunicaci n simplificar o a adir flexibilidad Programaci n en Pareja Todo el c digo de producci n se escribe con dos programadores en una sola m quina Propiedad Colectiva Cualquier persona puede cambiar cualquier c digo en cualquier lugar en el sistema en cualquier momento Tabla 1 04a Las Pr cticas de XP A Pontificia Universidad Cat lica del Ecuador Facultad de Ingenier a Escuela de Sistemas Andrea Garc a Torres P gina 11 Tema Desarrollo de un M dulo de Cr dito Automotriz en OpenE
194. l its steps Here is an example of such a class class wiz_reconcile wizard interface states CIE ef actions result _trans_rec_get type form arch _transaction_form 13 2 Wizards Principles 129 Open Object Developer Book Release 1 0 fields _transaction_fields state reconcile Reconcile end Cancel reconcile actions _trans_rec_reconcile result type state state end wiz_reconcile account move line reconcile The states dictionary define all the states of the wizard In this example init and reconcile There is another state which is named end which is implicit A wizard always starts in the init state and ends in the end state A state define two things 1 a list of actions 2 aresult 13 2 1 The list of actions Each step state of a wizard defines a list of actions which are executed when the wizard enters the state This list can be empty The function actions must have the following signatures def _trans_rec_ get self uid data res_get False Where e self is the pointer to the wizard object e uid is the user ID of the user which is executing the wizard e data is a dictionary containing the following data ids the list of ids of resources selected when the user executed the wizard id the id highlighted when the user exe
195. l sistema carga por defecto un porcentaje en mora del tres por ciento este se puede cambiar el valor de los pagos pendientes cambian si la mora es diferente de cero Los resultados que el sistema debe mostrar este verifica la mora que no sea negativa si fuera se mostrar un mensaje de error Pontificia Universidad Cat lica del Ecuador Facultad de Ingenier a Escuela de Sistemas Andrea Garc a Torres P gina 56 Tema Desarrollo de un M dulo de Cr dito Automotriz en OpenERP para la Empresa Autov a S A del cant n Quito Provincia de Pichincha 4 Conclusiones y Recomendaciones 4 1 Conclusiones En lo estudiado y desarrollado en OpenERP es factible crear m dulos con nuevas funcionalidades ya que est basado en mejoras de la comunidad Cuando se empez a desarrollar el sistema se utiliz la ltima versi n de OpenERP 6 1 no se pudo migrar a la nueva versi n por decisi n del cliente ya que este OpenERP no es del todo gratuito si deseamos migrar esto genera costo OpenERP versi n 6 1 no tiene todas las funcionalidades y traducciones completas como es el caso de la versi n 7 0 Este m dulo se comparti a la comunidad OpenERP la misma que desde otros pa ses se han comunicado para referencias del m dulo Siendo esto uno de los beneficios de desarrollar en OpenERP nuevos m dulos En la actualidad los sistemas ERP en especial los de software FLOSS est n siendo muy utilizados en el pa s L
196. l terp lt terp sql or psql d terp f terp sql 20 2 The objects methods 1 create field value return ID created 2 search arg1 value1 offset 0 limit 1000 return IDS found 3 read IDS field1 field2 return id 1 field1 field2 J 4 write IDS field1 valuel field2 3 return True 5 unlink IDS return True 181 Open Object Developer Book Release 1 0 182 Chapter 20 Working with Web Services CHAPTER TWENTYONE XML RPC WEB SERVICES Jump to navigation search 1 XML RPC standard http www xmlrpc org e RPC Over HTTP e Function Parameters amp Result encoded in XML 2 Principle calls to objects methodes o read write o create o unlink delete XML RPC is known as a web service Web services are a set of tools that let one build distributed applications on top of existing web infrastructures These applications use the Web as a kind of transport layer but don t offer a direct human interface via the browser 1 Extensible Markup Language XML provides a vocabulary for describing Remote Procedure Calls RPC which is then transmitted between computers using the HyperText Transfer Protocol HTTP Effectively RPC gives developers a mechanism for defining interfaces that can be called over a network These interfaces can be as simple as a single function call or as co
197. lared in an xml file generally module_name _report xml that must be put in the __terp__ py file Here is an example for the sale order report lt xml version 1 0 gt lt terp gt lt data gt lt report id report_sale_order string Print Order model sale order name sale order rml sale report order rml auto False gt header False gt lt data gt lt terp gt The arguments are e id the id of the report like any xml tag in OpenERP string the string that will be display on the Client button model the object on which the report will run name the name of the report without the first report rml the path to the rml file auto boolean to specify if the server must generate a default parser or not header allows to enable or disable the report header located in server_dir bin addons custom 14 2 XSL RML reports RML reports don t require programming but require two simple XML files to be written e a file describing the data to export xml e a file containing the presentation rules to apply to that data xsl XML template XSL stylesheet The role of the XML template is to describe which fields of the resource have to be exported by the server The XSL RML style sheet deals with the layout of the exported data as well as the static text of reports Static text is referring to the text which is common to all reports of the same type for example the title of t
198. lates with the TrueType ones 14 8 2 All these ideas are taken from the forums Free TrueType fonts that can be used for this purpose are in the DejaVu family http dejavu fonts org wiki index php title Main_Page They can be installed e in the ReportLab s fonts directory e system wide and include that directory in rl_config py e in a subdirectory of the OpenERP installation and give that path to ReportLab during the font registration In the server bin report render rml2pdf __init__ py 14 8 Unicode reports 157 Open Object Developer Book Release 1 0 import reportlab rl_config reportlab rl_config warnOnMissingFontGlyphs 0 from reportlab pdfbase import pdfmetrics from reportlab pdfbase ttfonts import TTFont import reportlab enc UTF 8 repeat these for all the fonts needed pdfmetrics registerFont TTFont DejaVuSans DejaVuSans ttf enc pdfmetrics registerFont TTFont DejaVuSans Bold DejaVuSans Bold ttf enc from reportlab lib fonts import addMapping repeat these for all the fonts needed addMapping DejaVuSans 0 0 DejaVuSans normal addMapping DejaVuSans Bold 1 0 DejaVuSans normal trml2pdf py should be modified to load this if invoked from the command line All the xsl and rml files have to be modified A list of possible alternatives Times Roman DejaVuserif ttf Times BoldItalic DejaVuSerif Bolditalic ttf Times
199. lationship between the record using this uniq ID So let s start to export the partners from our database using psql psql trunk c select partner_ id as id name from res_partner A F pset footer gt res partner csv This creates a res partner csv file containing a structure that looks like this id name partner_2 ASUStek partner_3 Agrolait partner_4 Camptocamp partner_5 Syleam By doing this we generated data from the res partner object by creating a uniq identification string for each record which is related to the old application s ID Now we will export the table with addresses or contacts that are linked to partners through the relation field part ner_id We will proceed in the same way to export the data and put them into our module psql trunk c select partner_address lid as id name partner_ partner_id as partner_id id from res_partner_address A F pset footer gt res partner address csv This should create a file called res partner address with the following data 174 Chapier 18 Data Migration Import Export Open Object Developer Book Release 1 0 id name partner_id id partner_address2 Benoit Mortier partner_2 partner_address3 Laurent Ja cot partner_3 partner_address4 Laith Jubair partner_4 partner_address5 Fabien Pinckaers partner_ 4 When you will install this module Open ERP will automatically import the partners and then the address and recreate efficientl
200. le by views or trees operating on the superclasses table network material This inheritancy is usually called class inheritance in Object oriented design The child inherits data fields and behavior functions of his parent Example 2 class other_material osv osv _name other material _inherit network material _columns manuf_warranty fields boolean Manufacturer warranty _defaults manuf_warranty lambda xa False other_material 70 Chapter 9 Objects Fields and Methods Open Object Developer Book Release 1 0 Tip Notice _name _inherit In this example the other_material will hold all fields specified by network material and it will additionally hold a new field manuf_warranty All those fields will be part of the table other material New instances of this class will therefore never been seen by views or trees operating on the superclasses table network material This type of inheritancy is known as inheritance by prototyping e g Javascript because the newly created subclass copies all fields from the specified superclass prototype The child inherits data fields and behavior functions of his parent 9 5 Inheritance by Delegation _inherits Syntax class tiny_object osv osv _name tiny object _table tiny_object _inherits tiny object _1_ name_col _1_ tiny object _2_
201. le type of events are e client_print_multi print from a list or form e client_action_multi action from a list or form e tree_but_open double click on the item of a tree like the menu e tree_but_action action on the items of a tree To map an events to an action lt record model ir values id ir_open_journal_period gt lt field name key2 gt tree_but_open lt field gt lt field name model gt account journal period lt field gt lt field name name gt Open Journal lt field gt lt field name value eval ir actions wizard S d saction_move_journal_line_form_select gt lt field name object eval True gt lt record gt If you double click on a journal period object account journal period this will open the selected wizard id action_move_journal_line_form_select You can use a res_id field to allow this action only if the user click on a specific object 64 Chapter 8 First Module to OpenERP Open Object Developer Book Release 1 0 lt record model ir values id ir_open_journal_period gt lt field name key2 gt tree_but_open lt field gt lt field name model gt account journal period lt field gt lt field name name gt Open Journal lt field gt lt field name value eval ir actions wizard d action_move_journal_line_form_select gt lt field name res_id eval 3 gt lt field name object eval True gt lt record gt
202. le will return a list with all the partners that have the category Customer read Description List of fields resources values Signature def read self cr uid ids fields None context Parameters e ids list of the identifiers of the resources to read list of integers e fields optional the list of the interested fields If a value is not provided for this param eter the function will check all the fields e context optional the actual context dictionary Returns A list of dictionaries a dictionary per resource asked of the form name_of_the_ field value Example values pooler get_pool cr dbname get res partner read cr uid ids name category_id context context browse Description Return one or several resources with the objects form These object fields can be reached directly with the pointed notation object name_of_the_field The relations fields are also automatically evaluated to allow you to recover the values in the neighbors objects Signature def browse self cr uid select offset 0 limit 2000 Parameters e select this parameter accept data of several types an integer identifier of a resource a list of integers list of identifiers e offset optional the number of results to pass e limit optional the maximum number of results to return Returns e if an integer identifier has been passed a
203. les s oc c ec 46 8 he 5 82 e BGs Oe Dee ee oe diese 35 6 2 Module Integrations s 4542 64 wee So Ped A Eee Bea ee ae ds 38 6 3 Inheritance 2 2 ie Gen PEE we oe ee ee Ee ew EES das a aS 38 7 OpenObject Architecture Mve 41 Ll MVC Model View Controller oc 1 5 44 cara ehh e a whoa 41 12 MWVESOL iip sae ee diese Reet CRS BR en ee BE D Hum ai 42 IT Part 2 Module Development 47 8 First Module to OpenERP 49 Sil The Modules Introduction bus S465 4 be dhe LG ne D ROS we Ras Swe gre 49 9 Objects Fields and Methods 67 91 OpenERP Objects seco ue hoe eG e SEE Bw EEG ES HGR RSE EE 67 92 The ORM Object Relation Model ss cry Sede sc geta RE ee PENSE REE ES 68 9 3 OpenERP Object Attributes sou ou Sater e OS sts Es oe 68 94 Object Inheritance gt inherit s aor s esise a dote a a Se Hee eue 70 95 Inhetitanc by Delesation inherits osre e tas ioci our eee REE De eH ES aE Gre 71 9 6 Fields Introduction i o lt g dw iv Soe ected eee eee es her Ge So ete ped 71 CONTENTS 1 Open Object Developer Book Release 1 0 97 Typeor Fields s s ii suit blonde Bada e Cee ANR EME BESS DEES ge 71 9 3 ORM methods 4 24 ae jme ss iaa BAS ew Mas Ew we eh Ge BOW ase we Se 80 10 Views and Events 87 WOT Introductiomto VIEWS s s a 144 Ge eS da owe a a A A dures 87 TO2 OM VIEWS kk he a EERE EERE AMA ARA A e 87 10 37 AMEE VIEWS cec podias ek CES HAE ASS CHESS bee Pe So ee ee 89 1O4 Graph VIEWS
204. lidation state Workflow nodes can execute object methods only two lines of Python are needed to send a request asking the sales manager to validate or not the order 12 1 Introduction 115 Open Object Developer Book Release 1 0 12 1 2 WkfExample2 A sale order that generates an invoice and a shipping order Tre pider_contirm True me True cancel order_policy prepaid or invoiced True True omer_policy prepaid or 7 cancel cancel 5 lorder_policy postpaid and shipped Grip stare cancel invoice has_stockable_products Tre bflow cancel invoice_except True Tme invoice_corrected Prvoice_cancel True AA gt Chip except subtlow done invoice_cancel not lus_stockable_products ship_cancel ship_end Tue ne done WkfExample3 Acount invoice basic workflow 116 Chapter 12 Workflow Business Process Open Object Developer Book Release 1 0 Workflow account invoice basic OSV account invoice 12 2 Defining Workflow Workflows are defined in the file server bin addons base ir workflow workflow py The first three classes defined in this file are workflow wkf_activity and wkf_transition They correspond to the three types of resources that are necessary to describe a workflow e workflow the workflow e wkf_activity the activities nodes e wkf transition the transitions between the activities 12 3 General structure of a workflow XML file T
205. llows only an int as the error code where Tinyerp return a string Demo script e Find Databases 21 1 Interfaces 187 Open Object Developer Book Release 1 0 import java net URL import java util Vector import org apache commons lang StringUtils import org apache xmlrpc XmlRpcException import org apache xmlrpc client XmlRpcClient import org apache xmlrpc client XmlRpcClientConfigImpl1 public Vector lt String gt getDatabaseList String host int port XmlRpcClient xmlrpcDb new XmlRpcClient XmlRpcClientConfigImpl xmlrpcConfigDb new XmlRpcClientConfigImpl xmlrpcConfigDb setEnabledForExtensions true xmlrpcConfigDb setServerURL new URL http host port xmlrpc db xmlrpcDb setConfig xmlrpcConfigDb try Retrieve databases Vector lt Object gt params new Vector lt Object gt Object result xmlrpcDb execute list params Object a Object result Vector lt String gt res new Vector lt String gt for int i 0 i lt a length i if a i instanceof String res addElement String alil catch XmlRpcException e logger warn XmlException Error while retrieving TinyERP Databases e return 2 catch Exception e logger warn Error while retrieving TinyERP Databases e return 3 Login import java net URL import org apache commons lang StringUtils import org apache xmlrpc XmlRpcEx
206. los datos y la l gica de negocio de una aplicaci n de la interfaz de usuario y el m dulo encargado de gestionar los eventos y las Controller comunicaciones Figura 2 02 Diagrama MVC H En la Figura 2 02 se puede denotar que el controlador tiene acceso total sobre la vista y el modelo tambi n muestra que la vista tiene acceso limitado al controlador Las razones de este dise o son Desde vista al modelo El modelo emite un mensaje a la vista cuando sus datos hayan sido modificados con el prop sito que la vista redibuje su contenido El modelo no tiene por qu saber el funcionamiento interno de la vista para realizar esta acci n Por lo tanto la vista necesita tener acceso a las partes internas del modelo Desde Vista al controlador La vista tiene un acceso limitado al controlador debido a que las dependencias de la vista hacia el controlador deben ser m nimos el controlador puede ser sustituido en cualquier momento MVC Modelo en OpenERP En OpenERP se aplica modelo vista controlador con el modelo siendo las tablas de PostgreSQL la vista se define en los archivos XML y controlador se definen por los objetos de OpenERP 22 MVC Model View Controller XML Extensible Markup Language Pontificia Universidad Cat lica del Ecuador Facultad de Ingenier a Escuela de Sistemas Andrea Garc a Torres P gina 25 Tema Desarrollo de un M dulo de Cr dito Automotriz en OpenERP para la Empresa Autov
207. lt para gt Ecole de Commerce de Liege lt para gt lt td gt lt tr gt 148 Chapter 14 Reports Open Object Developer Book Release 1 0 lt tr gt lt td gt lt td gt lt td gt lt para gt Elec Import lt para gt lt td gt lt tE gt lt tr gt lt td gt lt td gt lt td gt lt para gt Maxtor lt para gt lt td gt lt tr gt lt tr gt lt td gt lt td gt lt td gt lt para gt Mediapole SPRL lt para gt lt td gt lt tr gt lt tr gt lt td gt os lt td gt lt td gt lt para gt Opensides sprl lt para gt lt td gt lt tr gt lt tr lt td gt lt td gt lt td gt lt para gt Tecsas sarl lt para gt lt td gt lt tr gt lt blockTable gt lt story gt lt document gt Fore more information on the formats used e RML http reportlab com docs RML_UserGuide_1_0 pdf e XSL Specification http www w3 org TR xslt e XSL Tutorial http www zvon org xxl XSLTutorial Books Output contents html All these formats use XML e http www w3 org XML 14 2 1 XML Template XML templates are simple XML files describing which fields among all available object fields are necessary for the report 14 2 XSL RML reports 149 Open Object Developer Book Release 1 0 File format Tag names can be chosen arbitrarily it must be valid XML though In the XSL file you will have to use those names Most of the time the name of a tag will be the same as the nam
208. mentada Una historia de usuario puede llegar a tener una o varias pruebas de aceptaci n Para esta secci n realizaremos las pruebas de aceptaci n por cada historia de usuario Para mayor informaci n revisar el Anexo 6 PRIMERA ITERACI N El componente de Gesti n de ventas se subdivide en varias historias de Usuario e Registrar Datos e C lculo de montos a cobrar a Prueba Registrar Datos En esta historia se puede ingresar cierta informaci n tal como el ingreso del cliente garante producto precio del producto el financiamiento inter s anual entrada El sistema filtra los autos que est n vendidos para poder vender solo los disponibles tambi n el sistema controla que la entrada no sea mayor que el precio del producto si sucediera el caso se muestra un mensaje de error Prueba de Aceptaci n Historia de Usuario 002 Registrar Datos Esta historia tiene las condiciones que el usuario debe ingresar los datos necesarios para realizar la venta la informaci n es primordial en un cr dito automotriz Pontificia Universidad Cat lica del Ecuador Facultad de Ingenier a Escuela de Sistemas Andrea Garc a Torres P gina 53 Tema Desarrollo de un M dulo de Cr dito Automotriz en OpenERP para la Empresa Autov a S A del cant n Quito Provincia de Pichincha Las entradas que el usuario realizar es acceder al sistema con el nombre y usuario luego se dirigir al men Cr dito de Autos Venta
209. mplex as a large API XML RPC therefore allows two or more computers running different operating systems and programs written in different languages to share processing For example a Java application could talk with a Perl program which in turn talks with Python application that talks with ASP and so on System integrators often build custom connections between different systems creating their own formats and protocols to make communications possible but one can often end up with a large number of poorly documented single use protocols The RPC approach spares programmers the trouble of having to learn about underlying protocols networking and various implementation details XML RPC can be used with Python Java Perl PHP C C Ruby Microsoft s NET and many other programming languages Implementations are widely available for platforms such as Unix Linux Windows and the Macintosh An XML RPC call is conducted between two parties the client the calling process and the server the called process A server is made available at a particular URL such as http example org 8080 rpcserv The above text just touches the surface of XML RPC I recommend O Reilly s Programming Web Service with XML RPC for further reading One may also wish to review the following links XML RPC Home Page XML RPC for C and C The Apache XML RPC Project Expat The XML Parser 21 1 Interfaces 21 1 1 XML RPC XML RPC Architecture Open
210. n Example 189 Open Object Developer Book Release 1 0 address partner_id partner_id type default street Rue du vieux chateau 21 Pg Ia ay gt city Walhain y phone 32 10 6894 39 fax 32 10 68 9439 sock execute dbname uid pwd res partner address create address To get the UID of a user you can use the following script sock xmlrpclib ServerProxy http localhost 8069 xmlrpc common UID sock login terp3 admin admin CRUD example won The login function is under http localhost 8069 xmlrpc common For object retrieval us http localhost 8069 xmlrpc object won import xmlrpclib user admin pwd admin dbname terp3 model res partner sock xmlrpclib ServerProxy http localhost 8069 xmlrpc common uid sock login dbname user pwd sock xmlrpclib ServerProxy http localhost 8069 xmlrpc object CREATE A PARTNER partner_data name Tiny active True vat ZZZZZ partner_id sock execute dbname uid pwd model create partner data The relation between res partner and res partner category is of type many2many To add categories to a partner use the following format partner_data name Provider2 category_id 6 0 3 2 1 Where 3 2 1 are id fields of lines in re
211. n en XP dise ar las pruebas de aceptaci n programar las historias de usuario refactorizar el c digo y el dise o ejecutar las pruebas de aceptaci n Las pruebas de aceptaci n son determinadas por el cliente y se basan en las caracter sticas y funcionalidades generales del sistema que son visibles por parte del cliente Las pruebas de aceptaci n se deducen de las historias de usuario Primer paso en las pruebas de aceptaci n se deben crear antes de programar as poder tener pruebas concisas que efectivicen la funcionalidad de cada Historia de Usuario Realizada las pruebas el desarrollador procede a desarrollar los requerimientos del cliente y luego se debe ejecutar las pruebas de aceptaci n as podemos asegurar que se cumplen con las expectativas del cliente 3 3 6 Seguimiento de las Iteraciones Basados en lo planificado se empieza la parte de codificaci n y pruebas para las historias de usuarios ordenadas en las iteraciones todo el seguimiento de las iteraciones lo podr encontrar en el Anexo 5 PRIMERA ITERACI N Se desarrollara las primeras dos historias de usuario de la primera iteraci n Historia de Usuario No 003 Registrar Datos Acuerdo con el cliente En esta historia de usuario se acord con el cliente que se usar el proceso de venta existente en la empresa todo basado en un documento llamado Solicitud de Cr dito Pontificia Universidad Cat lica del Ecuador Facultad de Ingenier a Esc
212. n esencia un m dulo de grupos de todo lo relacionado con una sola preocupaci n en una entidad significativa Se compone de vistas modelos flujos de trabajo y los asistentes Servicios y WSGF Los modelos de los m todos en particular est n expuestos a trav s de la red y una capa de seguridad El acceso al modelo de datos es en realidad un servicio y es posible ee E ss 40 ARE exponer nuevos servicios Por ejemplo un servicio de WebDAV y un servicio de FTP est n disponibles Aunque no es obligatorio los servicios pueden hacer uso de la pila de WSGI WSGI es una soluci n est ndar en el ecosistema Python para escribir servidores HTTP aplicaciones y middleware 32 WSGI Web Server Gateway Interface 4 WebDAV Web Distributed Authoring and Versioning FTP File Transfer Protocol Pontificia Universidad Cat lica del Ecuador Facultad de Ingenieria Escuela de Sistemas Andrea Garcia Torres Pagina 29 Tema Desarrollo de un M dulo de Cr dito Automotriz en OpenERP para la Empresa Autov a S A del cant n Quito Provincia de Pichincha Mediante el uso de WSGI es posible ejecutar OpenERP en cualquier servidor compatible con WSGI sino tambi n utilizar OpenERP para alojar una aplicaci n WSGI Un ejemplo notable de esta posibilidad es el proyecto OpenERP Web OpenERP Web es el controlador de parte del servidor para los clientes web Es OpenERP Web que proporciona las paginas web al navegador y
213. n installed on your computer Click Finish to dose this wizard eee e End of setup wizard Connecting to OpenERP You do not need to manually start the OpenERP Server because it is installed as a Windows service and automatically started You may however access it from the shortcuts created in the Start menu for OpenERP or simply by connecting with your preferred browser to web interface by default available on http localhost 8069 Use the database list at the top right corner to choose a database to connect to As this would be the first time you are using OpenERP since its installation your database list will be empty You can create a new database through the link on the login page Id MoNombre de tarea Duraci n Comienzo de sep 29 13 oct 6 13 oct 13 13 oct 20 13 O tare oli mix lvwislolt mix v slo LmixLy vis pli mix 1 2 1 Instalaci n del Ambiente de Desarrollo 2 d as 1 10 13 2 EH 1 1 Herramienta de Base de Datos Postgresql 9 0 1 d a 1 10 13 3 1 2 Instalaci n de OpenERP 1 d a 1 10 13 a 4 4m 1 3 Gesti n de las Iteraciones Version One 1 d a 2 10 13 ER 5 2 Registrar Datos 3 dias 2 10 13 E 6 H 2 1 Disefio de Base de Datos Registrar Datos 1dia 2 10 13 7 Him 22 Programacion Registrar Datos 1dia 3 10 13 El 8 de 2 3 Pruebas de Aceptaci n Registrar Datos 1 d a 4 10 13 9 3 3 Calculo de montos a cob
214. n of the module description The module description text author The author of the module website The website of the module license The license of the module default GPL 2 depends List of modules on which this module depends The base module must almost always be in the dependen cies because some necessary data for the views reports are in the base module init_xml List of xml files to load when the server is launched with the init module argument Filepaths must be relative to the directory where the module is Open ERP XML File Format is detailed in this section update_xml List of xml files to load when the server is launched with the update module launched Filepaths must be relative to the directory where the module is Open ERP XML File Format is detailed in this section installable True or False Determines if the module is installable or not active True or False default False Determines the modules that are installed on the database creation Example Here is an example of __terp__ py file for the product module 8 1 The Modules Introduction 51 Open Object Developer Book Release 1 0 name Products amp Pricelists version 1 0 author Open category Generic Modules Inventory Control depends base account init xml 1 demo_xm1 product_demo xml update_xm1 product_data xml product_report xml product_wi
215. n other modules In order to create a profile you only have to create a new directory in server addons you should call this folder profile_modulename in which you put an empty __init__ py file as every directory Python imports must contain an _ init _ py file anda _ terp__ py whose structure is as follows name Name of the Profile version Version String author Author Name category Profile depends List of the modules to install with the profile demo_xm1 update_xml active False installable True Example Here s the code of the file server bin addons profile_manufacturing __terp__ py which corresponds to the manufac turing industry profile in Open ERP name Manufacturing industry profile wersion 1 0 author Open category Profile depends mrp crm sale delivery 8 1 The Modules Introduction 61 Open Object Developer Book Release 1 0 demo_xm1 update_xml active False installable True 8 1 3 Create Module Getting the skeleton directory Creating a new module is quickly done by copying the module called simple or custom depending on your OpenERP version into a new directory As an example on Ubuntu cd usr lib tinyerp server addons sudo cp r custom travel You will need to give yourself permissions over that new directory if you
216. na informaci n si tiene deudas carga todos los valores a cobrar Las entradas que el usuario realizar es acceder al sistema con el nombre y usuario luego se dirigir al men Cr dito de Autos Pagos Pagos una vez ah el usuario selecciona un cliente existente Los resultados que el sistema deme mostrar el sistema carga autom ticamente las deudas del cliente cuando ste es seleccionado Seg n los casos particulares el sistema no encontr el cliente si este no existe se lo debe crear uno nuevo y realizar todo el proceso de la Solicitud de Compra aprobar el Contrato El sistema encuentra un cliente y no tiene deudas pendientes no muestra informaci n de las deudas d Prueba Inter s por Mora En la historia de usuario el c lculo de los valores a pagar cambian seg n el inter s que la Empresa establezca Pontificia Universidad Cat lica del Ecuador Facultad de Ingenier a Escuela de Sistemas Andrea Garc a Torres P gina 55 Tema Desarrollo de un M dulo de Cr dito Automotriz en OpenERP para la Empresa Autov a S A del cant n Quito Provincia de Pichincha Prueba de Aceptaci n Historia de Usuario 014 Inter s por Mora Esta historia se condiciona no poder ingresar n meros negativos el inter s por mora Las entradas que el usuario realizar es acceder al sistema con el nombre y usuario luego se dirigir al men Cr dito de Autos Pagos Pagos al momento de realizar el pago e
217. nales Referencias Bancarias Historial Notes Contratos Egresos Caja E Configuracion A adir 1 1 Direcci n Communication Direccion 1 Phone Direccion 2 Mobile Country v BB Fed State LE Fax Email a Figura 002 Formulario Personas Pontificia Universidad Cat lica del Ecuador Facultad de Ingenier a Escuela de Sistemas Andrea Garc a Torres P gina 2 Tema Desarrollo de un M dulo de Cr dito Automotriz en OpenERP para la Empresa Autov a S A del cant n Quito Provincia de Pichincha Historia de Usuario No 003 Registrar Datos Acuerdo con el cliente En esta historia de usuario se acord con el cliente que se usar el proceso de venta existente en la empresa todo basado en un documento llamado Solicitud de Cr dito Implementaci n Esta historia de usuario ser implementada basado en el acuerdo con el Cliente lo que implica que se cumpla con los requerimientos antes pedidos En esta ventana le permite al usuario ingresar la informaci n del cliente c nyuge del cliente inter s anual calcular el valor de entrada de acuerdo al precio de venta al p blico del producto garante c nyuge de garante si el usuario lo ve necesario que no necesitan garante puede seleccionar la opci n sin garante Ingresar el producto permite la carga autom tica del costo del producto Presentaci n de los requerimientos CREDITO DE AUTOS CONFIGURACION Solicitud de Credito LE Datos de
218. nd this object Use a property when the new feature is 78 Chapter 9 Objects Fields and Methods Open Object Developer Book Release 1 0 not related to the object but to an external concept Here are a few tips to help you choose between a normal field or a property Normal fields extend the object adding more features or data A property is a concept that is attached to an object and have special features e Different value for the same property depending on the company e Rights management per field e It s a link between resources many2one Example 1 Account Receivable The default Account Receivable for a specific partner is implemented as a property because e This is a concept related to the account chart and not to the partner so it is an account property that is visible on a partner form Rights have to be managed on this fields for accountants these are not the same rights that are applied to partner objects So you have specific rights just for this field of the partner form only accountants may change the account receivable of a partner e This is a multi company field the same partner may have different account receivable values depending on the company the user belongs to In a multi company system there is one account chart per company The account receivable of a partner depends on the company it placed the sale order e The default account receivable is the same for all partners and is configured from
219. net openerp commiter 5 1 Working with Launchpad 21 Open Object Developer Book Release 1 0 Development Environment Windows Linux Mac OS Directory Structure Server GTK Client Web Client Configuration Two configuration files are available e one for the client terpre e one for the server terp_serverrc Those files follow the convention used by python s ConfigParser module Lines beginning with or are comments Those files are not necessary If they are not found the server and the client will start with the default configuration The client configuration file is automatically generated upon the first start The one of the server can automatically be created using the command tinyerp server py s Server Configuration File The server configuration file terp_serverrc is used to save server startup options For the version 5 X configuration file is openerp_serverrc Here is the list of the available options interface Address to which the server will be bound port Port the server will listen on database Name of the database to use user Username used when connecting to the database translate_in File used to translate Open ERP to your language translate_out File used to export the language Open ERP use language Use this language as the language of the server This must be specified as an ISO country code as specified by the W3C verbose Will used debugged output 22 Chapt
220. nistrator Requests No request iT ye Views also support more advanced placement options e A view field can use several columns For example on the screen shot below the zone in the blue frame is in fact the only field of a one to many We will come back later on this note but let s note that it uses the whole width of the screen and not only one column et 008 Ele User Form Options Plugins Shortcuts Help i DAS er maes Ses el x Menu X All Sales Order X Order Reference 50001 Customer Ret Picked y Quotation Order shop nys E MG Date Ordered 2009 03 18 Q Paid By Adanta Invoice sale Order other data History Customer Agrolar E R ordenng contact ist A mec FREI D Step addons NN 4 Pricelist Public Pricelist EUR E gA Analytic Account ry We Sales order lines BS etais E UoM Discount Unit Price Net Price Subtotal New server config material 1 00 PCE Description 000 12300 123 00 123 00 3 00 PCE ooo 450 00 450 00 1350 00 3 00 PCE 450 00 PC1 Basic PC PC1 Basie PC 1 350 00 Order State Quotation E confirm order O cancel order Record 5 5 of 5 Editing document lid 1 Eiptocahost006s doc Administrator e We can also make the opposite operation take a columns group and divide it in as many columns as desired The surrounded green zones of the screen above are good examples Precisely the green framewor
221. ny gt lt field name name gt Tiny sprl lt field gt lt field name partner_id ref main_partner gt lt field name currency_id ref EUR gt lt record gt lt record model res users id user_admin gt lt field name login gt admin lt field gt lt field name password gt admin lt field gt lt field name name gt Administrator lt field gt lt field name signature gt Administrator lt field gt lt field name action_id ref action_menu_admin gt lt field name menu_id ref action_menu_admin gt lt field name address_id ref main_address gt lt field name groups_id eval 6 0 group_admin gt lt field name company_id ref main _ companyx gt lt record gt This last record defines the admin user e The fields login password etc are straightforward e The ref attribute allows to fill relations between the records lt field name company_id ref main_company gt gt The field company_id is a many to one relation from the user object to the company object and main_company is the id of to associate e The eval attribute allows to put some python code in the xml here the groups_id field is a many2many For such a field 6 0 group_admin means Remove all the groups associated with the current user and use the list group_admin as the new associated groups and group_admin is the id of another record e The search attribute
222. o se carga ninguna informacion si tiene deudas carga todos los valores a cobrar Las entradas que el usuario realizara es acceder al sistema con el nombre y usuario luego se dirigir al men Cr dito de Autos Pagos Pagos una vez ahi el usuario selecciona un cliente existente Los resultados que el sistema debe mostrar el sistema carga autom ticamente las deudas del cliente cuando ste es seleccionado Seg n los casos particulares si el sistema encuentra un cliente y no tiene deudas pendientes no muestra informaci n n Prueba Inter s por Mora En la historia de usuario el c lculo de los valores a pagar cambian seg n el inter s que la Empresa establezca Prueba de Aceptaci n Historia de Usuario 014 Inter s por Mora Esta historia se condiciona no poder ingresar n meros negativos el inter s por mora Las entradas que el usuario realizar es acceder al sistema con el nombre y usuario luego se dirigir al men Cr dito de Autos Pagos Pagos al momento de realizar el pago el sistema carga por defecto un porcentaje en mora del tres por ciento este se puede cambiar el valor de los pagos pendientes cambian si la mora es diferente de cero Los resultados que el sistema debe mostrar este verifica la mora que no sea negativa si fuera se mostrar un mensaje de error O Prueba Notificaciones de Estado del Cobro Pontificia Universidad Cat lica del Ecuador Facultad de Ingenier
223. on return True def mymod_won self cr uid ids self write cr uid ids state won return True def mymod_lost self cr uid ids self write cr uid ids state lost return True Obviously you would extend these methods in the future to do something more useful Create your Workflow XML file There are three types of records we need to define in a file called mymod_workflow xml 1 Workflow header record only one of these lt record model workflow id wkf_mymod gt lt field name name gt mymod wkf lt field gt lt field name osv gt mymod mymod lt field gt lt field name on_create gt True lt field gt lt record gt 2 Workflow Activity records These define the actions that should be executed when the workflow reaches a particular state lt record model workflow activity id act_new gt lt field name wkf_id ref wkf_mymod gt lt field name flow_start gt True lt field gt lt field name name gt new lt field gt lt field name kind gt function lt field gt lt field name action gt mymod_new lt field gt lt record gt lt record model workflow activity id act_assigned gt lt field name wkf_id ref wkf_mymod gt lt field name name gt assigned lt field gt lt field name kind gt function lt field gt lt field name action gt mymod_assigned lt field gt lt record gt lt record model workflow activity id act_n
224. on save a form open a menu print it sends this action to the server The server then sends the new action to execute to the client 35 Open Object Developer Book Release 1 0 There are three types of action e Open a window form or tree e Print a document e Execute a wizard Architecture Explanation of modules Server Base distribution We use a distributed communication mechanism inside the Open ERP server Our engine support most commonly distributed patterns request reply publish subscribe monitoring triggers callback Different business objects can be in different computers or the same objects can be on multiple computers to perform load balancing on multiple computers Server Object Relational Mapping ORM This layer provides additional object functionality on top of postgresql e Consistency powerful validity checks e Work with objects methods references e Row level security per user group role e Complex actions on a group of resources e Inheritance Server Web Services The web service module offer a common interface for all web services e SOAP e XML RPC e NET RPC Business objects can also be accessed via the distributed object mechanism They can all be modified via the client interface with contextual views Server Workflow Engine Workflows are graphs represented by business objects that describe the dynamics of the company Workflows are also used to track pro
225. on lt field gt lt record gt lt record model workflow transition id t3 gt lt field name act_from ref act_negotiation gt lt field name act_to ref act_won gt lt field name signal gt mymod_won lt field gt lt record gt lt record model workflow transition id t4 gt lt field name act_from ref act_negotiation gt lt field name act_to ref act_lost gt lt field name signal gt mymod_lost lt field gt lt record gt Add mymod_workflow xml to __terp__ py Edit your module s _ terp__ py and add mymod_workflow xml to the update_xml array so that OpenERP picks it up next time your module is loaded Add Workflow Buttons to your View The final step is to add the required buttons to mymod_views xml file Add the following at the end of the lt form gt section of your object s view definition 124 Chapter 12 Workflow Business Process Open Object Developer Book Release 1 0 lt separator string Workflow Actions colspan 4 gt lt group colspan 4 col 3 gt lt button name mymod_assigned string Assigned states new gt lt button name mymod_negotiation string In Negotiation states assigned gt lt button name mymod_won string Won states negotiating gt lt button name mymod_lost string Lost states negotiating gt lt group gt 12 9 3 Testing Now use the Module Manager to install or update your module If you have done everyt
226. ons report xml ir actions act_window ir actions wizard or ir actions url Here is an example to show how we can configuration Client action to print the invoice after confirmation of the invoice 163 Open Object Developer Book Release 1 0 Action Name Print Invoice Report Action State Client Action Object D sequence Action to Launch Client Action Invoices F IQ action Type This is an good and seems easy to configure the action Important fields are Object Select the object on which we want to implement the Server Action when work flow will execute on this object Client Action Select the client action that is to execute at client side Any of the following types ir actions report custom ir actions report xml ir actions act_window ir actions wizard ir actions url 16 3 Trigger Trigger is an really excellent when we want to deal with the work flow of the other object which working the work flow of the first object For example we want to configure the system like when we confirm the purchase order and create the invoice that newly created invoice should confirm it self automatically by the server action acon name Coenen Anse ger 7 et A D D sf fj Trigger Trigger Configuration mw E 1 A rr action Type oaase i This is the easy configuration for the trigger to have the system where the created invoice will confirm it self Important fields are 1
227. or dia codegen_openerp py a test dia diagram and the module generated by the test The module is located in the extra_addons branch https code launchpad net openobject addons To use the module you need to make codegen_openerp py accesible from dia usually in your usr share dia python directory and make sure that it gets loaded once To do it just open dia and open a Python Console from the Dialog Menu and type there import codegen_openerp If everything goes alright you will have a new option in your Export dialog named PyDia Code Generation OpenERP that will create a zip module from your UML diagram To install win Dia in windows first install Python 2 2 then when you install Dia you will have an option to install the python plug in After this put the codegen_openerp py file in C Program FilesDia and you will have the export function in Dia If you find that the zip file is corrupt use DiskInternals ZipRepair utility to repair the zip file before you ll be able to import it make sure the zip file you import has the same name you saved as 22 2 Open Office Report Designer Select Tiny Report gt Server parameters or Open ERP Report gt Server parameters in the top menu of OpenOffice org Writer You can then enter your connection parameters to the Open ERP server You must select a database demo_min in which you ve already installed the module sale A message appears if you ve made a successful connec
228. ore declaring the functional field If method is True the signature of the method must be def fnct self cr uid ids field_name arg context otherwise if it is a global function its signature must be 9 7 Type of Fields 75 Open Object Developer Book Release 1 0 def fnct cr table ids field name arg context Either way it must return a dictionary of values of the form id _1_ value _1_ id _2_ value _2_ The values of the returned dictionary must be of the type specified by the type argument in the field declaration e fnct_inv is the function or method that will allow writing values in that field If method is true the signature of the method must be def fnct self cr uid ids field name field value arg context otherwise if it is a global function it should be def fnct cr table ids field name field value arg context e fnct_search allows you to define the searching behaviour on that field If method is true the signature of the method must be def fnct self cr uid obj name args otherwise if it is a global function it should be def fnct cr uid obj name args The return value is a list countaining 3 part tuplets which are used in search funtion return U id ain 1 3 5 Example Of Functional Field Suppose we create a contract object which is class hr_contract osv osv _name hr contract _d
229. ores web est ndar 2 3 1 Arquitectura Versi n 6 1 Para acceder a OpenERP se puede utilizar un navegador web apuntando al servidor de OpenERP o utilizar un cliente de la aplicaci n el cliente GTK instalado en cada equipo Cliente Web y Cliente GTK Hay una peque a diferencia funcional entre los dos clientes OpenERP el cliente web y el cliente GTK en la actualidad El cliente web ofrece m s funcionalidad por ejemplo la funci n de Inteligencia Corporativa y la vista de Gantt En la versi n 6 1 un sistema de OpenERP se forma a partir de dos componentes INSIDE OUTSIDE Remote GTK client terminals Internal GTK client terminals Thick Client Thick Client ps a Open ERP GTK client XML RPC secure Thick Client or XML RPC EDR Open ERP or NET RPC Thick Client GTK client Open ERP GTK client XML RPC secure Database Application Server LP amp Web r D ca PostgreSQL Server Open ERP Remote web client terminals Figura 2 01 Arquitectura OpenERP 10 Pontificia Universidad Cat lica del Ecuador Facultad de Ingenieria Escuela de Sistemas Andrea Garcia Torres Pagina 24 Tema Desarrollo de un M dulo de Cr dito Automotriz en OpenERP para la Empresa Autov a S A del cant n Quito Provincia de Pichincha 2 3 2 Arquitectura MVC 10 Wikipedia Un Modelo vista controlador es un patr n arquitect nico usado en Ingenier a de software que separa
230. orias de Usuario e Permisos de Acceso y Prueba Permisos de Acceso En la historia de usuario permite asignar permisos de acceso a los usuarios Pontificia Universidad Cat lica del Ecuador Facultad de Ingenier a Escuela de Sistemas Andrea Garc a Torres P gina 12 Tema Desarrollo de un M dulo de Cr dito Automotriz en OpenERP para la Empresa Autov a S A del cant n Quito Provincia de Pichincha Prueba de Aceptaci n Historia de Usuario 024 Permisos de Acceso Las entradas que el usuario realizar es acceder al sistema con el nombre y usuario luego se dirigir al men Configuraci n Usuario Los resultados que el sistema debe mostrar estos permisos podr n ser modificados o asignados solo por el Gerente de la Empresa para asignar los permisos se defini cuatro grupos espec ficos Log stica Cajero Gerente Administrador Pontificia Universidad Cat lica del Ecuador Facultad de Ingenier a Escuela de Sistemas Andrea Garc a Torres P gina 13
231. orm gt lt field gt lt record gt e Action is also same as normal action don t forget to add target attribute Example lt record id action_config_compute_remaining model ir actions act_window gt lt field name name gt Compute Remaining Hours lt field gt lt field name type gt ir actions act_window lt field gt lt field name res_model gt config compute remaining lt field gt lt field name view_type gt form lt field gt lt field name view_mode gt form lt field gt lt field name target gt new lt field gt lt record gt 13 5 osv_memory Wizard System 137 Open Object Developer Book Release 1 0 138 Chapier 13 Creating Wizard The Process CHAPTER FOURTEEN REPORTS There are mainly three types of reports in Open ERP e OpenOffice org reports e RML reports e custom reports based on PostgreSQL views and displayed within the interface This chapter mainly describes OpenOffice org reports and then XSL RML reports Custom reports are described in section Advanced Modeling Reporting With PostgreSQL Views 14 1 OpenOffice org reports The document flow OpenOffice org reports are the most commonly used report formats OpenOffice org Writer is used in combination with 1 to generate a RML template which in turn is used to generate a pdf printable report OpenOffice org Writer SXW2RML Tiny ERP RML Server Template The internal process 139
232. ort before printing softpath Path to the pdf previewer softpath_html Path to the html previewer path Command used to print logging section logger log channels to display List values are common common message view view form common options rpc request rpc result rpc exception level logging level to show output file used by the logger verbose set the log level to INFO client section default_path Default path used by the client when saving loading datas Default values login login admin port 8069 server 192 168 1 4 printer path none preview True softpath none 5 2 Configuration 31 Open Object Developer Book Release 1 0 logging output stdout logger verbose True level ERROR form autosave False client default_path home user 5 2 3 Web Client Configuration Get a clone of each repository rp openobject server trunk server rp openobject client trunk client rp openobject client web trunk client web rp openobject addons trunk addons bzr clone lp op bzr clone lp op bzr clone lp op bzr clone lp op D D 5 5 If you want to get a clone of the extra addons repository you can execute this command bzr clone 1p openerp commiter openobject addons trunk extra addons extra addons run the setup scripts in the respective directories python2 4 setup py build python2 4 setup py install Cu
233. os de apoyo para reas funcionales como planificaci n fabricaci n ventas marketing distribuci n contables financieros gesti n de recursos humanos gesti n de proyectos gesti n de inventario servicio y mantenimiento el transporte y el comercio electr nico La arquitectura del software simplifica la integraci n de los m dulos proveyendo un flujo de informaci n entre todas las funciones dentro de la empresa ERP sistemas de planificaci n de recursos empresariales se compone de un software comercial paquete que promete la integraci n de toda la informaci n que fluye a trav s la compa a financiera contabilidad recursos humanos cadena de suministro y los clientes informaci n Davenport 1998 El concepto del sistema de ERP puede ser ilustrada siguiendo Davenport 1998 con el diagrama de la Figura 1 1 7 ERP Enterprise Resource Planning sistemas de planificaci n de recursos empresariales Software equipamiento l gico de un sistema inform tico comprende componentes l gicos Pontificia Universidad Cat lica del Ecuador Facultad de Ingenier a Escuela de Sistemas Andrea Garc a Torres P gina Tema Desarrollo de un M dulo de Cr dito Automotriz en OpenERP para la Empresa Autov a S A del cant n Quito Provincia de Pichincha Figura 1 01 Concepto del sistema de ERP A 1 1 1 Evoluci n de los Sistemas ERP La evoluci n de los sistemas ERP va siguiendo de cerca los
234. os en el directorio de m dulos se utilizan para modificar la estructura de la base de datos Se utilizan para muchos fines entre los que podemos citar Inicializaci n y declaraci n de datos de demostraci n vistas declaraci n declaraci n de los informes declaraci n de wizards los flujos de trabajo de declaraci n Python m dulo Descriptor del archivo __ init__ py El archivo init py Es como cualquier m dulo de Python ejecute al inicio del programa Debe importar los archivos de Python que necesitan ser cargados Pontificia Universidad Cat lica del Ecuador Facultad de Ingenier a Escuela de Sistemas Andrea Garc a Torres P gina 32 Tema Desarrollo de un M dulo de Cr dito Automotriz en OpenERP para la Empresa Autov a S A del cant n Quito Provincia de Pichincha Por lo tanto si crea un archivo module py que contiene la descripci n de los objetos tiene que escribir una sola lineaen init _ py import module py OpenERP m dulo Descriptor del archivo __ openerp__ py En el directorio de m dulos creados se debe agregar un archivo _ openerp py Este archivo que debe estar en formato de Python es responsable de determinar los archivos XML que se va a analizar durante la inicializaci n del servidor y tambi n a determinar las dependencias del m dulo creado Este archivo debe contener un diccionario de Python con los siguientes valores name El nombre Ingl s Simple del m dulo version La ve
235. ount invoice _get_invoice_partner state 10 membership membership_line _get_partner_id state 10 res partner lambda self cr uid ids c ids free_member 10 9 7 Type of Fields 77 Open Object Developer Book Release 1 0 Property Fields Declaring a property A property is a special field fields property class res_partner osv osv _name res partner _inherit res partner _columns property _product_pricelist fields property product pricelist type many2one relation product pricelist string Sale Pricelist method True view_load True group_name Pricelists Properties Then you have to create the default value in a XML file for this property lt record model ir property id property_product_pricelist gt lt field name name gt property_product_pricelist lt field gt lt field name fields_id search model res partner name property_product_pricelist gt lt field name value eval product pricelist str list0 gt lt record gt Tip if the default value points to a resource from another module you can use the ref function like this lt field name value eval product pricelist str ref module data_id gt Putting properties in forms To add properties in forms just put the lt properties gt tag in your form Thi
236. oups determine the access rights to the different resources There are three types of right e The writing access recording amp creation e The reading access reading of a file e The execution access the buttons of workflows or wizards A user can belong to several groups If he belongs to several groups we always use the group with the highest rights for a selected resource The roles The roles define a hierarchical structure in tree They represent the different jobs roles inside the company The biggest role has automatically the rights of all the inferior roles Example CEO e Technical manager Chief of projects x Developers Testers e Commercial manager Salesmen If we want to validate the test of a program role Testers it may be done by a user having one of the following roles Testers Chief of the project Technical manager CEO The roles are used for the transition of Workflow actions into confirmation choice or validation actions Their impli cations will be detailed in the Workflow section 11 3 1 Menu Access It s easy but risky to grant grained access to menu based on the user s groups First of all you should know that if a menu is not granted to any group then it is accessible to everybody If you want to grant access to some groups just go to Menu gt Administration gt Security gt Define access to Menu items and select the groups that can use this menu item 108 Chapte
237. ov a S A del cant n Quito Provincia de Pichincha Presentaci n de los requerimientos Venta de autos on lan RES Egresos T CE Datos de Creditos Cancelar 41 101 Pagos 1D J Liamadas Telef nicas SEP a i SCI rque realizas el egreso Egresos mg Listado de Egresos Tipo egreso Haberes clientes Tipo de gasto w Cliente Ya Caja Contrato amp Configuraci n Caja Fecha de Creacion 29 05 2014 23 58 19 a Monto 0 00 Caja Registradora Detalle Nuevo Aceptado Aceptar Figura 021 Comprobante de Egresos Historia de Usuario No 022 Reportes para Administradores Acuerdo con el cliente En esta historia de usuario se acord con el cliente podr acceder a reportes gerenciales Implementaci n En el men Reportes se reflejan los informes gerenciales tales como Contratos Activos Estado de Contratos Estado de Cuotas Clientes en Mora Listado de Egresos cada reporte contiene filtros espec ficos Presentaci n de los requerimientos Pontificia Universidad Cat lica del Ecuador Facultad de Ingenier a Escuela de Sistemas Andrea Garc a Torres P gina 16 Tema Desarrollo de un M dulo de Cr dito Automotriz en OpenERP para la Empresa Autov a S A del cant n Quito Provincia de Pichincha Venta de autos Buscar Contratos Activos Contratos Activos Customer Buscar Limpiar Datos de Creditos Crear Pagos cooiGo A c140002 FECHA DE CREACION 29 05
238. part of the obj sale order sale order line sale shop sale commission commission rate e fields field must be in lowercase separated by underscores Try to use commonly used names for fields name state ac many2one must end by _id eg partner_id order_line_id many2many must end by _ids eg category_ids one2many must end by _ids eg line_ids 23 2 Releasing a module 23 2 1 Introduction You can publish your work under our systems to e Get help from contributors or interrested partners for the development e Get feedback from testers and translators e Get your module in the next distribution version of Open ERP if accepted by the editor so that you do not have to manage migrations testing per version 23 2 2 Open Forge Here is the process of publishing a module or patch 1 Create a project on http OpenForge com 202 Chapter 23 Appendices Index Open Object Developer Book Release 1 0 2 Upload your work on your Open Forge project 3 Create an entry on the module repository of Open ERP s website The Open Forge has tools to help your team collaborate like message forums tasks tracker and mailing lists tools to create and control access to Source Code Management repositories It is the central repository of collaborative developments for Open ERP 23 3 Translations Open ERP is multilingual You can add as many languages as you wish Each user may work with th
239. partner method Send_email we will write something like res_partner send_email 1 5 We will see the exact syntax of object method calls further in this document In the following section we will see how to define a new object Then we will check out the different methods of doing this For developers e Open ERP objects are usually called classes in object oriented programming e A Open ERP resource is usually called an object in OO programming instance of a class It s a bit confusing when you try to program inside Open ERP because the language used is Python and Python is a fully object oriented language and has objects and instances Luckily an Open ERP resource can be converted magically into a nice Python object using the browse class method Open ERP object method 67 Open Object Developer Book Release 1 0 9 2 The ORM Object Relation Model 9 2 1 The Models ORM is for Object Relational Mapping OpenERP modeling is based on objects but is data is stored in a classical relational database named Postgresql ORM job is to fill the gap between Open objects and sql tables Python is the programming langage giving the behavior and data description of Open objects This is not stored in the database ORM is the python class ancestor of all Open objects A Open object is modeling by a static python description for his behavior and data an a miror sql d
240. pe according to whether they represent a form for the edition or a list tree for global data viewing A form can be called by an action opening in Tree mode The form view is generally opened from the list mode like if the user pushes on switch view 11 2 Actions 103 Open Object Developer Book Release 1 0 11 2 4 The domain This parameter allows you to regulate which resources are visible in a selected view restriction For example in the invoice case you can define an action that opens a view that shows only invoices not paid The domains are written in python list of tuples The tuples have three elements e the field on which the test must be done e the operator used for the test lt gt like e the tested value For example if you want to obtain only Draft invoice use the following domain state draft In the case of a simple view the domain define the resources which are the roots of the tree The other resources even if they are not from a part of the domain will be posted if the user develop the branches of the tree 11 2 5 Window Action Actions are explained in more detail in section Administration Modules Actions Here s the template of an action XML record lt record model ir actions act window id action_id_1 gt lt field name name gt action name lt field gt lt field name view_id ref view_id_1 gt lt fiel
241. persona complejo Un principio es m s concreto O tienes una retroalimentaci n r pida o no La tabla 1 02a y la tabla 1 02b detalla cada uno los principios fundamentales DESCRIPCI N PRINCIPIOS re Uno de los principios es el de obtener informaci n interpretarla y poner en pr ctica lo que se aprende de nuevo en el sistema lo m s r pido posible El negocio se entera c mo el sistema puede contribuir mejor y que retroalimenta el aprendizaje en d as o semanas en lugar de meses o a os Tabla 1 02a Los Principios de XP A Pontificia Universidad Cat lica del Ecuador Facultad de Ingenier a Escuela de Sistemas Andrea Garc a Torres P gina 8 Tema Desarrollo de un M dulo de Cr dito Automotriz en OpenERP para la Empresa Autov a S A del cant n Quito Provincia de Pichincha PRINCIPIOS DESCRIPCION Asumir la Simplicidad Trate a cada problema como si fuera f cil En muchos sentidos este es el m s dif cil principio para los programadores XP dice que hacer un buen trabajo de la soluci n de trabajo de hoy y confiar en su capacidad de agregar complejidad en el futuro en el que la necesite Grandes cambios hechos a la vez simplemente no Cambios Incrementales funcionan Cualquier problema se resuelve con una serie de los m s peque os cambios que hacen una diferencia El equipo cambia un poco a la vez Incluso la adopci n de XP debe ser tomado en peque os pasos Trabajo de Calidad La calidad del
242. ple When you open an invoice here is the chain of operations followed by the client e An action asks to open the invoice it gives the object s data account invoice the view the domain e g only unpaid invoices e The client asks with XML RPC to the server what views are defined for the invoice object and what are the data it must show e The client displays the form according to the view 1 http www gnu org software autoconf manual gettext PO Files html PO Files 56 Chapter 8 First Module to OpenERP Open Object Developer Book Release 1 0 CLIENT SERVER ACTION VIEW_ID OBJECT DOMAIN REQUEST VIEW VIEW OB FIELDS account invoice create datas To develop new objects The design of new objects is restricted to the minimum create the objects and optionally create the views to represent them The PostgreSQL tables do not have to be written by hand because the objects are able to automatically create them or adapt them in case they already exist Reports Open ERP uses a flexible and powerful reporting system Reports are generated either in PDF or in HTML Reports are designed on the principle of separation between the data layer and the presentation layer Reports are described more in details in the Reporting chapter Wizards Here s an example of a XML file that declares a wizard lt xml version 1 0 gt lt terp gt lt data gt lt wizard string Employee Info mode
243. pter 14 Reports Open Object Developer Book Release 1 0 The zoom type is only useful when we want to recover several fields in the same object e function returns the result of the call to the function whose name is given in the name attribute This function must be part of the list of predefined functions For the moment the only available function is today which returns the current date e call calls the object method whose name is given in the name attribute with the arguments given in the args attribute The result is stored into a dictionary of the form name_of_ variable value and can be accessed through child nodes These nodes must have a value attribute which correspond to one of the keys of the dictionary returned by the method Example lt cost type call name compute_seller_costs args gt lt name value name gt lt amount value amount gt lt cost gt TODO documenter format methode appell e def compute_buyer_costs self cr uid ids args e attachment extract the first attachment of the resource whose id is taken from the field whose name is given in the name attribute and put it as an image in the report Example lt image type attachment name id gt Example Here is an example of XML file lt xml version 1 0 encoding 1S0 8859 1 gt lt transfer list gt lt transfer type fields name id gt lt name type field name name gt lt partner_
244. r 11 Menu and Actions Open Object Developer Book Release 1 0 C Fichier Utilisateur Formulaire Options Plugins Aide DSe aes Sax O X Menu Menu Complete Name Menu Operations Huissier Signal tique des ventes Menu Signal tique des ventes A Parent Menu Huissier DOS ms State Dncument an cours dition 107 N Nouveau S Sauver D Effacer Administrator Requ tes Pas de requ te ao Beware If the Administrator does not belong to one of the group he will not be able to reach this menu again 11 3 Security 109 Open Object Developer Book Release 1 0 110 Chapter 11 Menu and Actions Part IV Part 3 Business Process Development 111 CHAPTER TWELVE WORKFLOW BUSINESS PROCESS 12 1 Introduction The workflow system in Open ERP is a very powerful mechanism that can describe the evolution of documents model in time Workflows are entirely customizable they can be adapted to the flows and trade logic of almost any company The workflow system makes Tiny ERP very flexible and allows it to easily support changing needs without having to program new functionalities Goals e description of document evolution in time e automatic trigger of actions if some conditions are met e management of company roles and validation steps e management of interactions between the different objects modules e graphical tool for visualization of document flows To understand its
245. rar 1 d a 7 10 13 F1 10 EE 3 1 Dise o de Base de Datos Calculo de montos a cobrar 1 d a 7 10 13 mi 11 E 3 2 Programaci n Calculo de montos a cobrar 1 d a 7 10 13 En 12 3 3 Pruebas de Aceptaci n Calculo de montos a cobrar 1 d a 7 10 13 E 13 77 4 Registrar Informaci n del Cliente 1 d a 8 10 13 ci 14 E 4 1 Dise o de Base de Datos Registrar Informaci n del Cliente 1 d a 8 10 13 m 15 E 4 2 Programaci n Registrar Informaci n del Cliente 1 d a 8 10 13 E 16 EA ES 4 3 Pruebas de Aceptaci n Registrar Informaci n del Cliente 1 d a 8 10 13 ml 17 5 Registrar Contratos 1 d a 9 10 13 E 18 E 5 1 Dise o de Base de Datos Registrar Contratos 1 d a 9 10 13 Es 19 B 5 2 Programaci n Registrar Contratos 1 d a 9 10 13 20 H 5 3 Pruebas de Aceptaci n Registrar Contratos 1 d a 9 10 13 21 6 Ingreso de la Solicitud de Compra 2 d as 10 10 13 Hito de l nea base Inactive Milestone External Tasks Resumen de linea base le Inactive Summary l External Milestone Task Manual Task EH Deadlline y Project FirstLaunch Split brotiteteteererera Duration only NN Progress Date 24 5 14 Milestone Manual Summary Rollup mm Manual Progress Summary PT Manual Summary eof Linea base ns Project Summary l Start only L Inactive Task Finish only 1 Page 1 Id MoNombre de tarea Duraci n Comienzo de sep 29 13 oct 6 13 oct 13 13 oct 20
246. rar las llamadas realizadas al cliente Prueba de Aceptaci n Historia de Usuario 019 Registro de Llamadas Las entradas que el usuario realizar es acceder al sistema con el nombre y usuario luego se dirigir al men Cr dito de Autos Llamadas Telef nicas Registro de Llamadas Los resultados que el sistema debe mostrar es una vista tipo rbol en el cual especifique la descripci n de la llamada a que persona se va realizar t Prueba Registro de Llamadas En la historia de usuario permite registrar las llamadas realizadas al cliente Prueba de Aceptaci n Historia de Usuario 019 Registro de Llamadas Las entradas que el usuario realizar es acceder al sistema con el nombre y usuario luego se dirigir al men Cr dito de Autos Llamadas Telef nicas Registro de Llamadas Los resultados que el sistema debe mostrar es una vista tipo rbol en el cual Pontificia Universidad Cat lica del Ecuador Facultad de Ingenier a Escuela de Sistemas Andrea Garc a Torres P gina 10 Tema Desarrollo de un M dulo de Cr dito Automotriz en OpenERP para la Empresa Autov a S A del cant n Quito Provincia de Pichincha especifique la descripci n de la llamada a que persona se va realizar El componente de Administraci n de Caja se subdivide en varias historias de Usuario e Comprobantes de Ingreso e Comprobantes de Egreso u Prueba Comprobantes de Ingreso En la historia de usuar
247. re declared in the view 87 Open Object Developer Book Release 1 0 e Every screen is divided into 4 columns each column being able to contain either a label or an edition field As every edition field is preceded by default by a label with its name there will be two fields and their respective labels on each line of the screen The green and red zones on the screen shot below illustrate those 4 columns They designate respectively the labels and their corresponding fields OpeneERP file User Form Options Plugins Shortcuts Help Dag e ams S808 ax Menu 3 All Quotations X Order Reference 50002 customer ref Picked y Quotation Order Shop Tiny sprl JE SA Date Ordered 2008 03 16 IR Paid s Sale Order Other data History Customer Bank Wealthy and sons Aff ordering contact fart Invoice Address farthur Grosbonnet 1 rue Focktell E3 94 shipping address farth Pricelist Pricelist EUR E 89 Anatytic Account w Sales order lines BS uy E Description Qty UoM Discount Unit Price Net Price Subtotal PC2 Computer assembled on demand 100 PCE 0 00 54000 54000 540 00 mba Mainboard ASUStek purchased on order 8 00 PCE oco 88 00 88 00 704 00 Untaxed Amount 1244 00 L Taxes 0 00 Total 1244 00 compute Order State Quotation Bcontrm order Q cancel order State puslocalhestis0es doc Admi
248. re the module is Open ERP XML File Format is detailed in this section update_xml List of xml files to load when the server is launched with the update module launched Filepaths must be relative to the directory where the module is Open ERP XML File Format is detailed in this section installable True or False Determines if the module is installable or not active True or False default False Determines the modules that are installed on the database creation 60 Chapter 8 First Module to OpenERP Open Object Developer Book Release 1 0 Example Here is an example of __terp__ py file for the product module name Products amp Pricelists version 3 1 0 author Open category Generic Modules Inventory Control depends base account ne sm Ys l demo_xm1 product_demo xml update_xml1 product_data xml product_report xml1 product_wizard xml product_view xm installable True active True The files that must be placed in init_xml are the ones that relate to the workflow definition data to load at the installa tion of the software and the data for the demonstrations The files in update_xml concern views reports and wizards Profile Module The purpose of a profile is to initialize Open ERP with a set of modules directly after the database has been created A profile is a special kind of module that contains no code only dependencies o
249. reSQL relational database OpenERP business objects are modeled with an Object Relational Mapping ORM system OpenERP offers three Human Machine Interfaces HMI a GTK client a QT client and a web client eTiny OpenERP uses ReportLab for report generation in PDF OpenERP uses XML for several purpose describing data view reports data transport XML RPC 6 1 1 Technical Architecture Server client XML RPC Open ERP is a based on a client server architecture The server and the client communicate using the XML RPC protocol XML RPC is a very simple protocol which allows the client to do remote procedure calls The function called its arguments and the result are sent HTTP and encoded using XML For more information on XML RPC please see http www xml rpc com Since version 4 2 there is a new protocol between client server that have been called net rpc It is based on the python cPickle function it is faster than the xml rpc Client The logic of Open ERP is entirely on the server side The client is very simple his work is to ask data forms lists trees from the server and to send them back With this approach nearly all developments are made on the server side This makes Open ERP easier to develop and to maintain The client doesn t understand what it posts Even actions like Click on the print icon are sent to the server to ask how to react The client operation is very simple when a user makes an acti
250. registra la informaci n necesaria y obligatoria Los resultados que el sistema debe mostrar es poner en may sculas todo los valores a ingresar El componente de Gesti n de ventas se subdivide en varias historias de Usuario e Registrar informaci n del Cliente e Registrar Datos Pontificia Universidad Cat lica del Ecuador Facultad de Ingenier a Escuela de Sistemas Andrea Garc a Torres P gina 1 Tema Desarrollo de un M dulo de Cr dito Automotriz en OpenERP para la Empresa Autov a S A del cant n Quito Provincia de Pichincha e C lculo de montos a cobrar e Aprobaci n de Contratos e Adjuntar Buro e Manejo de Documentos e Validar la Informaci n e Reportes Especiales de Contrato e Generar Letras de Pago e Procesos de la Solicitud b Prueba Registrar informaci n del Cliente En esta historia se puede ingresar toda la informaci n de un cliente su nombre cedula Referencias Personales Referencias Bancarias El sistema verifica que la cedula esta correcta de acuerdo a Ecuador La pesta a Contratos indica los Contratos asociados a este cliente Prueba de Aceptaci n Historia de Usuario 002 Registrar informaci n del Cliente Esta historia tiene las condiciones que el usuario debe ingresar los datos necesarios para tener toda la informaci n del cliente Las entradas que el usuario realizar es acceder al sistema con el nombre y usuario luego se dirigir al men Cr d
251. rent object like here we select the invoice in the object For example to get the partner name we can use object partner_id name like the same object refers to the current object and we can access any fields which exist in the model After confirmation the invoice we get the confirmation email from the action 16 5 Create Object This is an interesting feature for the tiny partners those who want to track the transaction in the OpenERP like currently in the ERP you can get the Event history on the Partners which logs the only the sales order events But if we want to start logging the invoice like the same we can easily do like that using the Create object Actions Action Name Create Partner Event History Action State Create Object Y Object Invoice P A Sequence 0 E Create Write Fields Mapping Model res partner event B IQ lt Field Mappings 208 gt Destination Type Value Description Formula Confirm the Invoice with the Number str object number Events Formula Invoice str object number Partner Formula object partner_id id User Formula object partner_id user_id id Record 1d Origin Sa Create Object action have the easy but tricky configuration for the movement you have to remember the fields name or check it out from the code it self in future we will develop the expression builder inside OpenERP so you can build the complex expression Importan
252. ring Partner Contacts gt lt field lt field lt field name name gt name zip gt name city gt lt field name country_id gt lt field name phone gt lt field name email gt lt tree gt lt field gt lt separator colspan 4 string Categories gt lt field lt page gt lt page string Sales amp amp colspan 4 name category_id nolabel 1 select 2 gt Purchases gt lt separator string General Information colspan 4 gt lt field lt field lt field lt field lt field name user_id select 2 gt name active select 2 gt name website widget url gt name date select 2 gt name parent_id gt lt newline gt lt page gt lt page string History gt lt field lt page gt colspan 4 name events nolabel 1 widget one2many_ Open Object Developer Book Release 1 0 Button lt button gt add a button using the string attribute as label When clicked it can trigger methods on the object workflow transitions or actions reports wizards e string define the button s label e confirm the message for the confirmation window if needed Eg confirm Are you sure e name the name of the function to call when the button is pressed In the case it s an object function it must take 4 argu cr is a database cursor uid is the userID of the user who clicked the button ids is the record ID list
253. rio luego se dirigir al men Cr dito de Autos Venta de Autos Solicitud de Cr dito una vez ah el usuario registra la informaci n necesaria y obligatoria Los resultados que el sistema debe mostrar el sistema verifica si existe el cliente c nyuge y garante la existencia de veh culos no est vendido para poder realizar la venta el sistema carga el precio del veh culo seg n el veh culo y el sistema verifica que la entrada no sea mayor que el precio del veh culo Seg n los casos particulares el sistema no encontr el cliente si ste no existe se lo debe crear uno nuevo al igual que el c nyuge y garante El sistema no encuentra veh culos no vendidos debe ingresar el veh culo disponible para la venta El sistema no carga el precio del veh culo debe ingresar un valor al veh culo El sistema verific que la entrada es mayor entonces se muestra un mensaje de error que la entrada es mayor que el precio del veh culo d Prueba C lculo de Montos a Cobrar En la historia de usuario una vez ingresada la informaci n necesaria tales como el precio del producto entrada financiamiento e inter s el sistema calcula los valores a financiar total pagar valor por letra total del pagar total de letras Prueba de Aceptaci n Historia de Usuario 004 C lculo de Montos a Cobrar Esta historia condiciona todos los campos para calcular los valores en todos los campos no aceptan n meros negativos una
254. rollar este trabajo de tesis y adquirir mucha experiencia profesional Andr s Calle Patricio Rangles Castor Calle por el apoyo en espacios y equipo para el desarrollo de la tesis A mi director de tesis Ingeniero Javier C ndor por su confianza y apoyo en la tesis A todos mis amigos amigas y todas aquellas personas que han sido importantes para m durante todo este tiempo A todos mis maestros que aportaron a mi formaci n Para quienes me ense aron m s que el saber cient fico a quienes me ense aron a ser lo que no se aprende en sal n de clase y a compartir el conocimiento con los dem s Tema Desarrollo de un M dulo de Cr dito Automotriz en OpenERP para la Empresa Autov a S A del cant n Quito Provincia de Pichincha ndice 1 MARCO TE RICO 1 1 1 Que es un ERP dp tags a a a E a E E a 1 1 1 1 Evoluci n de los Sistemas ERP 2 1 1 2 Ventajas y Desventajas de un ERP 3 1 1 3 Arquitectura de los Sistemas ERP 0ooooncccnonacononcconnanononcnononcnnnnnnonononnnnnncrnnnnonnnnos 5 1 2 Metodolog a de Software Extreme Programming cccconocononncnonnnononcnonnnnonononononcnnnnanonnnos 6 1 2 1 Los Valores de XP iii 7 1 2 2 Los Principios de XP ins 8 1 2 3 Las Actividades de XP ins 9 1 2 4 Las Practicas de XP eme sn eee me tt et einen 10 1 2 5 Ciclo de Vida de un Proyecto utilizando XP 12 1 2 6 ROIS O 13 1 3 Lenguajes de Programaci n Python oooonooccnnonccnoncnononncononnonononononcnnnnnno non nonaranenen
255. rrently the initialisation procedure of the server parameter init all to populate the database seems to be broken in trunk It is recommended to create a new database via the gtk client Before that the web client will not work Start OpenERP server like this openerp server py addons path path to my addons The bin addons will be considered as default addons directory which can be overriden by the path to my addons That is if an addon exists in bin addons as well as path to my addons cus tom path the later one will be given preference over the bin addons default path 5 3 Command line options 5 3 1 General Options version show program version number and exit h help show this help message and exit c CONFIG config CONFIG specify alternate config file 32 Chapter 5 Development Environment Open Object Developer Book Release 1 0 s save save configuration to terp_serverrc v verbose enable debugging pidfile PIDFILE file where the server pid will be stored logfile LOGFILE file where the server log will be stored n INTERFACE interface INTERFACE specify the TCP IP address p PORT port PORT specify the TCP port net_interface NETINTERFACE specify the TCP IP address for netrpc net_port NETPORT specify the TCP port for netrpc no netrpc disable netrpc no xmlrpe disable xmlrpc i INIT init INIT init a module use all for all modules
256. rsi n del m dulo en 2 d gitos 1 2 o 2 0 description La descripci n del m dulo texto incluye documentaci n sobre el uso de los m dulos author El autor del m dulo website La p gina web del m dulo license La licencia del m dulo por defecto GPL 2 depends Lista de los m dulos de los que depende este m dulo El m dulo base casi siempre tiene que estar en las dependencias ya que algunos datos necesarios para las opiniones informes se encuentran en el m dulo base init Lista de archivos XML para cargar cuando el servidor se pone en marcha Rutas de archivos debe ser relativa al directorio donde el m dulo es OpenERP formato de archivo XML se detalla en esta secci n data Lista de archivos XML para cargar cuando el servidor se pone en marcha demo Lista de archivos XML para proporcionar datos de demostraci n Pontificia Universidad Cat lica del Ecuador Facultad de Ingenier a Escuela de Sistemas Andrea Garc a Torres P gina 33 Tema Desarrollo de un M dulo de Cr dito Automotriz en OpenERP para la Empresa Autov a S A del cant n Quito Provincia de Pichincha instalable Verdadero o Falso Determina si el m dulo es instalable o no images Lista de archivos png para proporcionar im genes active Verdadero o Falso por defecto falso Determina los m dulos que est n instalados en la creaci n de bases de datos test Lista de archivos yml proporcionar pruebas YAML 2 1
257. s New You can precise groups for whom the menu is accessible using the groups attribute in menuitem tag New You can now add shortcut using the shortcut tag Example lt shortcut name Draft Purchase Order Proposals model purchase order logins demo menu m gt Note that you should add an id attribute on the menuitem which is refered by menu attribute lt record model ir ui view id v gt lt field name name gt sale order form lt field gt lt field name model gt sale order lt field gt lt field name priority eval 2 gt lt field name arch type xml gt lt form string Sale Order gt lt form gt lt field gt lt record gt Default value for the priority field 16 When not specified the system will use the view with the lower priority 10 5 1 Grouping Elements Separator Adds a separator line Example 10 5 Design Elements 91 Open Object Developer Book Release 1 0 lt separator string Links colspan 4 gt The string attribute defines its label and the colspan attribute defines his horizontal size in number of columns Notebook lt notebook gt With notebooks you can distribute the view fields on different tabs each one defined by a page tag You can use the tabpos properties to set tab at up down left right Example lt notebook colspan 4 gt lt notebook gt Group lt group gt groups several columns and split the group in as many columns
258. s Todos ellos pueden ser modificados a trav s de la interfaz de cliente con vistas contextuales Servidor motor de flujo de trabajo Los flujos de trabajo son graficos representados por objetos de negocio que describen la dinamica de la empresa Los flujos de trabajo tambi n se utilizan para rastrear los procesos que evolucionan con el tiempo Un ejemplo de flujo de trabajo utilizado en OpenERP A pedido de venta genera una factura y una orden de inventario Servidor motor de informes Informes en OpenERP se pueden representar de varias maneras Informes personalizados los informes se pueden crear directamente desde la interfaz del cliente sin necesidad de programaci n Esos informes est n representados por objetos de negocio ir report custom Informes de alta calidad personalizados usando OpenReport en AerooReport inclusive se puede utilizar herramientas como Pentaho Servidor Business Objects Casi todo es un business object en OpenERP describen todos los datos del programa tales como flujos de trabajo facturas usuarios informes personalizados Los business object se describen utilizando el m dulo ORM Los objetos de negocio se estructuran en el directorio m dulo Cliente Wizards Los asistentes son los gr ficos de las acciones ventanas que el usuario puede llevar a cabo durante una sesi n Pontificia Universidad Cat lica del Ecuador Facultad de Ingenier a Escuela de Si
259. s from initial concept to implementation Using Blueprint you can encourage contributions from right across your project s community while targeting the best ideas to future releases Launchpad Blueprint helps you to plan future release with two tools e milestones points in time such as a future release or development sprint e series goals a statement of intention to work on the blueprint for a particular series Although only drivers can target blueprints to milestones and set them as series goals anyone can propose a blueprint as a series goal As a driver or owner you can review proposed goals by following the Set goals link on your project s Blueprint overview page By following the Subscribe yourself link on a blueprint page you can ask Launchpad to send you email notification of any changes to the blueprint In most cases you ll receive notification only of changes made to the blueprint itself in Launchpad and not to any further information such as in an external wiki However if the wiki software supports email change notifications Launchpad can even notify you of changes to the wiki page If you re a blueprint owner and want Launchpad to know about updates to the related wiki page ask the wiki admin how to send email notifications Notifications should go to notifications specs launchpad net The Buleprints for OpenERP are listed here e https blueprints launchpad net openerp e https blueprints launchpad
260. s if an addon exists in bin addons as well as path to my addons cus tom path the later one will be given preference over the bin addons default path Command line options General Options version show program version number and exit h help show this help message and exit c CONFIG config CONFIG specify alternate config file s save save configuration to terp_serverrc v verbose enable debugging pidfile PIDFILE file where the server pid will be stored logfile LOGFILE file where the server log will be stored n INTERFACE interface INTERFACE specify the TCP IP address p PORT port PORT specify the TCP port net_interface NETINTERFACE specify the TCP IP address for netrpc net_port NETPORT specify the TCP port for netrpc 26 Chapter 5 Development Environment Open Object Developer Book Release 1 0 no netrpc disable netrpc no xmlrpe disable xmlrpc i INIT init INIT init a module use all for all modules without demo WITHOUT_DEMO load demo data for a module use all for all modules u UPDATE update UPDATE update a module use all for all modules stop after init stop the server after it initializes debug enable debug mode S secure launch server over https instead of http smtp SMTP_SERVER specify the SMTP server for sending mail price_accuracy PRICE_ACCURACY specify the price accuracy Database related opt
261. s into this activity The method must be defined in a object which belongs this workflow and have the following signature def object_method self cr uid ids In the action though they will be called by a statement like object_method signal_send flow_start Indicates if the node is a start node When a new instance of a workflow is created a workitem is activated for each activity marked as a flow_start Be warned to not use this flag unless your activity really is a flow start There are tiny versions that do not care about the tags contents like true or false Using such tag and tiny version you will always end up whith an activity which is tagged as flow start true leaving u with a nasty hunt to find out where your workflowdesign could be wrong 12 4 6 flow_stop Indicates if the node is an ending node When all the active workitems for a given instance come in the node marked by flow_stop the workflow is finished Be warned to not use this flag unless your activity really is a flow stop There are tiny versions that do not care about the tags contents like true or false Using such tag and tiny version you will always end up whith an activity which is tagged as flow stop true leaving u with a nasty hunt to find out where your workflowdesign could be wrong 12 4 7 wkf_id The workflow which this activity belongs to Defining activities using XML files 12 4 Activity
262. s partner category SEARCH PARTNERS args vat 2Z2222 ids sock execute dbname uid pwd model search args READ PARTNER DATA fields name active vat ref results sock execute dbname uid pwd model read ids fields print results EDIT PARTNER DATA 190 Chapter 21 XML RPC Web services Open Object Developer Book Release 1 0 values vat ZZ12Z results sock execute dbname uid pwd model write ids values DELETE PARTNER DATA results sock execute dbname uid pwd model unlink ids PRINT example 1 PRINT INVOICE 2 IDS is the invoice ID as returned by 3 ids sock execute dbname uid pwd account invoice search number ilike invoicenumber type out_invoice import time import base64 printsock xmlrpclib ServerProxy http server 8069 xmlrpc report model account invoice id_report printsock report dbname uid pwd model ids model model id ids 0 time sleep 5 state False attempt 0 while not state report printsock report_get dbname uid pwd id_report state report state if not state time sleep 1 attempt 1 if attempt gt 200 print Printing aborted too long delay string_pdf base64 decodestring report result file_pdf open tmp file pdf w
263. s pr cticas de negocio requieren mucho tiempo de configuraciones para la integraci n con las funciones de negocio de la compa a los m dulos funcionan en tiempo real en l nea y capacidades de procesamiento por lotes Diferentes proveedores de ERP ofrecen sus sistemas con cierto grado de especialidad pero el n cleo de los m dulos es casi el mismo para todos ellos Algunos de los m dulos b sicos de ERP encontrados en los sistemas exitosos son las siguientes Gesti n de Contabilidad Gesti n Financiera Gesti n de Manufactura Gesti n de la Producci n Gesti n del Transporte Gesti n de Distribuci n y Ventas 1 DBMS Database Management System Pontificia Universidad Cat lica del Ecuador Facultad de Ingenier a Escuela de Sistemas Andrea Garc a Torres P gina 5 Tema Desarrollo de un M dulo de Cr dito Automotriz en OpenERP para la Empresa Autov a S A del cant n Quito Provincia de Pichincha 1 2 Metodolog a de Software Extreme Programming Extreme Programming conocido tambi n por las siglas XP es una metodolog a gil de desarrollo de software creado para equipos de desarrollo peque os y medianos entre dos y veinte personas Aplica como su filosof a principal al cambio gil de requerimientos al involucramiento diario del cliente en el proceso de desarrollo y a las actividades de los desarrolladores todos llevados al extremo El t rmino extremo se debe a que XP aplica princip
264. s select parameter return an object having the properties described here above e if a list of integer identifiers has been passed return the object list Example Let s consider the case of a partner object res partner and of a partner contact object res partner address Let s suppose that we know the identifier of a partner contact name contact_id and we want to recover his name and the account number of the company he works for Knowing that the object res partner contains the field 9 8 ORM methods 81 Open Object Developer Book Release 1 0 bank fields char Bank account size 64 and the object res partner address contains the fields partner_id fields many2one res partner Partner required True name fields char Contact Name size 64 the most simple way to proceed is to use the browse method addr_obj self pool get res partner address browse cr uid contact_id so to recover the two fields that interest us you have to write name addr_obj name account_num addr_obj partner_id bank Note This method is only useful locally on the server itself and not with the other interfaces write Description Writes values in one or several fields of one or several resources Signature def write self cr uid ids vals context Parameters e ids the resources identifiers list to modify e vals a dictionary with values to
265. s will automatically add all properties fields that are related to this object The system will add properties depending on your rights some people will be able to change a specific property others won t Properties are displayed by section depending on the group_name attribute It is rendered in the client like a separator tag How does this work The fields property class inherits from fields function and overrides the read and write method The type of this field is many2one so in the form a property is represented like a many2one function But the value of a property is stored in the ir property class table as a complete record The stored value is a field of type reference not many2one because each property may point to a different object If you edit properties values from the administration menu these are represented like a field of type reference When you read a property the program gives you the property attached to the instance of object you are reading It this object has no value the system will give you the default property The definition of a property is stored in the ir model fields class like any other fields In the definition of the property you can add groups that are allowed to change to property Using properties or normal fields When you want to add a new feature you will have to choose to implement it as a property or as normal field Use a normal field when you inherit from an object and want to exte
266. se ajustan a los cambios de moneda Las listas de precios pueden ser definidas con un precio fijo por producto Esta opci n permite definir m ltiples descuentos precios de venta basados en los de compra reducciones de precio ofertas en un determinado rango de productos Punto de Venta Te permite gestionar tus ventas de una forma muy sencilla Est completamente basado en Web por lo que no necesitas instalar o lanzar ning n software y todas las tiendas de venta pueden ser f cilmente consolidadas Permite trabajar con y sin conexi n por lo que puede seguir vendiendo aunque pierda su conexi n a Internet Aqu ponemos un resumen de su funcionalidad m s importante y sus beneficios e Este m dulo es cien por ciento basado en Web disponible para cualquier dispositivo t ctil m vil no requiere instalaci n SS Pontificia Universidad Cat lica del Ecuador Facultad de Ingenieria Escuela de Sistemas Andrea Garcia Torres Pagina 35 Tema Desarrollo de un M dulo de Cr dito Automotriz en OpenERP para la Empresa Autov a S A del cant n Quito Provincia de Pichincha e Tiene distintas opciones para seleccionar productos Puede hacerlo a trav s del lector de c digo de barras justo navegue por las categor as que ha definido tales como bebidas snack comidas etc o realice b squedas de texto en caso de que las opciones anteriores no le sean v lidas Facturaci n Cobros y Pagos OpenERP permite cualquier comb
267. seguir en su proyecto Para medir la velocidad del proyecto se tiene que sumar las estimaciones de las historias de usuario que se terminaron durante la iteraci n El c lculo de la velocidad para una sola persona es cuatro semanas de desarrollo 3 3 2 Iteraciones Establecida la velocidad del proyecto se procede a determinar cu ntas iteraciones se tendr dentro del proyecto En la tabla 3 20 se determin el total de semanas por todas las historias de usuario las cuales son 8 semanas con esta informaci n iniciamos el c lculo del n mero de iteraciones Semanas ideales para implementar la soluci n son 9 semanas y la velocidad del desarrollo son 4 semanas y 5 semanas Por lo tanto el n mero de iteraciones para la entrega son 2 iteraciones Pontificia Universidad Cat lica del Ecuador Facultad de Ingenier a Escuela de Sistemas Andrea Garc a Torres P gina 46 Tema Desarrollo de un M dulo de Cr dito Automotriz en OpenERP para la Empresa Autov a S A del cant n Quito Provincia de Pichincha 3 3 3 Plan de Entrega El Plan de Entrega est compuesto por iteraciones En la primera iteraci n se establece una arquitectura del sistema que pueda ser utilizada durante el resto del proyecto Al final de la ltima iteraci n el sistema estar listo para entrar en producci n Se tomar en cuenta que existen dos iteraciones en las cuales se entregar todas las historias de usuario La primera entrega ser a el alcanc
268. sidad Cat lica del Ecuador Facultad de Ingenieria Escuela de Sistemas Andrea Garcia Torres Pagina 60 Tema Desarrollo de un M dulo de Cr dito Automotriz en OpenERP para la Empresa Autov a S A del cant n Quito Provincia de Pichincha Anexos Anexo 1 Open Object Developer Book Anexo 2 Modelo Entidad Relaci n Anexo 3 Instalador y Manual Todo en Uno OpenERP Anexo 4 Cuadros de planificaci n de las Iteraciones Anexo 5 Seguimiento de las Iteraciones Anexo 6 Pruebas de Aceptaci n Pontificia Universidad Cat lica del Ecuador Facultad de Ingenier a Escuela de Sistemas Andrea Garc a Torres P gina 61 Op ERP OPEN SOURCE MANAGEMENT SOLUTION Open Object Developer Book Release 1 0 Tiny SPRL 2009 04 10 CONTENTS Open Object Developer Book Release 1 0 I Forewords 5 1 Introduction 7 2 Whois this book for 9 3 Content of the book 11 4 About the author s 13 II Part 1 Getting Started with OpenERP 15 5 Development Environment 17 5 1 Working with Launchpad ose 5528 64 54 Sa bas eh bbe bee dae eRe eee ees 17 2 Configurations s e bee eee ey ie D SSII IR Set dee DEE RS eed eS 28 3 3 Command line Options 2 24 da Ba D ee a Bae Ee ae Lies BG oe Ss 32 5 4 OpenERP Server and Web Client Start Stop 34 9 93 Shuttine do WINS Server e c g to La dada ond Den D oS SS ea Sb MERE EX 34 6 Moulder Development Approach 35 6 1 QpenObject Server and Modu
269. stemas Andrea Garc a Torres P gina 31 Tema Desarrollo de un M dulo de Cr dito Automotriz en OpenERP para la Empresa Autov a S A del cant n Quito Provincia de Pichincha Cliente Widgets Widget tienen diferentes aspectos en diferentes puntos de vista Por ejemplo el widget de fecha en el cuadro de di logo de b squeda representa dos fechas normales para un rango de fecha Algunos widgets pueden tener diferentes representaciones en funci n del contexto Por ejemplo el widget one2many se puede representar como un formulario con varias p ginas o una lista de m ltiples columnas Eventos del m dulo de widgets se procesan con un mecanismo de callback Un callback es un proceso por el que un elemento define el tipo de eventos que puede manejar y qu m todos debe ser llamada cuando se activa el evento Una vez que se activa el evento el sistema sabe que el evento est enlazado a un m todo espec fico y llama al m todo de nuevo 1 5 Est ndares De Desarrollo Todos los m dulos se encuentran en el servidor addons Los siguientes pasos son necesarios para crear un nuevo m dulo crear un subdirectorio en el servidor addons crear un archivo de descripci n del m dulo __ openerp py crear el archivo de Python que contiene los objetos crear XML que descargan los datos vista las entradas de men los datos de demostraci n Los M dulos Los archivos y directorios Archivos XML Archivos XML ubicad
270. stos de un cambio son generalmente altos Programar Esta metodolog a considera la programaci n como su actividad principal refinado por pr cticas como la refactorizaci n la revisi n permanente del c digo Con un dise o peque o e incremental los desarrolladores escriben el c digo necesario para expresar sus ideas de tal manera que se considera el c digo como medio de comunicaci n para explicar la l gica los algoritmos y el flujo del sistema Dise ar En XP es que el dise o debe evolucionar y crecer durante el proyecto El dise o no es estable ni asignado a un solo rol sino que es din mico y orientado al equipo En XP no se limitan las actividades de dise o y m s bien se acepta su evoluci n natural Tabla 1 03b Las Actividades de XP A 1 2 4 Las Pr cticas de XP Las actividades de XP se reflejan en la ejecuci n de doce pr cticas realizadas por el equipo de desarrollo diariamente durante el desarrollo de un sistema que llevadas al extremo marcan la diferencia frente a metodolog as tradicionales En la tabla 1 04a y la tabla 1 04b se detalla en qu consisten estas pr cticas Pontificia Universidad Cat lica del Ecuador Facultad de Ingenier a Escuela de Sistemas Andrea Garc a Torres P gina 10 Tema Desarrollo de un M dulo de Cr dito Automotriz en OpenERP para la Empresa Autovia S A del canton Quito Provincia de Pichincha PRACTICAS DESCRIPCION El Juego de IE Determine r pidamente e
271. t from Launchpad 2 Get the message template file lt pot file gt from bzr branches a keep in mind that the lt pot file gt might not always contain all strings the lt pot files gt are updated irregularly b msgmerge lt pot file gt lt po file gt o lt new po file gt 23 3 Translations 207 Open Object Developer Book Release 1 0 3 translate lt new po file gt using poedit kbabel KDE a some programs like kbabel allow using dictionar ies to create rough translations b It is especially useful to create a complete dictionary from existing translations to reuse existing terms related to In OpenERP load most all of the modules ii Load your language iii export all modules of your language as po file and use this one as dictionary Depending on context of the module this creates 30 80 exact translations 4 the lt new po file gt must not contain lt fuzzy gt comments inserted by kbabel for rough translation a grep v fuzzy lt new po file gt gt lt po file gt 5 check for correct spelling a msgfmt lt po file gt o lt mo file gt 6 check your translation for correct context a import the lt po file gt for modules b install the lt mo file gt and restart the application for applications 7 adjust the translation Online in OpenERP a check context b check length of strings c export lt po file gt 8 upload lt po file gt to Launchpad a keep in mind that Launchpad Roset
272. t fields are Object Select the object on which we want to implement the Server Action when work flow will execute on this object Model This is the target model where the new object is to be created if its empty it refers to the current object and allow to select the fields from the same but its advisable to provide the model in all case if different or if the same Fields Mapping Need to provide the 3 values 1 Field any of the fields from the target model 2 type of the value you can give either value or expression 3 provide the value or expression the expression again start with the object keyword and its refers to the current object which selected in to the Object field You must select the all required fields from the object 166 Chapter 16 Server Action Open Object Developer Book Release 1 0 Record Id After creating the new record where the id of the new record if going to store So in future we can refer the same for the other operations 16 6 Write Object The same configuration as defined for the Create Object here we take an example that it will write the Additional Information on the same object Action Name Write Invoice Action State Write Object Y nt O e A seme E Create Write Fields Mapping Model invoice Re Field Mappings 200 ns E Destination Type Value Additionnal Information Formula Invoice Number str object number Record Id a
273. t first value or first value is TRUE then print out the first value First value is FALSE print out second value in this example if 0 prop draft gt TRUE then o prop draft and YES reads Yes Next step is Yes or No which leads to a printed YES because a string s logical value is TRUE If o prop draft gt FALSE then it reads FALSE or No So No is printed One can use very comlpex structures To learn more search for some pyhton reference regarding logical opertors python function filter can filter try something like repeatIn filter lambda 1 1 product_id type service o invoice_line line for printing only product with type service in a line s section To display binary field image on report to be checked setTag para image width 100 0 height 80 0 o image or setTag image para 14 8 Unicode reports As of OpenERP 5 0 rc3 unicode printing with ReportLab is still not available The problem is that OpenERP uses the PDF standard fonts 14 fonts they are not embedded in the document but the reader provides them that are Type and have only Latin characters 14 8 1 The solution consists of 3 parts e Provide TrueType fonts and make them accessible for ReportLab e Register the TrueType fonts with ReportLab before using them in the reports e Replace the old fontNames in xsl and rml temp
274. t move line s n s name account move line check gt lt wizard string Print Journal model account account n s n s ame account journal gt lt wizard string Split Invoice model account invoice ame account invoice split gt lt wizard string Refund Invoice model account invoice name account invoice refund gt lt data gt lt terp gt Attributes for the wizard tag id optional e string The string which will be displayed if there are several wizards for one resthe user will be presented a list with wizards names e model The name of the model where the data needed by the wizard is e name The name of the wizard It is used internally and should be unique e replace optional Whether or not the wizard should override all existing wizards for this model Default value False e menu optional Whether or not TruelFalse to link the wizard with the gears button i e show the button or not Default value True e keyword optional Bind the wizard to another action print icon gear icon Possible values for the keyword attrib client_print_multi the print icon in a form client_action_multi the gears icon in a form tree_but_action the gears icon in a tree view with the shortcuts on the left tree_but_open the double click on a branch of a tree with the shortcuts on the left For example this is used to bind wizards in the menu
275. t_cur_function_id self cr uid ids field_name arg context for i in ids get the id of the current function of the employee of identifier i sql req ww SELECT f id AS func_id FROM hr_contract c LEFT JOIN res_partner_function f ON f id c function WHERE c employee_id 4d LUE LE L o L 1 cr execute sql_req sql_res cr dictfetchone if sql_res The employee has one associated contract res i sql_res func_id else res i must be set to False and not to None because of XML RPC cannot marshal None unless allow_none is enabled res i False return res The id of the function is retrieved using a SQL query Note that if the query returns no result the value of sql_res func_id will be None We force the False value in this case value because XML RPC communication between the server and the client doesn t allow to transmit this value store Enhancement It will compute the field depends on other objects Syntex store object_name function_name field_name1 field_name2 priority It will call func tion function_name when any changes will be applied on field list field1 field2 on object ob ject_name and output of the function will send as a parameter for main function of the field Example In membership module membership_state fields function _membership_state method True string Current membership stat store acc
276. ta uses some tags not sure which in the header section of the exported lt po file gt to recognize the imported lt po file gt as valid b after some time hours you will receive a confirmation E Mail success error 23 3 4 Using context Dictionary for Translations The context dictionary is explained in details in section The Objects Methods The context Dictionary If an additional language is installed using the Administration menu the context dictionary will contain an additional key lang For example if you install the French language then select it for the current user his or her context dictionary will contain the key lang to which will be associated the value fr_FR 208 Chapter 23 Appendices Index B Bazaar installation 17 Installation Bazaar 17 R Report Modify 195 New 197 INDEX 209 LN V ER NN LS E E 680TEL DIHANNN S218qUI OS E 2 PI HVHOUVA e1mpa gt Nv31009 11B oipaid Ado gt M3 YAOSLNI p Jouyed BAD NV31004 06ed Ado2 Nv31008 16712 Ado t9 HYHOUVA Sweu 31900 18303 alud M4 YADALNI pi ynposd q gnoa ouoge LAG Y GAYALINI EM 01402 Played Sal dWVLSAWIL U0I28913 ajep Nv3100g9 ons Ado gt NV41004 olpaid Ados E UVHOYVA o0quauenueuly Nv371009 11b an Ado Y43931NI epequo Nv3710089 101 Ado Nv31009 11b obed Ado gt SAA le YADALNI e 0U1 7 aaa 319n0q oped 40719 30u M4 H3931NI
277. tado Borrador Una vez Validado la Solicitud de Cr dito procedemos a Aprobar tambi n podemos volver a Borrador o Cancelar una vez Aprobado para pasar de estado debe afirmar si el contrato ha sido firmado si se firm cambia de estado a Cartera tambi n se puede poner en Revisi n si algo le falto al cliente esto queda a criterio del Gerente o tambi n se puede Anular Una vez en cartera si el cliente tubo inconvenientes con el pago puede ser Pre Embargado o Negociarlo El fin del Proceso termina cuando el cliente ha realizado todos los pagos Pontificia Universidad Cat lica del Ecuador Facultad de Ingenier a Escuela de Sistemas Andrea Garc a Torres P gina 6 Tema Desarrollo de un M dulo de Cr dito Automotriz en OpenERP para la Empresa Autov a S A del cant n Quito Provincia de Pichincha SEGUNDA ITERACION El componente de Gesti n de Cobros se subdivide en varias historias de Usuario e Registro de los Pagos de Clientes e Cargar Cobros Pendientes e Inter s por Mora e Notificaciones de Estado del Cobro e Registrar la entrega de Letras de Pago e Letras de Pago Cobradas e Contratos Embargados e Registro de Llamadas L Prueba Registro de los Pagos de Clientes En la historia de usuario permite registrar los pagos que adeuda el cliente con la empresa Prueba de Aceptaci n Historia de Usuario 012 Registro de los Pagos de Clientes Las entradas q
278. tema con el nombre y usuario luego se dirigir al men Cr dito de Autos Venta de Autos Solicitud de Cr dito acceda al contrato que desee Los resultados que el sistema debe mostrar el sistema muestra el bot n de validar a los usuarios que tengan el grupo de usuario Cajero al validar el Contrato este cambia de estado i Prueba Reportes Especiales de Contrato En la historia de usuario permite imprimir los reportes Contrato Reservas Mutuo Pagar Prueba de Aceptaci n Historia de Usuario 009 Reportes Especiales de Contrato Las entradas que el usuario realizar es acceder al sistema con el nombre y usuario luego se dirigir al men Cr dito de Autos Venta de Autos Solicitud de Cr dito acceda al contrato que desee Los resultados que el sistema debe mostrar el sistema muestra los botones para imprimir estos reportes de acuerdo al nombre el cual imprimir un documento PDF j Prueba Generar Letras de Pago En la historia de usuario al firmar el contrato se creara autom ticamente las letras de pago del contrato Pontificia Universidad Cat lica del Ecuador Facultad de Ingenier a Escuela de Sistemas Andrea Garc a Torres P gina 5 Tema Desarrollo de un M dulo de Cr dito Automotriz en OpenERP para la Empresa Autov a S A del cant n Quito Provincia de Pichincha Prueba de Aceptaci n Historia de Usuario 010 Generar Letras de Pago Las entradas que el usuario r
279. termines if the new default value must be available only for the current user or for all users Returns True Example TODO 9 8 ORM methods 83 Open Object Developer Book Release 1 0 9 8 2 Methods to manipulate the permissions perm_read Description Signature def perm_read self cr uid ids Parameters e ids an integer list Returns a list of dictionaries with the following keys e level access level e uid user id e gid group id e create_uid user who created the resource e create_date date when the resource was created e write_uid last user who changed the resource e write_date date of the last change to the resource perm_write Description Signature def perm_write self cr uid ids fields Parameters Returns Example self pool get res partner perm_read cr uid ids context 9 8 3 Methods to generate the fields and the views fields_get Description Signature def fields_get self cr uid fields None context Parameters e fields a list of fields that interest us if None all the fields e context context lang Result Example In payment line in account_payment module def fields_get self cr uid fields None context None res super payment_line self fields_get cr uid fields context if communication2 in res res communication2 setdefault states res communication2 states structured readonly
280. tes for rendering your barcode code char ratio float e xdim unit height unit checksum bool quiet bool Examples lt barcode code code128 xdim 28cm ratio 2 2 gt SN12345678 lt barcode gt 14 5 Bar Codes 155 Open Object Developer Book Release 1 0 14 6 How to add a new report In 4 0 X Administration gt Custom gt Low Level gt Base gt Actions gt ir actions report xml 14 7 Usual TAGS 14 7 1 Code find in tags is python code The context of the code the variable s values you can use is the following python objects variables available when the report start objects the list of objects to be printed invoices for example data comes from the wizard time see python documentation user the user object launching the report python functions you can use setlang fr change the langage used in automated translation fields repeatIn list varname repeat the template whole doc or current paragraph for each object in the list Use varname in the template s tags setTag para xpre change the enclosing RML tag usually para by an other xpre is a preformatted paragraph in the converted from sxw rml document removeParentNode 14 7 2 Useful tags repeatIn objects o objects to be printed repeatIn o invoice_lin
281. th the dots replaced by underscores _ 9 3 OpenERP Object Attributes 69 Open Object Developer Book Release 1 0 9 4 Object Inheritance _inherit 9 4 1 Introduction Objects may be inherited in some custom or specific modules It is better to inherit an object to add modify some fields It is done with _inherit object name 9 4 2 Extension of an object There are two possible ways to do this kind of inheritance Both ways result in a new class of data which holds parent fields and behaviour as well as additional fielda and behaviour but they differ in heavy programatical consequences While Example 1 creates a new subclass custom_material that may be seen or used by any view or tree which handles network material this will not be the case for Example 2 This is due to the table other material the new subclass is operating on which will never be recognized by previous network material views or trees Example 1 class custom material osv osv _name network material _inherit network material _columns manuf_warranty fields boolean Manufacturer warranty _defaults manuf_warranty lambda a False custom_material Tip Notice _name _inherit In this example the custom_material will add a new field manuf_warranty to the object network material New instances of this class will be visib
282. th_html none preview True softpath none logging output stdout logger verbose True level error help index http www openerp com documentation user manual context http www openerp com scripts context_index php 5 2 Configuration 29 Open Object Developer Book Release 1 0 form autosave False toolbar True support recipient support openerp com support_id tip position 0 autostart False client lang en_US default_path home user filetype theme none toolbar icons form_tab_orientation 0 form_tab top survey position 3 path pixmaps usr share pixmaps openerp client share usr share openerp client login db eo2 login admin protocol http port 8069 server localhost 5 2 2 GTK Client Configuration login section login login name to use to connect to Tiny ERP server server address used by the server port port used by the server path section share path used to find Tiny ERP shared files pixmaps path used to find Tiny ERP pixmaps files 30 Chapter 5 Development Environment Open Object Developer Book Release 1 0 tip section autostart Should the client display tips at startup position Tip number the client will display form section autosave Will the client automatically save the change you made to a record printer section preview Preview rep
283. the template whole document current section current row in the table for each object in the list Use varname in the template s tags Since versions 4 1 X you can use an optionnal third argument that is the name of the RML tag you want to loop on e setTag para xpre change the enclosing RML tag usually para by an other xpre is a preformatted paragraph in the converted from sxw rml document 14 1 OpenOffice org reports 141 Open Object Developer Book Release 1 0 e removeParentNode tr removes the parent node of type tr this parameter is usually used together with a conditional see examples below Example of useful tags repeatIn objects o Loop on each objects selected for the print repeatIn 0 invoice_line Loop on every line o prop draft and YES or NO Print YES or NO according the field prop round o quantity o price 0 9 2 Operations are OK 07d int o number Number formating reduce lambda x obj x obj qty list 0 Total qty of list try objects as list e username user name setLang o partner_id lang Localized printings time strftime d m Y Show the time in format dd MM YYYY check python doc for more about d time strftime time ctime 0 10 or time strftime time ctime 4
284. the version 5 0 beta This is the interesting features for the customizer to full fill the customers requirements This features enables to provides the quick and easy configura tion some process which is day to day requirements Like send email on confirmation of the sale order or confirmation of the Invoice log the operation of the invoice confirm cancel etc or need to develope some system which runs wizard report on the confirmation of the sales purchase or invoice So Server action is the only one answer to solve all this kind of problems without doing any development just a few configuration and the system is ready to answer few of above questions Following are the list of action types which are supplied under the Server Action e Client Action e Trigger e Email e SMS e Create Object e Write Object e Multi Action Each type of action have the special features and different configuration parameters We will see one by one all type of action how to configure and list of parameters that affect the system 16 2 Client Action This action executes at client side this is a good idea to run the wizard or report at client side Using this type of action we can make the system like ERP will print the invoice after confirmation of the Invoice Like it will run the payment wizard after confirmation of the invoice Technically we can run all client action which execute at client side We can execute ir actions report custom ir acti
285. ti n de Ventas La Gesti n de Ventas se conforma de ocho historias de usuario En esta secci n se podr observar un resumen de las historias de usuario Historia N002 Registrar informaci n del Cliente El sistema permitir ingresar la informaci n del cliente Historia N003 Registrar Datos Permitir ingresar el n mero de cuotas que se cobrar n al cliente Ingresar el inter s anual y calcular el valor de entrada de acuerdo al precio de venta al p blico Historia N004 Calculo de montos a cobrar El sistema basado en los registros de entrada inter s monto total a cobrar y los meses a diferir calcular los montos mensuales a cobrar Historia N005 Aprobaci n de Contratos El sistema permitir registrar los contratos por cada cliente y tambi n poder visualizar dichos contratos Historia N006 Adjuntar Buro Podr el usuario subir la informaci n del bur crediticio del cliente Historia N007 Manejo de Documentos Poder verificar si el cliente entreg toda la documentaci n pertinente para la autorizaci n de la solicitud Historia N008 Validar la Informacion Permitir validar toda la informacion de la gestidn de ventas esta informacion sera aprobada por el supervisor Pontificia Universidad Cat lica del Ecuador Facultad de Ingenieria Escuela de Sistemas Andrea Garcia Torres Pagina 41 Tema Desarrollo de un M dulo de Cr dito Automotriz en OpenERP para la Empresa Autov a S A
286. ting Or you may customize your installation by selecting only the components you require OPEN SOURCE MANAGEMENT SOLUTION Check the components you want to install and uncheck the components you don t want to install Click Next to continue See he type frs Or select the optional components you wish to install Description Space required 76 9MB Position your mouse over a component to ses its description OpenERP 6 0 1 0 lt Bak net gt canei _ Customize component installation 5 Configure PostgreSQL connection The installer will suggest default parameters to complete your PostgreSQL connection configuration You may accept the defaults or change it according to your requirement a a Ea pe ERP http openerp com OPEN SOURCE MANAGEMENT SOLUTION Hostname localhost Port 5432 Username openpa Password openpgpwd OpenERP 6 0 1 0 PostgreSQL configuration 6 Select folder for installation By default OpenERP is installed in 6 0 To install in a different folder browse for a different location folder in this step 7 Install The automatic installation of OpenERP begins and you can view its progress 8 Finish On successful installation of OpenERP you will get an appropriate confirmation You can click Finish to close the setup wizard diat iti OPEN SOURCT MANAGEMENT SOLITON Completing the OpenERP 6 0 Setup Wizard Think big AMO 1 Gee OpenERP 6 0 has bee
287. tion 22 2 1 Modifying a report The report editor lets you e modify existing reports which will then replace the originals in your Open ERP database e create new reports for the selected object To modify an existing report select Tiny Report gt Modify Existing Report Choose the report Request for Quotation in the Modify Existing Report dialog box and then click Save to Temp Directory 195 Open Object Developer Book Release 1 0 Ele Edit en Insert tomat labie Lals UpentKF Report window Hele x a PE E Y Ca r a aCe FF Uka TT 80 444 OS PM Se 1 E ANT gt Hitter alo el SE f eh a i Shree ALES ATA wot A SPRL Ley MR PabianPinckaers chaussve de Namur 40 S 1367 Grand Rusine Melgiwrs z Pel 52 1 8 1 240 an Fis 179181 80 3700 EVA SEAN 4 2 M1 Request for Quotation PO 001 Cher reference SOMO 7 Printed 2 DR 3 Total 116s Please ind here by a requesi for quotadon Product Description Date Qty pe LOL ES FC Disc Computer 5 days 2 00 seat 3 According to sales conditions le Fabian Pinckacrs ia pa 2 253 me yl co M O D ud E EEPE FE LT ex usat ST Modifying a document template OpenOffice org then opens the report in edit mode for you You can modify it using the standard word processing functions of OpenOffice org Writer The document is modified in its English version It will be translated as usual by Open ERP s
288. tion replace atribute is used Example lt record model ir ui view id view_partner_form3 gt lt field name name gt res partner form inherit lt field gt lt field name model gt res partner lt field gt lt field name inherit_id ref base view_partner_form gt lt field name arch type xml gt lt field name lang position replace gt 96 Chapter 10 Views and Events Open Object Developer Book Release 1 0 lt field gt lt record gt Take into account that only one position replace attribute can be used per inherited view so multiple inherited views must be created to make multiple replacements 10 7 Events 10 7 1 On Change The on_change attribute defines a method that is called when the content of a view field has changed This method takes at least arguments cr uid ids which are the three classical arguments and also the context dictio nary You can add parameters to the method They must correspond to other fields defined in the view and must also be defined in the XML with fields defined this way lt field name name_of_field on_change name_of_method other_field _1_ other_field _n_ gt The example below is from the sale order view You can use the context keyword to access data in the context that can be used as params of the function lt field name shop_id select 1 on_change onchange_shop_id shop_id gt def onchange_shop_id self cr uid
289. tion for a language which has already been translated or for a new one If you ask for a language already translated the sentences already translated will be written in the last column For example here are the first lines of a translation file Dutch type name res_id src value field account account code 0 Code Code field account account name 0 Name Name model account account name 2 Assets Aktiva model account account name 25 Results Salden model account account name 61 Liabilities Verbindlichkeiten 3 Import this file into Open ERP as explained in the preceding section Notes e You should perform all these tasks on an empty database so as to avoid over writing data To create a new database named terp_test use these commands createdb terp_test encoding unicode terp_server py database terp_test init all Alternatively you could also delete your current database with these dropdb terp createdb terp encoding unicode terp_server py init all 4 Using Launchpad Rosetta to translate modules and applications A good starting point is here https launchpad net openobject Online Select the module translation section and enter your translation Offline Use this if you want to translate some 100 terms It seems mandatory to follow theses steps to successfully complete a translation cycle tested on Linux 1 Download the lt po file g
290. tions are of different types e role to satisfy by the user e button pressed in the interface e end of a subflow through a selected activity of subflow The roles and signals are evaluated before the expression If a role or a signal is false the expression will not be evaluated Transition tests may not write values in objects The fields act_from Source activity When this activity is over the condition is tested to determine if we can start the ACT_TO activity act_to The destination activity condition 120 Chapter 12 Workflow Business Process Open Object Developer Book Release 1 0 Expression to be satisfied if we want the transition done signal When the operation of transition comes from a button pressed in the client form signal tests the name of the pressed button If signal is NULL no button is necessary to validate this transition role_id The role that a user must have to validate this transition Defining Transitions Using XML Files The general structure of a transition record is as follows lt record model workflow transition id transition_id gt lt field name act_from ref activity_id _1_ gt lt field name act_to ref activity_id _2 gt lt field name signal gt lt field gt lt field name role_id ref role_id _1 gt lt field name condition gt lt field gt lt field name trigger_model gt lt field gt lt field name trigger_expr_i
291. tir historias de usuario que son conocidas como de valor de negocio cero ya que a primera vista no generan ning n beneficio para el cliente pero que son indispensables para el desarrollo del sistema Tales historias de usuario pueden consistir en la instalaci n del ambiento de desarrollo creaci n del esquema inicial de la base de datos creaci n de usuarios a aplicativos necesarios para el desarrollo entre otros Es as como identifique las historias de usuario descritas a continuaci n que servir n para describir la funcionalidad del sistema 3 2 1 Identificaci n de Historias de Usuario Para el proyecto se describen las historias de usuario recopiladas por Andrea Garc a y nuestro cliente las mismas que luego de ser analizadas han sido agrupadas en las respectivas categor as que se describen a continuaci n Pontificia Universidad Cat lica del Ecuador Facultad de Ingenier a Escuela de Sistemas Andrea Garc a Torres P gina 39 Tema Desarrollo de un M dulo de Cr dito Automotriz en OpenERP para la Empresa Autov a S A del cant n Quito Provincia de Pichincha Ambiente de Desarrollo Consiste en una categoria que se ha definido para agrupar a las historias de usuario de valor de negocio cero mismas que son prerrequisito para empezar con el desarrollo de las demas historias de usuario y que no necesariamente reflejan un requerimiento funcional del sistema pero que son de vital importancia Administra
292. translation system when you use it through the client interface if you ve personalized your own setup to translate to another language for you So you only need to modify the template once even if your system uses other languages but you ll need to add translations as described earlier in this chapter if you add fields or change the content of the existing ones Tip Attention Older reports The older reports haven t all been converted into the new form supported by Open ERP The data expressions in the old format are shown within double brackets and not in OpenOffice org fields You can transform an old report format to the new format from the OpenOffice org menu Tiny Report gt Convert Bracket Fields From the Tiny toolbar in OpenOffice org it s possible to e connect to the Open ERP server by supplying the connection parameters e add a loop select a related field amongst the available fields from the proposed object for example Order lines When it s printed this loop will be run for each line of the order The loop can be put into a table the lines will then be repeated or into an OpenOffice org section e add a field you can then go through the whole Open ERP database from the selected object and then a particular 196 Chapter 22 RAD Tools Open Object Developer Book Release 1 0 field e add an expression enter an expression in the Python language to calculate values from any fields in the selected obj
293. ty to collaborate on code Essentially you can push a branch into a shared space and anyone on that team can then commit to the branch This means that you can use Bazaar in the same way that you would use something like SVN i e centrally hosting a branch that many people commit to You have the added benefit though that anyone outside the team can always create their own personal branch of your team branch and if they choose upload it back to Launchpad This is the official and proposed way to contribute on OpenERP and OpenObject Quick Summary To download the latest sources and create your own local branches of OpenERP do this bzr branch lp openerp cd openerp bzr_set py This will download all the component of openerp server client addons and create links of modules in addons in your server so that you can use it directly You can change the bzr_set py file to select what you want to download exactly Now you can edit the code and commit in your local branch EDIT addons account account py cd addons bzr ci m Testing Modifications Once your code is good enough and follow the Coding Guidelines you can push your branch in launchpad You may have to create an account on launchpad first register your public key and subscribe to the openerp community team Then you can push your branch Suppose you want to push your addons cd addons bzr push 1p openerp community openobject addons YOURLOGIN_YOURBRANCHNAME bzr bin
294. ue el usuario realizar es acceder al sistema con el nombre y usuario luego se dirigir al men Cr dito de Autos Pagos Pagos Los resultados que el sistema debe mostrar el sistema al crear un Pago carga la fecha en que se la va hacer el usuario que la est realizando por defecto un tipo de pago Efectivo pero este puede ser cambiado inter s por mora de tres el cual puede ser cambiado se selecciona el Cliente que adeuda se cargaran todas las letras de pago autom ticamente luego procede en ingresar la Descripci n la caja registradora a la cual va el dinero cobrado estos son obligatorios Se podr seleccionar la letra de pago que desea pagar luego presionamos el bot n Calcular Total y por ltimo presionamos el bot n Efectuar Pago El sistema no permite ingresar montos negativos para Inter s Por Mora y Monto Pontificia Universidad Cat lica del Ecuador Facultad de Ingenier a Escuela de Sistemas Andrea Garc a Torres P gina 7 Tema Desarrollo de un M dulo de Cr dito Automotriz en OpenERP para la Empresa Autov a S A del cant n Quito Provincia de Pichincha m Prueba Cargar Cobros Pendientes En esta historia se ingresa el cliente entonces el sistema carga la informacion de los cobros pendientes del cliente Prueba de Aceptaci n Historia de Usuario 013 Cargar Cobros Pendientes Esta historia de usuario tiene condiciones si el cliente no tiene deudas pendientes n
295. ue of select type gt lt para gt lt para gt Reference lt xsl value of select reference gt lt para gt lt para gt Partner ID lt xsl value of select partner_id gt lt para gt lt para gt Date lt xsl value of select date gt lt para gt lt para gt Amount lt xsl value of select amount gt lt para gt lt xsl if test number change gt 0 gt lt para gt Change lt xsl value of select change gt lt para gt lt xsl if gt lt setNextTemplate name first_page gt lt pageBreak gt lt xsl template gt lt xsl stylesheet gt 14 4 Each report with its own corporate header Example with corporate defaults lt xsl stylesheet version 1 0 xmlns xsl http www w3 org 1999 XSL Transform xmlns fo http wi lt xsl import href custom corporate_defaults xsl gt 154 Chapter 14 Reports Open Object Developer Book Release 1 0 lt xsl import href base report rml_template xsl gt lt xsl variable name page_format gt a4_normal lt xsl variable gt lt xsl template gt lt xsl stylesheet gt 14 5 Bar Codes 14 5 1 Barcodes in RML files Barcodes can be generated using the lt barcode gt tag in RML files The following formats are supported codabar codell code128 default if no code specified standard39 standard93 120f5 extended39 extended93 e msi e fim postnet You can change the following attribu
296. ue un sistema de software est listo para su utilizaci n Pontificia Universidad Cat lica del Ecuador Facultad de Ingenier a Escuela de Sistemas Andrea Garc a Torres P gina 13 Tema Desarrollo de un M dulo de Cr dito Automotriz en OpenERP para la Empresa Autov a S A del cant n Quito Provincia de Pichincha e Rol de Cliente Las personas en el Rol de Cliente eligen lo que puede rendir un valor empresarial elige cual ser el primer paso que se va aplazar y define el cronograma de pruebas para demostrar que el programa hace lo que tiene que hacer El Rol de Cliente sobre un proyecto de XP puede ser manejado por una sola persona o varias El equipo es m s efectivo si el cliente est presente en todo el proceso junto con el equipo El cliente XP siempre habla con una sola voz la determinaci n de lo que va a tener valor del negocio y el orden de la construcci n de ese valor es exclusivamente del cliente Un equipo de XP planea y construye software en t rminos de historias Historias individuales acerca de c mo el sistema necesita trabajar Cada historia describe una cosa de los que el sistema necesita hacer estas deben ser bien claras de tal manera que el desarrollador pueda estimar la dificultad y para cada una debe realizarse pruebas e Rol de Programador La persona en el Rol de Programador analiza dise a prueba programa e integra el sistema Los programadores estiman la dificultad
297. uela de Sistemas Andrea Garc a Torres P gina 50 Tema Desarrollo de un M dulo de Cr dito Automotriz en OpenERP para la Empresa Autov a S A del cant n Quito Provincia de Pichincha Implementaci n Esta historia de usuario ser implementada basados en el acuerdo con el Cliente lo que implica que se cumpla con los requerimientos antes pedidos En esta venta le permite al usuario ingresar la informaci n del cliente c nyuge del cliente inter s anual calcular el valor de entrada de acuerdo al precio de venta al p blico del producto garante c nyuge de garante si el usuario lo ve necesario que no necesitan garante puede seleccionar la opci n sin garante Ingresar el producto permite la carga autom tica del costo del producto Presentaci n de los requerimientos CREDITODEAUTOS CONFIGURACI N Solicitud de Credito Ge Save Cancel 1005 Informacion de la O ITA 30 03 2014 17 59 48 Codigo C140022 Fecha de pago 30 03 2014 17 59 48 pa Cliente Cliente LR Conyuge Cliente A Garante Sin Garante Garante LA B Conyuge Garante LE Credito Product B Precio 000 Entrada o Financiamiento En meses ru B Interes Anual 0 00 Figura 3 02 Solicitud de Cr dito A Historia de Usuario No 004 Calculo de montos a cobrar Acuerdo con el cliente En esta historia de usuario se acord con el cliente que se realizar los c lculos a cobrar
298. ult Here is a screenshot of the wizard used to reconcile transactions when you click on the gear icon in an account chart 128 Chapier 13 Creating Wizard The Process Open Object Developer Book Release 1 0 2 SIRIS SL SRE amp Menu Account Chart Account Entry Line Information General information SS E o iae Account 560 Compte courant DS Partner Ref Debit 5 00 Credit Optional information Currency moo g Amount Currency Quantity 0 00 Entry TA Ltigation meturty date 1TA Creation date Stato pomo oT D e pened Recondle 2 Active DA X Recondiliation ee Reconcikatron transactions of Transaction TTI Credit amount har Debit amount Pen py write off write Off amount l g ond eee Enregstrements 1 1 Document en cours geamon 5 13 2 Wizards Principles A wizard is a succession of steps A step is composed of several actions 1 send a form to the client and some buttons 2 get the form result and the button pressed from the client 3 execute some actions 4 send a new action to the client form print nan s D To define a wizard you have to create a class inheriting from wizard interface and instantiate it Each wizard must have a unique name which can be chosen arbitrarily except for the fact it has to start with the module name for example account move line reconcile The wizard must define a dictionary named states which defines al
299. un M dulo de Cr dito Automotriz en OpenERP para la Empresa Autovia S A del canton Quito Provincia de Pichincha CARACTERISTICAS DESCRIPCION Libre y Open Source Python es un ejemplo de un FLOSS En t rminos simples se puede distribuir libremente copias de este software leer su c digo fuente realizar cambios en l utilizar fragmentos de l en nuevos programas libres Software libre se basa en el concepto de una comunidad que comparte el conocimiento Esta es una de las razones por las que Python es tan bueno que ha sido creado y es constantemente mejorado por una comunidad que s lo quieren ver un mejor Python Lenguaje de Alto Nivel Al escribir programas en Python nunca tendr que preocuparse por los detalles de bajo nivel tales como la gesti n de la memoria utilizada por el programa etc Portable Debido a su naturaleza de c digo abierto Python ha sido portado para muchas plataformas Todos tus programas Python pueden trabajar en cualquiera de estas plataformas sin requerir ning n cambio en absoluto si usted es lo suficientemente cuidadoso para evitar las caracter sticas dependen del sistema Tabla 1 06a Caracter sticas de Python A 21 FLOSS Free Libre y Open Source Software Pontificia Universidad Cat lica del Ecuador Facultad de Ingenier a Escuela de Sistemas Andrea Garc a Torres P gina 17 Tema Desarrollo de un M dulo de Cr dito Automotriz en OpenERP para la Empresa Autov a S
300. unt_revenue_prob fields float Est Rev Prob readonly True nbr fields integer of Cases readonly True probability fields float Avg Probability readonly True state fields selection AVAILABLE_STATES State size 16 delay_close fields integer Delay to close readonly Tru _order name desc user_id section_id def init self cr cr execute create or replace view report _crm case _ user as select min c id as id substring c create date for 7 01 as name c state c user_id c section_id count as nbr sum planned_ revenue as amount_revenue sum planned_cost as amount _costs sum planned_revenuexprobability decimal 16 2 avg probability decimal 16 2 as probability readonly True as amount_revenue_ prob to_char avg date closed c create date DD d HH24 MI SS as delay_close from crm case c group by substring c create_date for 7 c state c Jr report_crm_case_user user_id c section_id 198 Chapter 22 RAD Tools Part IX Part 8 Appendices 199 CHAPTER TWENTYTHREE APPENDICES INDEX 23 1 Appendices A Coding Conventions 23 1 1 Python coding Use tabs will be replaced by spaces soon Take care with default values for arguments they are only evaluated once when the module is loaded and then used at each call This means that if
301. ur as well as additional fielda and behaviour but they differ in heavy programatical consequences While Example 1 creates a new subclass custom_material that may be seen or used by any view or tree which handles network material this will not be the case for Example 2 This is due to the table other material the new subclass is operating on which will never be recognized by previous network material views or trees Example 1 class custom material osv osv _name network material _inherit network material _columns manuf_warranty fields boolean Manufacturer warranty _defaults manuf_warranty lambda xa False custom_material Tip Notice _name _inherit In this example the custom_material will add a new field manuf_warranty to the object network material New instances of this class will be visible by views or trees operating on the superclasses table network material This inheritancy is usually called class inheritance in Object oriented design The child inherits data fields and behavior functions of his parent Example 2 class other_material osv osv name other material _inherit network material _columns manuf_warranty fields boolean Manufacturer warranty _defaults manuf_warranty lambda a False other_material Tip Noti
302. usarse en tres empresas belgas Visualizar todas las versiones de OpenERP en la tabla 2 01a y tabla 2 01b VERSIONES DESCRIPCI N Version 2 0 Es liberada el 25 de marzo de 2005 con mejoras funcionales y la simplificaci n del procedimiento de instalaci n Version 3 0 Liberado el 2 de septiembre de 2005 con la adici n de un m dulo de gesti n de producci n MRP y una mejora en la gesti n de datos Version 3 1 Liberada el 15 de octubre de 2005 incluye la posibilidad de disefiar informes como presupuestos facturas asientos contables con Open Office y la posibilidad de heredar los objetos nativos de Python Version 3 2 Liberada el 29 de enero de 2006 cuenta con un modulo de Tabla 2 01a Versiones de OpenERP A contabilidad completamente reescrito para soportar la contabilidad general y analitica TinyERP Es el nombre anterior de OpenERP GPL General Public License Pontificia Universidad Cat lica del Ecuador Facultad de Ingenieria Escuela de Sistemas Andrea Garcia Torres Pagina 22 Tema Desarrollo de un M dulo de Cr dito Automotriz en OpenERP para la Empresa Autovia S A del canton Quito Provincia de Pichincha VERSIONES DESCRIPCION Version 3 4 1 Se lanz el 19 de septiembre de 2006 con un manual gratis para los usuarios cuando el anterior era s lo de pago Version 4 1 El 13 de junio de 2007 con una primera versi n de interfaz web Versi n 4 2 En Octubre de 2007 se lan
303. utility see these three examples 12 1 1 WkfExample1 Discount On Orders The first diagram represent a very basic workflow of an order 113 Open Object Developer Book Release 1 0 E START M stor Canceled The order starts in the draft state when it is in redaction and not approved When the user press on the Confirm button the invoice is created and the order comes into the CONFIRMED state Then two operations are possible 1 the order is done shipped 2 the order is canceled Let s suppose a company has a need not implemented in OpenERP For example suppose their sales staff can only offer discounts of 15 or less Every order having a discount above 15 must be approved by the sales manager This modification in the sale logic doesn t need any line of python code A simple modification of the workflow allows us to take this new need into account and add the extra validation step 114 Chapter 12 Workflow Business Process Open Object Developer Book Release 1 0 P START Ristourne gt 15 STOP validation Ristourne lt 15 send request Confirmed Closed Canceled The workflow is thus modified as above and the orders will react as we want to We then only need to modify the order form view and add a validation button at the desired location We could then further improve this workflow by sending a request to the sales manager when an order enters the Va
304. values e Delete partner ids List of 2d result sock execute dbname uid pwd res partner unlink ids 21 1 Interfaces 185 Open Object Developer Book Release 1 0 21 1 3 PHP Access Open server using xml rpc Download the XML RPC framework for PHP windows linux download the xml rpc framework for php from http phpxmlrpc sourceforge net The latest stable release is version 2 2 released on February 25 2007 Setup the XML RPC for PHP extract file xmlrpc 2 2 tar gz and take the file xmlrpc inc from lib directory place the xmlrpc inc in the php library folder restart the apcahe iis server Demo script e Login function connect var user admin var Spassword admin var dbname db name var Sserver_url http localhost 8069 xmlrpc if isset _COOKIE user_id true if S_COOKIE user_id gt 0 return _COOKIE user_id Ssock new xmlrpc_client server_url common msg new xmlrpcmsg login msg gt addParam new xmlrpcval Sdbname string msg gt addParam new xmlrpcval user string msg gt addParam new xmlrpcval password string Sresp sock gt send msg Sval resp gt value Sid Sval gt scalarval setcookie user_id id time 3600 if Sid gt 0 return Sid Jelse return 1 e Search xx client xml rpc handler x relation name o
305. vez pasan est n validaciones el sistema empieza a realizar los c lculos Las entradas que el usuario realizar es acceder al sistema con el nombre y usuario Pontificia Universidad Cat lica del Ecuador Facultad de Ingenier a Escuela de Sistemas Andrea Garc a Torres P gina 3 Tema Desarrollo de un M dulo de Cr dito Automotriz en OpenERP para la Empresa Autov a S A del cant n Quito Provincia de Pichincha luego se dirigir al men Cr dito de Autos Venta de Autos Solicitud de Cr dito en las solicitudes ingresadas y que se encuentran en el estado Borrador podemos calcular los valores esto se puede realizar igual para la primera vez que crean una Solicitud de Compra Los resultados que el sistema debe mostrar el sistema verifica los valores del precio entrada financiamiento inter s si el sistema verifica que los campos son negativos muestra un mensaje de error se verifica el inter s que no sea mayor que 100 por ciento si lo fuera se mostrar un mensaje de error e Prueba Aprobaci n de Contratos En la historia de usuario se filtra por estados la Solicitud de Cr dito por estado borrador espera cartera no aprobados aprobados Prueba de Aceptaci n Historia de Usuario 005 Aprobaci n de Contratos Esta historia condiciona los filtros basados en los estados de la Solicitud de Cr dito Las entradas que el usuario realizar es acceder al sistema con el nombre y usuario luego s
306. want to be able to modify it sudo chown R whoami travel You got yourself the directory for a new module there and a skeleton structure but you still need to change a few things inside the module s definition Changing the default definition To change the default settings of the custom module which is now the travel module get yourself into the travel directory and edit __terp__ py gedit in the following example is just a simple text editor Feel free to use another one cd travel gedit __terp_ py The file looks like this Use the custom module to put your specific code in a separate module name Module for custom developments version 2 1 0 author 2 MAY category Generic Modules Others website http www tinyerp com description Sample custom module where you can put your customer specific developments depends base init Sam gs il update_xml custom_view xml active False installable True 62 Chapter 8 First Module to OpenERP Open Object Developer Book Release 1 0 You will want to change whichever settings you feel right and get something like this name Travel agency module version 1 0 author ii Tiny category Generic Modules Others website http www tinyerp com description A module to manage hotel bookings and a few other useful features depends base
307. word to the user account smtp ssl False use in case if the server required ssl for sending email Email Action Configuration Action Name Invoice Confirmation Email Action State Email na Email Configuration Email Configuration Contact E Mail B A lt p gt A Dear object partner_id name lt br gt 3 lt br gt nn Message your invoice have been confirmed with the following details lt br gt A lt br gt invoice No object number lt br gt E imimicn men FE mimo dete imimicns T ebein ri Access all the fields related to the current object using expression in double brackets i e object partner_id name Important Fields are Object Select the object on which we want to implement the Server Action when work flow will execute on this object Contact We need to select the fields from which action will select the email address to whom we would like to send the email system will display all the fields related to the current object selected in the Object field 16 4 Email Action 165 Open Object Developer Book Release 1 0 Message You can provide the message template with the fields that related to the current object And it will be merge when it is going to send the email This is the same language then the rml which is used to design the report here we can use the html tage to design in the html format Working with You can select the any fields from the cur
308. x if active_id in ctx return self pool get project task browse cr uid ctx active_id remaining_hours return False _columns remaining_hours fields float Remaining Hours digits 16 2 _defaults remaining_hours _get_remaining def compute_hours self cr uid ids context None if active_id in context remaining_hrs self browse cr uid ids 0 remaining_hours self pool get project task write cr uid context active_id remaining_hours remaining_hrs return type ir actions act_window_close config_compute_remaining e View is same as normal view Note buttons Example lt record id view_config_compute_remaining model ir ui view gt lt field name name gt Compute Remaining Hours lt field gt lt field name model gt config compute remaining lt field gt lt field name type gt form lt field gt lt field name arch type xml gt lt form string Remaining Hours gt lt separator colspan 4 string Change Remaining Hours gt lt newline gt lt field name remaining_hours widget float_time gt 136 Chapter 13 Creating Wizard The Process Open Object Developer Book Release 1 0 lt group col 4 colspan 4 gt lt button icon gtk cancel special cancel string Cancel gt lt button icon gtk ok name compute_hours string Update type object gt lt group gt lt f
309. xl XSLTutorial Output index html XSL Tutorial zvon org e http www zvon org xxl XSLTreference Output index html XSL Reference zvon org e http www w3schools com xsl XSL tutorial and references W3Schools e http www w3 org TR xslt XSL Specification W3C Example with corporate defaults lt xsl stylesheet version 1 0 xmlns xsl http www w3 org 1999 XSL Transform xmlns fo http w lt xsl import href custom corporate_defaults xsl gt lt xsl import href base report rml_template xsl gt lt xsl variable name page_format gt a4_normal lt xsl variable gt lt xsl template match gt lt xsl call template name rml gt lt xsl template gt lt xsl template name stylesheet gt lt xsl template gt lt xsl template name story gt lt xsl apply templates select transfer list gt 152 Chapter 14 Reports Open Object Developer Book Release 1 0 lt xsl template gt lt xsl template match transfer list gt lt xsl apply templates select transfer gt lt xsl template gt lt xsl template match transfer gt lt setNextTemplate name other_pages gt lt para gt Document lt xsl value of select name gt lt para gt lt para gt Type lt xsl value of select type gt lt para gt lt para gt Reference lt xsl value of select reference gt lt para gt lt para gt Partner ID lt xsl value of sel
310. xperimental development mature so that contributors knows what they can use or not e Once your code is good enough you propose your branch for merging e Your work will be evaluated by one responsible of the commiters team If they accept your branch for integration in the official version they will submit to the quality team that will review and merge in the official branch Ifthe commiter team refuses your branch they will explain why so that you can review your code to better fits guidelines problem for futur migrations The extra addons branch that stores all extra modules is directly accessible to all commiters If you are a commiter you can work directly on this branch and commit your own work This branch do not require a validation of the quality team You should put there your special modules for your own customers If you want to propose or develop new modules we suggest you to create your own branch in the openobject addons project and develop within your branch You can fill in a bug to request that your modules are integrated in one of the two branches e extra addons branch if your module touches a few companies e addons if your module will be usefull for most of the companies We invite all our partners and contributors to work in that way so that we can easily integrate and share the work done between the different projects 5 1 3 Answer Tracker and Bugs Management We use launchpad on the op
311. y Rollup ttt Manual Progress FAA Linea base Manual Summary Start only Finish only E 1 Page 2 Tema Desarrollo de un M dulo de Cr dito Automotriz en OpenERP para la Empresa Autov a S A del cant n Quito Provincia de Pichincha SEGUIMIENTO DE ITERACIONES PRIMERA ITERACI N Se desarrollara las historias de usuario de la primera iteraci n Historia NOO1 Registrar Informaci n del Veh culo Acuerdo con el cliente En esta historia de usuario se acord con el cliente configurar un nuevo objeto producto que contenga los campos cae marca clase a o de fabricaci n modelo color precio Permitir subir la foto del veh culo Implementaci n Esta historia de usuario ser implementada basado en el acuerdo con el Cliente lo que implica que se cumpla con los requerimientos antes pedidos En esta ventana le permite al usuario ingresar la informaci n del veh culo Este objeto se puede acceder desde el men en Cr dito de Autos Datos de Cr ditos Autos o directamente ingresarlo desde Solicitud de Cr dito Presentaci n de los requerimientos Autos a Datos de Creditos Guardar Cancelar y SES Detalle del Auto FE CAE Placa ORRR Marca TOYOTA Te Clase SSSS Llamadas Telef nicas A o de Fabricaci n 2010 Modelo TTTT No Motor Egresos Color AMARILLO No Chasis a Caja Detalle Matricula A Matriculado En A o Matriculaci n 0 Propietario Numero Costos Pre
312. y the link between the two records When installing a module Open ERP will test and apply the constraints for consistency of the data So when you install this module it may crash for example because you may have different partners with the same name in the system due to the uniq constraint on the name of a partner So you have to clean your data before importing them If you plan to upload thousands of records through this technique you should consider using the argument P when running the server openerp_server py P status pickle init data_yourcompany This method provides a faster importation of the data and if it crashes in the middle of the import it will continue at the same line after rerunning the server This may preserves hours of testing when importing big files 18 1 3 Using Open ERP s ETL The next version of Open ERP will include an ETL module to allow you to easily manages complex import jobs If you are interrested in this system you can check the complete specifications and the available prototype at this location bzr branch Ip openerp commiter openobject addons trunk extra addons etl to be continued 18 1 Data Importation 175 Open Object Developer Book Release 1 0 176 Chapter 18 Data Migration Import Export CHAPTER NINETEEN UPGRADING SERVER MODULES The upgrade from version to version is automatic and doesn t need any special scripting on the user s part In fact
313. you use a mutable object as default value and then modify that object at the next call you will receive the modified object as default argument value This applies to dict and list objects which are very often used as default values If you want to use such objects as default value you must either ensure that they won t be modified or use another default value such as None and test it For example def foo a None if a is None a This is what is in the Python documentation In addition it is good practice to avoid modifying objects that you receive as arguments if it is not specified If you want to do so prefer to copy the object first A list can easily be copied with the syntax copy original A lot of other objects such as dict define a copy method 23 1 2 File names The structure of a module should be like this module __init__ py __terp__ py module py module_other py module_view xml 201 Open Object Developer Book Release 1 0 module_wizard xml module_report xml module_data xml module_demo xml wizard __init__ py wizard_name py report __init__ py report_name sxw report_name rml report_name py 23 1 3 Naming conventions e modules modules must be written in lower case with underscores The name of the module is the name of the director sale sale commission e objects the name of an object must be of the form name_of_module namel name2 name3 The namei
314. ype of node is used the server will generate a node in the XML data file for each unique value of the field whose name is given in the name attribute Notes This node type is often used with id as its name attribute This has the effect of creating one node for each resource selected in the interface by the user The semantics of a node lt node type fields name field_name gt is similar to an SQL statement of the form SELECT FROM object_table WHERE id in identifier_list GROUP BY field_name where identifier_list is the list of ids of the resources se lected by the user in the interface e eval This node type evaluate the expression given in the expr attribute This expression may be any Python expression and may contain objects fields names e zoom This node type allows to enter into the resource referenced by the relation field whose name is given in the name attribute It means that its child nodes will be able to access the fields of that resource without having to prefix them with the field name that makes the link with the other object In our example above we could also have accessed the field name of the partner with the following lt partner type zoom name partner_id gt lt name type field name name gt lt partner gt In this precise case there is of course no point in using this notation instead of the standa lt name type field name partner_id name gt 150 Cha
315. z la versi n Versi n 5 0 En febrero de 2009 la liberaci n de OpenERP versi n 5 0 marca un salto importante con la interfaz web mejorada la introducci n de los diagramas de Gantt y el editor de flujo de trabajo y muchas mejoras en el c digo funcional Versi n 6 0 En enero de 2011 la liberaci n marca un nuevo salto cualitativo importante con mejoras en el c digo funcional la reescritura del CRM y la mejora de la interfaz web Esta versi n es la primera en ser liberada bajo licencia AGPL en reemplazo de la licencia GPL Tabla 2 01b Versiones de OpenERP A 2 3 Arquitectura OpenERP El sistema OpenERP est formado por tres principales componentes e El servidor de base de datos PostgreSQL que contiene todas las bases de datos cada uno de los cuales contienen todos los datos y la mayor a de los elementos de la configuraci n del sistema OpenERP 31 AGPL Affero General Public License Pontificia Universidad Cat lica del Ecuador Facultad de Ingenier a Escuela de Sistemas Andrea Garc a Torres P gina 23 Tema Desarrollo de un M dulo de Cr dito Automotriz en OpenERP para la Empresa Autov a S A del cant n Quito Provincia de Pichincha e El servidor de aplicaciones OpenERP contiene toda la l gica empresarial y asegura que OpenERP se ejecuta de manera ptima e El servidor web una aplicaci n independiente llamada Open Object client web cual te permite conectarse a OpenERP desde los navegad
316. zard xml product_view xm installable True active True The files that must be placed in init_xml are the ones that relate to the workflow definition data to load at the installa tion of the software and the data for the demonstrations The files in update_xml concern views reports and wizards Objects All Tiny ERP resources are objects menus actions reports invoices partners Tiny ERP is based on an ob ject relational mapping of a database to control the information Object names are hierarchical as in the following examples e account transfer a money transfer e account invoice an invoice e account invoice line an invoice line Generally the first word is the name of the module account stock sale Other advantages of an ORM e simpler relations invoice partner address 0 city e objects have properties and methods invoice pay 3400 EUR e inheritance high level constraints It is easier to manipulate one object example a partner than several tables partner address categories events 52 Chapter 8 First Module to OpenERP Open Object Developer Book Release 1 0 Function reference T aus ce jranyamany y Le E except om EOS z fake_cursor find fields RpcGateway awe fimirpe_Rpctateway MLRPCRequestHandler lsimpleThreadedxMLRPcserver

Download Pdf Manuals

image

Related Search

Related Contents

  La prothèse trans    Electric Skillet Poêle Électrique Sartén Eléctrica  Caro cliente,  User-Manual  Trane RT-SVX19A-E4 User's Manual  SeraMir Protocol and User Manual  Brodit ProClip 854853  FASTCAM SA7  

Copyright © All rights reserved.
Failed to retrieve file