一直关注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. jQuery插件(选项卡)

    使用选项卡插件可以将<ul>中的<li>选项定义为选项标题,在标题中,再使用<a>元素的“href”属性设置选项标题对应的内容,它的调用格式如下: $(select ...

  2. BZOJ1024&丝帛搜索

    题意: 还想二分的,发现并不用...那么直接搜索就水过吧... /*================================================================= ...

  3. Python for Infomatics 第12章 网络编程五(译)

    注:文章原文为Dr. Charles Severance 的 <Python for Informatics>.文中代码用3.4版改写,并在本机测试通过. 12.8 用urllib读取二进 ...

  4. [NOIP2011]聪明的质监员 题解

    题目大意: 额--貌似蛮清晰的,就不赘述了. 思路: 首先不难发现M越大Y越小,因此可以二分答案(方向不要弄错),二分出最小的不小于S的Y即可.而计算Y时可用前缀和O(n+m)求得.两种边界情况也要考 ...

  5. CSS居中布局总结【转】

    居中布局 <div class="parent"> <div class="child">demo</div> </d ...

  6. 安装并配置前端自动化工具——grunt

    Grunt和所有Grunt插件都是基于nodeJs来运行的,因此在你的电脑上需要安装nodeJs.安装nodeJs非常简单,点击访问nodeJs官网https://nodejs.org,然后nodeJ ...

  7. C fgetc

    格式:int fgetc(FILE *stream); 这个函数的返回值,是返回所读取的一个字节.如果读到文件末尾或者读取出错时返回EOF. 位于stdio.h中.从流中读取字符,即从stream所指 ...

  8. 使用mutt+msmtp在Linux命令行界面下发邮件(续)

    一年前写过一篇<使用mutt+msmtp在Linux命令行界面下发邮件>,但是最近想照着文中的办法解决新的问题时发现又有新的疑惑了,所以就有了今天这篇“续集”. 首先说说msmtp.如果你 ...

  9. jsp 页面标签 积累

    http://www.cnblogs.com/xiadongqing/p/5232592.html <%@ taglib %>引入标签库 ========================= ...

  10. 将bean转换成键值列表

    日常开发中在进行接口对接的数据传输时,有一种场景是将bean转成jsonString,这里可以将bean转换成Map再转成jsonString. 工具类如下: public static String ...