登录

正常访问http://localhost:8069后,登录的界面如下:

这是Odoo默认的认证方式,也是我们最常见最熟悉的认证方式,7.0以前,数据库中的密码都是以明文方式存储,可以很轻松地在res_users表中查询到用户的密码。8.0以后,odoo提高的密码的安全性,将密码加密后进行存储。

近些年来,网络比较流行的一种登录方式是auth,像QQ、支付宝、微信等登录方式,Odoo通过第三方模块也可以实现类似的功能。

对于企业内部用户,可能会接触到SSO的登录方式,这种方式的验证机制同微信验证类似,只不过验证的服务器端是企业内部自己搭建的,因此,SSO的登录方式没有通用的模块,只有根据不同的企业端来进行定制的开发。如去哪儿内部就有一种QSSO,实现之后的登录界面如下:

界面

登录完成之后,会看到如下的界面:

顶部是导航栏,分别对应系统安装了的模块的几大功能,如销售、项目、会计、采购、仓库、生产、人力资源、报表等等,这是系统的一级菜单,也可以称之为应用。

左边一栏是二级菜单,单击每一个菜单,右边会有不同的界面显示。

右上角是当前登录用户,在这里可以切换当前登录用户的时区,语言,更改密码等设置,如下图

还有另外以下诸如关于Odoo,注销等功能。

模块的安装与卸载

模块是Odoo功能的基本单位,也是正因为功能的模块化,使得Odoo功能的添加与修改都变得十分灵活。模块的安装非常简单,在设置的界面里搜索要安装的模块名,然后安装即可。

安装第三方模块

Odoo的强大源于不仅有诸多官方已经集成在安装包中的官方模块,更在于众多社区开发者贡献的第三方模块。官方模块有些时候只是给出了一个通用的解决方案,在落地到实际企业生产过程中,有诸多需要改进的地方,这个时候就是第三方模块发挥其作用的时候了。我们通常所说的二次开发就是这个概念,将企业的特定化需求,结合其原有的模块进行定制,以求以最小的时间成本获取最大的生产效率。

安装第三方模块,首先需要将源代码放在配置文件的addons目录中。

多个路径以‘,’隔开。Ubuntu Deb包安装的目录在 /usr/lib/python2.7/dist-packages/openerp/addons/ 中。建议第三方模块或自己开发的模块不要跟官方模块混放在一起,以防止代码升级造成模块的丢失。

源代码放置到文件夹中之后,需要重启服务。然后在设置界面中,先更新模块列表,然后才能在本地模块列表中找到我们想要安装的模块。

模块的卸载是一个非常危险的动作,因为极有可能因为卸载模块导致数据的丢失。由于模块间的依赖关系,卸载一个模块也很有可能会将其他依赖于这个模块的模块一并卸载,因此强烈建议除非在极有把握的情况下,否则不要轻易卸载模块。通常模块的问题,我们可以通过升级操作来进行修复,这个我们等到开发部分在进行详细介绍。

公司设置

在设置中,有一项公司设置用来配置公司信息。

公司信息里包含了银行账户,地址,联系方式等信息,也包含一些报表的页眉页脚的设置,通常会在打印报表的时候将这些信息一并打印出来。公司信息是一项很重要的预先设置,通常在安装系统的时候系统会帮你把这些信息自动填写完毕,必要的时候,你也可以更改公司信息。公司设置里会有一些隐藏信息用于指导采购,销售,仓库的行为,这些我们会在遇到的时候进行一一阐述。

用户与组

Odoo的用户与组是Odoo权限控制的两个重要部分,组实际可以理解为角色,用户可以针对不用的应用有多个角色,比如,Kevin既可以是仓库的用户,又可以是采购的用户。根据不同的应用给予用户赋予不同的角色,即可以实现对用户权限的灵活设置。

用户界面主要由两个页面组成,一个是与权限相关的访问权限,另一个是跟国际化相关的语言区域设置。

访问权限页面用于给用户赋予角色,同一个应用程序组与组之间如果有继承关系,该权限组会显示成为下拉列表样式,若组与组之间存在并列关系,那么就会被展开成为勾选的样式。组之间的继承关系,在组的页面中进行设置。

在组的视图中,我们可以看到有 用户、继承、菜单、视图、访问权限、规则、备注等多个tab页。视图、访问权限、规则属于高级内容,在此不进行过多阐述,在后续的开发章节中会有对此三种对象的详细介绍。

在用户Tab页中,我们可以看到加入此组的所有用户。这里列举出的用户包含改组的子组中(继承自改组)的用户。继承Tab页中可以看到改组的继承关系。菜单Tab页中可以看到改组所拥有访问权限的菜单。

常规设置

刚接触Odoo的时候比较关注的功能之一就是它的收发邮件功能,配置邮件的界面在设置菜单的常规设置中(也可以在技术设置-邮件里进行)。

邮件的设置需要根据公司的邮箱服务器进行设置,对于支持Catch-All功能的服务器,只需要配置好域名,无需过多的设置即可使用Odoo的邮件收发服务。

