一直关注OpenERP,但一直未真正使用。最近一些数据想规范管理,免得使和EXCEL与WORD等到处找,所以想到OpenERP的自定义功能比较好,就再次找来相关资料重新拾掇起来。在这过程中,发现了许多使用与开发上的一些问题,特此记录下来,以便后查。

一、安装

操作系统:Ubuntu12.04

修改:echo 'deb http://nightly.openerp.com/7.0/nightly/deb/ ./' >> /etc/sources.list

执行:apt-get install openerp

问题:先后安装了2台(一台本机测试,一台正式部署),正式部署的发现Postgresql不能正常启动,开始总是提示:

perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LC_MESSAGES = “en_IN.UTF-",
LANG = “en_US"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").

解决方案:

1) 执行:sudo locale-gen en_US.UTF-8

2) 在 /etc/environment 中添加以下二行

LANG=en_US.UTF-
LC_ALL=en_US.UTF-

完成后上面的问题没有了,但仍然不能正常启动,通过反复分析日析,发现安装的Postgrel没有相关安装文件和初始数据库,从我本机复制相关文件到相同目录并做简单修改后正常启动。

安装完成,登录进入,选择:设置->用户 ,修改管理员用户设置启用“技术特性”后重性登录。

二、关于自定义数据表与表单等

其实OpenERP的自定义功能确实很方便,基本上普通的所有的数据编辑功能都能完成,但仍建议你自已试着开发完成一个模块,这样你能对自定义的操作会有更深的体会。

三、模块开发问题

1.自定义的模块要注意部署的位置,在Windows可能比较简单,但在Windows我却发现很多个addons目录(/usr/share/pyshared/openerp/addons与 /usr/lib/pymodules/python2.7/openerp/addons),经过测试在Ubuntu下应放到:/usr/lib/pymodules/python2.7/openerp/addons目录中。

2.上传后,选择菜单:设置->模块->更新模块列表 根据向导完成模块更新。

3.点击“可安装模块”,这时你将看到系统已安装的模块。可能你开始会和我一样,怎么找不到新上传的模块呢,在搜索框里移除预定的过滤,即不是只显示已安装的,而是显示所有的。然后输入定义的模块名称,即可以找到你开发的模块。点击后根据向导进行安装,第一次开发部署肯定会遇到很多问题,根据提示,更详细信息在/var/log/openerp中的可以找到。

4.有修改上传后,为了可正常安装,需要执行:service openerp force-reload.

5.第一次上传我们可能会上先上传一个压缩的ZIP包,然后解压,解压后忘记删除它,然后每次只上传更新了的文件到解压缩的文件夹中。对于XML文件好象是可没有问题的,但是py源代码文件系统只会加载原zip包中的源文件。(估计是一个BUG),困扰了我好久,我测试的在本机好好的模块,上传到正式部署的服务器就不行了。

6.定制的一个FORM中的某个Page不显示字段的Label,与其它比较发现是在Page节点下没有Group节点,添加即可,如:<page><group><field name='name'/></group></page>.

7.one2many关系编辑问题。发现一个定义的VIEW可以在one2many共享.但有一个问题,是共享的字段会显示并在第一编辑空白显示many2one字段。经过研究找到解决方案:首先在one2many视图对应字段类似这样设置:<field name="lxr_ids" context="{'edit_from_parent':'1'}">。而在many2one视图中:<field name="dept_id" invisible="context.get('edit_from_parent', '0') in ['1']"/>。

8.将one2many字段设置编辑方式为many2many.发现one2many列表只能添加记录,而不能选择已经有的记录,这样你可以通过修改widget实现,如<field name="line_ids" widget="many2many"/>。但您必须注意,对应的对象必须定义至少一个查询视图,否则将报错。

