转自 :http://blog.sina.com.cn/s/blog_7cb52fa80101ngt8.html

差不多用了2个星期的闲余事件,对于openerp v7.0进行了学习和应用开发。细节总结如下

安装Openoffice

在openoffice中安装openerp report designer插件(openerp 7.0中自带)

OpenErp学习

安装Openoffice

在openoffice中安装openerp report designer插件(openerp 7.0中自带)

1.保存openoffice文件在英文路径下。如果不保存,send to server的时候会没有反应

2. 主要类

osv openerp/osv/osv.py

在文件中 osv = Model

所以osv.osv和osv.Model其实是一样的

osv.Model定义在orm.py中

report_sxw openerp/report/report_sxw.py

logging python库自带

import logging

_logger = logging.getLogger(__name__)

_logger.error("IntegrityError", exc_info=True)

raise osv.except_osv('xinquanda_product', "_modify_quantity 0"%(record[0]['quantity']))

3.使用openerp report design + openoffice 3.4 + openerp 7.0

在send to server的时候会提示UnicodeDecodeError: 'ascii' codec can't decode byte

通过在addons\base_report_designer\base_report_designer.py添加如下三行代码解决

注意默认使用空格缩进。如果增加的代码使用tab缩进会产生unexpected indent错误

import sys

def upload_report(self, cr, uid, report_id, file_sxw, file_type, context=None):

'''

Untested function

'''

reload(sys)

sys.setdefaultencoding('utf8')

4.python 一个 *.py就是一个package

osv.osv就是osv.py文件内的osv对象

5.使用parent_id的时候,使用toolbar产生问题

6.selection里面使用中文内容,需要在前面增加u, 比如u'供货商'。否则插入的时候会判断出错

7.使用7.0 form如果没有sheet和group,会不显示filed string

8.使用openerp report designer自动生成rml会使用in作为object名。会导致在7.0下面无法解析。提示 cannot eval 'xxxx'之类的。修改名字解决问题

9.Win7的字体安装直接拖进去是不行的。文件名会变成xxx_1 xxx_2这样(用cmd查看)。所以需要使用cmd的xcopy命令进行放置。否则会安装了新字体,但是还是乱码。使用xcopy进去以后,虽然图形界面看不到该字体安装成功了。但是重启oe之后可以解决乱码问题。如果还不行尝试重启一下系统吧。

10.一个工程中存在相同的view_id导致了显示不出来同名menu

11.

View生成的时候调用的初始化函数

def view_init(self, cr, uid, fields_list, context=None):

使用菜单栏的导出功能,导出Field数据时调用

def export_data(self, cr, uid, ids, fields_to_export, context=None):

加载数据时调用,返回一个id list.代表需要加载的数据

def load(self, cr, uid, fields, data, context=None):