但对于没有自己公司的邮箱服务器或不支持Catch-All功能的服务器来说,配置Odoo的邮箱服务就没那么容易了。最好的办法是找一个支持Catch-All功能的企业邮箱,如果不能,向国内的163企业邮也是可以的。使用163企业邮箱,需要针对每个用户设置独立的收发件服务器,维护的成本较高。同时,需要用到第三方模块来完成对每个用户和收发服务器的匹配操作。这个模块的下载地址是:

https://github.com/kevin8909/auto_select_smtp

接收服务器设置列表:

发出邮件服务器列表:

发出邮件服务器设置举例:

接收服务器设置举例:

需要说明的一点,接收服务器设置里,对于收到的邮件可执行的动作,这里要选Email 别名,因为我们是依据Email别名来寻找相应的用户的。

配置邮件过程不是一个容易的事,期间会碰到各种各样的问题,建议参照企业邮的说明文档进行设置。

翻译

Odoo的翻译汉化的不是很完美,部署完系统之后就会发现有很多地方依旧保留着英文,这对国内的一些用户造成了阅读与理解上的不便。社区也有人致力于解决这个问题,组织了一些汉化工作者,但由于翻译者的水平有限,有很多地方造成了歧义。这里的建议是,如果英文水平足够好,建议将语言设置成英文。不得不用中文的情况下,建议对照词典英文释义及自己的理解将其翻译成自己认为正确的汉语。也可以购买社区的汉化包,但在使用过程中碰到难以理解的翻译时,要记得对照英文原意进行解读。

下面介绍翻译的方法:

开发者模式

开发者模式是Odoo提供给有技术基础的人进行界面编程的入口。我们翻译的方法之一就是借助开发者模式提供给我们的技术翻译进行。打开开发者模式位置在右上角-关于

技术翻译

在任一Form视图/Tree视图中,我们都可以看到Debug下拉列表中有一项叫做技术翻译。

在这里我们就可以对界面上的一些翻译进行修改,例如:

询价单中的“币种”,我希望将它翻译成“币别”,我们就可以在技术翻译里找到币别这条翻译

将其翻译为币别。技术设置的最后一列可能刚入门的读者比较困惑,它是技术后台中对Odoo对象的分类,这个在以后的开发内容中会有涉及,这里不需要太过纠结。

界面翻译的第二种方法,不是在技术翻译里进行,是在设置/应用程序术语/已翻译术语中

在这里我们可以搜索到Odoo中所有模块的翻译,并且可以进行编辑修改或是添加。

第三种翻译方法,是通过修改模块文件中的i18n文件夹中的po文件进行,这也是解决翻译问题的终极办法。I18n的意思是internationalization ,只需要把包含翻译的Zh_CN.po文件放入该文件夹中,然后对模块进行升级,就可将翻译应用到系统中。PO文件大概是这个样子:

po文件是GNU gettext项目的一套应用规范,属于L10n方案。PO 是 Portable Object (可移植对象)的缩写形式;MO 是 Machine Object (机器对象) 的缩写形式。PO 文件是面向翻译人员的、提取于源代码的一种资源文件。当软件升级的时候,通过使用 gettext 软件包处理 PO 文件,可以在一定程度上使翻译成果得以继承,减轻翻译人员的负担。MO 文件是面向计算机的、由 PO 文件通过 gettext 软件包编译而成的二进制文件。程序通过读取 MO 文件使自身的界面转换成用户使用的语言。

在Odoo中使用po文件,可以通过设置-导入 /导出菜单将要修改的模块的po文件导出,然后用poedit软件进行编辑后,覆盖掉原模块文件夹中的po文件,完成修改。

对于function类型的字段,可能在导出模块的po文件中不会存在相应的翻译,这时需要手工添加,具体的添加方法可将po文件中其他的字段翻译复制一遍,然后修改为新字段即可。

视图

Odoo的视图是指技术前端对用户展示的页面,有以下几种类型:Form,Tree,Kanban,Gantt,Graph,Canlendar,Diagram,Search,Qweb.最常用的是Form和Tree两种,通常翻译为表单和树形视图。

表单

最常见的视图类型之一:

用来展示一个对象的信息。

树形

实际上应该称为列表(List),真正的树形是可以展开显示子节点的。用于显示多个对象的全部或部分信息。

看板(Kanban)

以看板的形式展示一个或多个对象。

甘特图(Gantt)

以甘特图的方式展示对象信息

图表(Graph)

以图表的方式展示数据,多用于报表。

日历(Canlendar)

以日历形式展示数据。

流程图(Diagram)

以流程图的方式展示数据关系,主要用户工作流。

搜索(search)

搜索视图,常见类型之一,用于多个条件的过滤。

Qweb

主要用于打印文件的设置以及前端一些小窗口部件(Widget)的绘制,在Qweb开发部分会给出具体介绍。

总结

本章主要介绍了一些关于Odoo的基本设置,这是开始学习Odoo的第一步。经过本章的学习,相信你已经对Odoo有了一个大概的认识,可能你对Odoo的操作还不是很熟悉,不过相信经过接下来的学习,你一定会变得越来越熟练。