OpenERP 使用与开发笔记(一)的更多相关文章

  1. [开发笔记]-未找到与约束ContractName Microsoft.VisualStudio.Text.ITextDocumentFactoryService...匹配的导出【转载自:酷小孩】

    原文地址:http://www.cnblogs.com/babycool/p/3199158.html 今天打算用VisualStudio2012做一个js效果页面测试的时候,打开VS2012新建项目 ...

  2. EasyUI 开发笔记(二)

    接上篇 :EasyUI 开发笔记(一)  (http://www.cnblogs.com/yiayi/p/3485258.html) 这期就简单介绍下, easyui 的 list 展示, 在easy ...

  3. EasyUI 开发笔记(一)

    由于某些原因,在公司做的后台需要改成类似于Ext.js 形式的后台,主要看好其中的 框架布局,以及tab开页面和弹出式内部窗体. 后来看看,改成EasyUI,较Ext.js 库小很多,也便于公司的初级 ...

  4. [Openwrt 项目开发笔记]:Openwrt平台搭建(一)

    [Openwrt项目开发笔记]系列文章传送门:http://www.cnblogs.com/double-win/p/3888399.html 正文: 最近开始着手进行Openwrt平台的物联网网关设 ...

  5. Android移动APP开发笔记——Cordova(PhoneGap)通过CordovaPlugin插件调用 Activity 实例

    引言 Cordova(PhoneGap)采用的是HTML5+JavaScript混合模式来开发移动手机APP,因此当页面需要获取手机内部某些信息时(例如:联系人信息,坐标定位,短信等),程序就需要调用 ...

  6. Android移动APP开发笔记——最新版Cordova 5.3.1(PhoneGap)搭建开发环境

    引言 简单介绍一下Cordova的来历,Cordova的前身叫PhoneGap,自被Adobe收购后交由Apache管理,并将其核心功能开源改名为Cordova.它能让你使用HTML5轻松调用本地AP ...

  7. 开发笔记:基于EntityFramework.Extended用EF实现指定字段的更新

    今天在将一个项目中使用存储过程的遗留代码迁移至新的架构时,遇到了一个问题——如何用EF实现数据库中指定字段的更新(根据UserId更新Users表中的FaceUrl与AvatarUrl字段)? 原先调 ...

  8. Lucene/Solr搜索引擎开发笔记 - 第1章 Solr安装与部署(Jetty篇)

    一.为何开博客写<Lucene/Solr搜索引擎开发笔记> 本人毕业于2011年,2011-2014的三年时间里,在深圳前50强企业工作,从事工业控制领域的机器视觉方向,主要使用语言为C/ ...

  9. [openwrt 项目开发笔记]: 传送门

    “Openwrt 项目开发笔记”系列传送门: [Openwrt 项目开发笔记]:Openwrt平台搭建(一) (2014-07-11 00:11) [Openwrt 项目开发笔记]:Openwrt平台 ...

随机推荐

  1. .NET Oracle Developer的福音——ODP.NET Managed正式推出

    在.NET平台下开发Oracle应用的小伙伴们肯定都知道一方面做Oracle开发和实施相比SqlServer要安装Oracle客户端(XCopy.自己提取相关文件也有一定复杂性),另一方面相比JAVA ...

  2. 【Oracle】oracle中rownum的说明及使用技巧

    oracle中常用到ROWNUM,所以做一些本人对rownum的一些认识和使用技巧的记录,以便备查. 一.rownum的说明 rownum是oracle特有的一个关键字. (1)对于基表,在inser ...

  3. jQuery Live Query 插件

    http://www.cnblogs.com/sunjing/archive/2008/12/06/1349097.html 上篇日志里写到的那个问题其实有种更简单的解决办法,就是使用jquery的L ...

  4. 有限状态机(FSM)

    在游戏开发中,AI是个永恒不变的话题,如果你要的AI只是很简单的一个逻辑 那么有限状态机是一个很好的解决方案,尽管在实际开发中,AI的设计并不是一个简单的逻辑, 如果用有限状态机,维护起来会非常麻烦, ...

  5. msql数据迁移,myisam及innoDB

    直接迁移数据库文件. 一.MySQL数据库文件介绍 MySQL的每个数据库都对应存放在一个与数据库同名的文件夹中,MySQL数据库文件包括MySQL所建数据库文件和MySQL所用存储引擎创建的数据库文 ...

  6. C# 该行已经属于另一个表

    DataTable dtSource = (DataTable)this.gridControl1.DataSource; DataRow[] dr = dtSource.Select("c ...

  7. Redis安装部署

    Redis是一种高级key-value数据库.它跟memcached类似,不过数据 可以持久化,而且支持的数据类型很丰富.有字符串,链表,集 合和有序集合.支持在服务器端计算集合的并,交和补集(dif ...

  8. Tickets——H

    H. Tickets Jesus, what a great movie! Thousands of people are rushing to the cinema. However, this i ...

  9. java Properties 配置信息类

    Properties(配置信息类):主要用于生产配置文件和读取配置文件信息. ----> 是一个集合类 继承HashTable 存值是以键-值的方式. package com.beiwo.io; ...

  10. Java 对象拷贝方式

    (1)BeanUtils.cloneBean()使用: http://www.cnblogs.com/fervour/archive/2009/12/18/1627868.html package c ...