"""

Attempts to load the data matrix, and returns a list of ids (or

``False`` if there was an error and no id could be generated) and a

list of messages.

The ids are those of the records created and saved (in database), in

the same order they were extracted from the file. They can be passed

directly to :meth:`~read`

#

# Overload this method if you need a window title which depends on the context

#

def view_header_get(self, cr, user, view_id=None, view_type='form', context=None):

return False

// 获取名字,返回名字列表

def name_get(self, cr, user, ids, context=None):

// 根据参数进行名字查找.返回 (id, name)的tuple列表.相当于先用search进行搜索,然后再用name_get获取名字列表

def name_search(self, cr, user, name='', args=None, operator='ilike', context=None, limit=100):

// 仅仅使用name创建record

def name_create(self, cr, uid, name, context=None):

create

read

返回的是dict组成的list

write

unlink

def search(cr, user, args, offset=0, limit=None, order=None, context=None, count=False):

cr.execute

cr.fetchall

// 定义了

def func_search(self, cr, uid, obj, name field, args, context):

12. pgsql的备份与恢复

pg_dump.exe -f d:/backup/1234.backup -F t -h 127.0.0.1 -p 5432 -U openerp -b Erp

pg_restore.exe -F t -h 127.0.0.1 -p 5432 -U openerp -d tt d:/backup/1234.backup

13.

c:\>for /f "tokens=1-3 delims=- " %1 in ("�te%") do @echo %1%2%3

c:\>for /f "tokens=1-3 delims=.: " %1 in ("%time%") do @echo %1%2%3

http://www.jb51.net/article/30539.htm

14.

report name一样导致了report对应的model调用错误

15.

select 'cp' || right(cast(pow(10, 10) as varchar) || id, 10) as sn, customer_id as name, '付款' as operation, pay_value as value, date, note from xinquanda_customer_payment

union

select 'co' || right(cast(pow(10, 10) as varchar) || id, 10) as sn, customer_id as name, '退货' as operation, price_totle as value, date , '' as note from xinquanda_product_customer_out

union

select 'ci' || right(cast(pow(10, 10) as varchar) || id, 10) as sn, customer_id as name, '供货' as operation, price_totle as value, date , '' as note from xinquanda_product_customer_in;

16.有关于view视图的创建与显示

1.在.py的对象创建里面定义_auto = False

2.所有_column都需要有readonly=True的属性

3._sql设定视图创建sql语句或者在__init__(self, cr)函数里面创建具体视图

如果调用视图的action使用了tree type进行显示,可能会在报错

2013-06-19 01:36:24,151 2392

Openerp开发进销存系统总结的更多相关文章

  1. openerp 经典收藏 Openerp开发进销存系统完毕总结(转载)

    原文地址:http://blog.csdn.net/heartrude/article/details/9142463 Openerp开发进销存系统完毕总结 分类: 代码历程 OpenERP 工程思想 ...

  2. Openerp开发进销存系统完毕总结

      转自:http://blog.csdn.net/heartrude/article/details/9142463 安装Openoffice 在openoffice中安装openerp repor ...

  3. [系统开发] FileMaker进销存系统

    一.简介 这是我用 FileMaker 编写的进销存系统: FileMaker 是一种在欧美流行的桌面型数据库:它使用非常方便,功能也很强大,用户可以在它上面开发自己的系统: 开发时间:2008年 二 ...

  4. C# WINFORM进销存系统开发(内涵免费源码+部分实操视频讲解)

    互联网的时代,电商火爆,大家都开始进行线上销售货品,那你是如何管理你的商品库存和进销问题?软积木--小敏用的是C# WINFORM进销存系统来管理我的数据,给我带来了很多便利. 它是高频需求项目,很多 ...

  5. spring boot的一个小项目小型进销存系统

    项目所需的依赖: <dependency> <groupId>org.springframework.boot</groupId> <artifactId&g ...

  6. 浩瀚技术团队... 安卓智能POS移动PDA开单器 开单器 进销存系统 进销存系统

    浩瀚技术团队... 智能POS移动PDA开单器 开单器 进销存系统 进销存系统 点餐 会员管理 会员管理 深度解读 手机APP移动办公到底是什么? 快速打单POS·不仅仅是快那么简单!  

  7. PDA手持机 移动开单进销存系统 现场出打印凭据和扫码 新的亮点

    传统车销模式弊端:1.手写开单,效率低,动作慢2.现场手写开单明细不能打印,产品明细不规范3.电脑办公人员及车销人员对车上的库存情况掌握不清楚,销售人员对每种产品销售价格不清楚4.老板对员工工作的管控 ...

  8. 最新发布C#.NET快速开发框架企业版V4.0 (适合开发ERP、进销存系统)

    C/S系统开发框架-企业版 V4.0 (Enterprise Edition) http://www.csframework.com/cs-framework-4.0.htm 视频下载: 百度网盘: ...

  9. C# 进销存系统开发框架

    C/S系统开发框架-企业版 V4.0 (Enterprise Edition) 简介: http://www.csframework.com/cs-framework-4.0.htm 视频下载: 百度 ...

随机推荐

  1. SublimeCodeIntel代码自动补全配置

    主要使用python3,所有配置以python3为例.其他语言同理.利用sublimeCodeIntel插件可以实现自动提示python3代码.跳转追踪自定义函数.查看系统函数等.功能还是相当强大的. ...

  2. 【数据结构】 最小生成树(二)——kruskal算法

    上一期说完了什么是最小生成树,这一期咱们来介绍求最小生成树的算法:kruskal算法,适用于稀疏图,也就是同样个数的节点,边越少就越快,到了数据结构与算法这个阶段了,做题靠的就是速度快,时间复杂度小. ...

  3. Visual Studio Xamarin中找不到iOS模拟器

    Visual Studio Xamarin中找不到iOS模拟器 Visual Studio可以正常连接Mac系统,但是在测试时候,提示以下错误信息:Failed to start iOS Simula ...

  4. 【2-SAT(最小字典序/暴力染色)】HDU1814-Peaceful Commission

    [题目大意] 和平委员会每个党派有2个人,只能派出其中1个,其中有一些人之间互相讨厌不能同时派出.求出派遣方案,如果有多种方案输出字典序最小的方案. [思路] 最小字典序只能用暴力染色.初始时均没有染 ...

  5. Java并发(四):happens-before

    happens-before 一个操作执行的结果需要对另一个操作可见,那么这两个操作之间必须存在happens-before关系 happen-before原则是JMM中非常重要的原则,它是判断数据是 ...

  6. Java高级架构师(一)第31节:Nginx简介、安装和基本运行

    第一节:主要介绍Nginx和安装

  7. HDU 4662 MU Puzzle (2013多校6 1008 水题)

    MU Puzzle Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total S ...

  8. 未能加载文件或程序集“System.Web.Razor 2.0.0 or system.web.webpages.razor 2.0.0

    出现这种问题,有两种情况: 一.bin目录下没有相应的dll,可以将相应dll拷贝至bin目录或者设置相关dll的属性“复制到本地”:true 二.如果是高于Visual Studio2013版本的开 ...

  9. Google Breakpad 完全解析(一) —— Windows入门篇

    原创文章,转载请标明出处:Soul Apogee (http://bigasp.com),谢谢. Google breakpad是一个非常实用的跨平台的崩溃转储和分析模块,他支持Windows,Lin ...

  10. jquery load 方法回显数据

    使用jQuery对象.load()方法 load() 方法的作用是可以通过 AJAX 请求从服务器加载数据,并把返回的数据直接放置到指定的元素中. 该方法使用起来非常简单,大大简化了ajax开发 语法 ...