zoukankan      html  css  js  c++  java
  • Odoo学习笔记

    一:Odoo架构

    1:数据库服务器层:postgreSQL数据库服务器,用于存储所有应用数据。

    2:openERP应用服务层:包含所有企业模块逻辑(报表引擎、工作流引擎等),向下提供ORM引擎,向上提供web服务,控制服务器与浏览器的通信。

    3:客户层:包括GUI客户端以及Web客户端。

    客户端通过JSON-RPC或者XML-RPC与服务器进行通信。

    二:Odoo常用功能模块

    企业管理模块

    物料管理模块

    财务管理模块

    人力资源模块

    客户与供应商关系管理模块

    项目管理模块

    日常工作管理模块

    沟通工具模块

    业务流程管理模块

    ......

    三:odoo开发简介

    odoo开发要实现以下功能:

    数据访问功能:信息的增删查改。基于MVC模式进行开发,其中Model用ORM了来对应数据库表并操纵,而view则用XML来定制界面,Controller也是用XML来定义响应。

    工作流开发:用软件表达企业层级的工作协作关系。有两种方式:XML方式定义、可视化拖拽编程定义。

    报表开发:把系统的数据以特定形式输出打印。主要有:文档报表、图形报表等。

    四:继承开发

    Odoo提供了大量现成的模块给我们使用,但是某些情况下,我们需要制定符合自己需求的功能模块。Odoo开发的一条黄金准则是——不要修改现有的模块,以免改动后的代码与原有模块产生混淆。

    因此,odoo提供了继承机制,我们可以选择一个基础模块,然后继承它,在它的基础上进行修改、扩展,生成自己的模块。

    开发自己的模块时,需要在模块所在目录下,创建两个文件:__init__.py和__openerp__.py,在其中定义模块的初始化操作以及模块的描述。

    然后使用自己的模块:把自己的模块路径设置到odoo中,重启odoo让其搜索到自定义模块,即可通过odoo进行安装。

    模块文件目录构成:

    data:存放demo和data xml

    models:存放模型定义:继承models.Model类,定义出的模型类会自动与Odoo提供的ORM接口匹配,也就是说这些模型类会自动存入sql中。

    controllers:存放http路径控制(url请求处理)

    views:网页视图文件与模版文件(xml文件,使用QWEB语言进行描述)

    static:静态资源文件,如css、js等

    security:对模块的访问权限控制,在ir.model.access.csv文件中定义。还可以新建一个record_rule.xml,在其中进行更细化的权限控制。

    继承模块通过 _inherit=“继承的模块”  属性来实现。之后在新创建的模块中就可以新增field、修改父模块的field、重载方法了。

    不仅仅模块可以继承开发,视图文件也可继承修改,对与视图文件中某个标签,通过 ref=“继承的视图元素”进行继承。

    五:数据库端开发

    可以使用pgadmin3来对postgreSQL数据库管理操作,如果SQLYog操作mysql一样。

    六:模块开发流程

    1:分析模块模型,得出模型所需的字段有哪些,然后定义模型类——python编程。

    2:构建菜单对象——在views文件夹下,使用xml定义菜单项。

    3:构建动作对象,关联某个具体菜单项的响应。

    4:构建视图对象:主要是list、tree、form、search视图。

    5:配置__init__.py和__openerp__.py

    七:orderset

    odoo8新增的ORM API,最常用的有 domain(fieldName,op,value) 方法 以及 search(fieldName,op,value)。

    八:模型内的数据文件

    1:ID

    所有存储在Odoo底层数据库中的记录都有一个独一无二的id。odoo通过ir.model.data模型来管理这些ID,这个模型对应数据库中ir_model_data表,其存储了ID与具体某条具体的记录的映射关系。

    2:导入导出数据

    tree列表视图下,可以导入导出数据。其中,导入数据需要csv格式,导出则可以为csv或excel格式。

    3:标签值

    使用filed标签指明某个字段并赋值。赋值有两种方式:<field>值<field/> 、<field name="" eval="计算标签值的表达式"/>

    九:工作流开发

    工作流开发主要使用xml,有三种组成元素:workflow、activity、transition。

  • 相关阅读:
    C#深入浅出 修饰符(二)
    HDU 5785 Interesting
    HDU 5783 Divide the Sequence
    HDU 5781 ATM Mechine
    UVA 714 Copying Books
    uva 1471 Defense Lines
    UVA 11134 Fabled Rooks
    UVA 11572 Unique Snowflakes
    UVA 11093 Just Finish it up
    UVA 10954 Add All
  • 原文地址:https://www.cnblogs.com/soleZ/p/10076020.html
Copyright © 2011-2022 走看看