第三章 Odoo基本设置的更多相关文章

  1. 第三章 Odoo 12 开发之创建第一个 Odoo 应用

    Odoo 开发通常都需要创建自己的插件模块.本文中我们将通过创建第一个应用来一步步学习如何在 Odoo 中开启和安装这个插件.我们将从基础的开发流学起,即创建和安装新插件,然后在开发迭代中更新代码来进 ...

  2. 第十二章 Odoo 12开发之报表和服务端 QWeb

    报表是业务应用非常有价值的功能,内置的 QWeb 引擎是报表的默认引擎.使用 QWeb 模板设计的报表可生成 HTML 文件并被转化成 PDF.也就是说我们可以很便捷地利用已学习的 QWeb 知识,应 ...

  3. 第九章 Odoo 12开发之外部 API - 集成第三方系统

    Odoo 服务器端带有外部 API,可供网页客户端和其它客户端应用使用.本文中我们将学习如何在我们的客户端程序中使用 Odoo 的外部 API.为避免引入大家所不熟悉的编程语言,此处我们将使用基于 P ...

  4. 第六章 Odoo 12开发之模型 - 结构化应用数据

    在本系列文章第三篇Odoo 12 开发之创建第一个 Odoo 应用中,我们概览了创建 Odoo 应用所需的所有组件.本文及接下来的一篇我们将深入到组成应用的每一层:模型层.视图层和业务逻辑层. 本文中 ...

  5. 第五章 Odoo 12开发之导入、导出以及模块数据

    大多数Odoo 模块的定义,如用户界面和安全规则,实际是存储在对应数据表中的数据记录.模块中的 XML 和 CSV 文件不是 Odoo 应用运行时使用,而是载入数据表的手段.正是因为这个原因,Odoo ...

  6. 第四章 Odoo 12 开发之模块继承

    Odoo 的一个强大功能是无需直接修改底层对象就可以添加功能.这是通过其继承机制来实现的,采取在已有对象之上修改层来完成.这种修改可以在不同层上进行-模型层.视图层和业务逻辑层.我们创建新的模块来做出 ...

  7. 第十一章 Odoo 12开发之看板视图和用户端 QWeb

    QWeb 是 Odoo 使用的模板引擎,它基于 XML 来生成 HTML 片断和页面.通过 QWeb可生成内容丰富的看板(Kankan)视图.报表和 CMS 网页.本文中我们将学习QWeb 语法以及如 ...

  8. 《Django By Example》第三章 中文 翻译 (个人学习,渣翻)

    书籍出处:https://www.packtpub.com/web-development/django-example 原作者:Antonio Melé (译者注:第三章滚烫出炉,大家请不要吐槽文中 ...

  9. 《Linux内核设计与实现》读书笔记 第三章 进程管理

    第三章进程管理 进程是Unix操作系统抽象概念中最基本的一种.我们拥有操作系统就是为了运行用户程序,因此,进程管理就是所有操作系统的心脏所在. 3.1进程 概念: 进程:处于执行期的程序.但不仅局限于 ...

随机推荐

  1. 传引用 C(转)

    转自:http://myturn.blog.hexun.com/15584978_d.html #include <iostream> using namespace std ; void ...

  2. 德飞莱STM32单片机学习(一)——下载环境搭建

    一.下载驱动安装. 1.手动打开CH341 文件夹(驱动程序文件夹内) ,双击安装驱动 2. 尼莫M3S 开发硬件设置 硬件需要做到以下2 点:1. USB插入USB1(COM),打开电源开关J14( ...

  3. java读取properties配置文件信息

    一.Java Properties类 Java中有个比较重要的类Properties(Java.util.Properties),主要用于读取Java的配置文件,各种语言都有自己所支持的配置文件,配置 ...

  4. 《DSP using MATLAB》示例Example5.6

    代码: x = [1, 1, 1, 1]; N = 4; X_DFT = dft(x,N); % DFT of x(n) magX_DFT = abs(X_DFT), phaX_DFT = angle ...

  5. express-19 路由2

    组织路由 在主应用程序文件中定义所有路由太笨重了.那样不仅会导致那个文件一直增长,还不利于功能的分离,因为那个文件里已经有很多东西了. 四条组织路由的指导原则 给路由处理器用命名函数: 到目前为止,我 ...

  6. hdu2767 Proving Equivalences Tarjan缩点

    Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission( ...

  7. iOS KVO 学习笔记

    //// //// main.m //// TestBasis //// //// Created by ficow on 16/1/14. //// Copyright © 2016年 ficow. ...

  8. kafka storm hbase性能

    kafka  单台机器部署 1个partition storm 单台机器部署 hbase 四台机器集群 机器配置大概是4G cpu 4G内存 从kafka 读出到storm,然后flush到hbase ...

  9. JavaScript求和

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  10. HIT2739 The Chinese Postman Problem(最小费用最大流)

    题目大概说给一张有向图,要从0点出发返回0点且每条边至少都要走过一次,求走的最短路程. 经典的CPP问题,解法就是加边构造出欧拉回路,一个有向图存在欧拉回路的充分必要条件是基图连通且所有点入度等于出度 ...