转自 :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. 洛谷——P1416 攻击火星

    P1416 攻击火星 题目描述 一群外星人将要攻击火星. 火星的地图是一个n个点的无向图.这伙外星人将按照如下方法入侵,先攻击度为0的点(相当于从图中删除掉它),然后是度为1的点,依此类推直到度为n- ...

  2. 【BZOJ 2809】2809: [Apio2012]dispatching (左偏树)

    2809: [Apio2012]dispatching Description 在一个忍者的帮派里,一些忍者们被选中派遣给顾客,然后依据自己的工作获取报偿.在这个帮派里,有一名忍者被称之为 Maste ...

  3. 【拓展Lucas】模板

    求\(C_n^m \mod p\),写得太丑了qwq. 第一次写拓展Lucas竟然是在胡策的时候qwq写了两个半小时啊_(:з」∠)还写挂了一个地方qwq 当然今天胡策我也是第一次写中国剩余定理(ˇˍ ...

  4. 初见Python<7>:Python操作mysql

    1.基本介绍: python标准数据库接口为python DB-API,它为开发人员提供了数据库应用编程接口,可以支持mysql.Oracle.MSSQL.Sybase等多种数据库,不同的数据库需要下 ...

  5. 计蒜客NOIP2018模拟1

    https://www.jisuanke.com/contest/1152 T1:最失败的一道题,其实就是道水题,好几种写法,一种都没想出来. 题意转化后就是:每个数可以选a[i]和a[i]-k,最后 ...

  6. 【数论】【莫比乌斯反演】【线性筛】bzoj2301 [HAOI2011]Problem b

    对于给出的n个询问,每次求有多少个数对(x,y),满足a≤x≤b,c≤y≤d,且gcd(x,y) = k,gcd(x,y)函数为x和y的最大公约数. 100%的数据满足:1≤n≤50000,1≤a≤b ...

  7. I/O多路复用机制:epoll

    在过去的linux 网络编程中,采用select来做事件触发,其缺点在于每次调用select,都需要把fd集合拷贝到内核,内核必须遍历传递进来的所有fd,这在fd很多时开销会很大,相比于select, ...

  8. Fatal error: Call to undefined function mb_detect_encoding()

    1.找到php扩展目录(我的php扩展目录的路径是:C:\Program Files\AppServ\php\extensions)     在extensions目录下面找到php_mbstring ...

  9. 简单理解SNAT回流中的概念:路由器怎么知道外网返回的数据是局域网中哪台主机的

    内网到外网用的是NAT技术(地址封装)外网到内网用的是端口映射(PNAT)计算机的端口又65535(0-65534),你说的那些有名气的端口大多都是0-1023之间的你说的这个问题很简单,但首先你要懂 ...

  10. KVM工具libvirt、virsh、virt-manager的简单介绍

    KVM虚拟化中libvirt是目前使用最为广泛的对KVM虚拟机进行管理的工具和应用程序接口,而且一些常用的虚拟机管理工具(virsh.virt-install.virt-manager等)和云计算框架 ...