Openerp开发进销存系统总结

转自 :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

时间: 2024-08-05 10:18:57

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

手机进销存系统

花了将近两个月的时间学习了一个企业级进销存项目,已经结束了两周多,现在终于有时间来对这个项目的学习做个总结了! 一.首先介绍下这个项目 (注:本人目前大三,专业为信息管理,与编程沾边不多.而我对编程很感兴趣,从大一下期开始主要通过看书和视频自学学习java编程!). 项目名称:手机进销存系统(Mobile SCM) 主要开发技术:Struts2+Spring+ibatis+jQuery 数据库:MySql5.1(Navicat客户端管理工具) 服务器:tomcat7.0 建模工具:ER/Stud

Eclipse超市进销存系统

当今社会己进入信息社会时代,信息己经受到社会的广泛关注,被看作社会和科学技术发展的三大支柱(材料.能源.信息)之一.信息是管理的基础,是进行决策的的基本依据.在一个组织里,信息己作为人力.物力.财力之外的第四种能源,占有重要的地位.然而,信息是一种非物质的,有别于基本资源的新形式的资源.信息也是管理的对象,必须进行管理和控制.超市进销存系统是将IT技术用于超市信息的管理, 它能够收集与存储超市的档案信息,提供更新与检索超市信息档案的接口:提高工作效率.论文主要介绍了本课题的开发背景,所要完成的功

进销存系统的数据建模设计

数据建模其实就是数据库设计,是很关键的环节,他的前提条件是:1)对需求充分消化,全局性的归纳总结:(什么功能操作什么表.表与表之间的逻辑处理:)2)对接下来的程序开发,做了充分的布局,心中已有系统:(程序如何划分为子系统,每个程序间如何工作的) 设计原则及考虑维度 1)效率 开发效率,模型简单,更少的数据库表,开发容易,维护容易:2)性能 数据要快3)成本 避免数据冗余MIS系统我更在意的是开发效率及应变性,因为数据量和硬盘存储都没问题,重要的是兼容各种需求的变更: 本仓库系统需求核心要点:1)

进销存系统如何帮助企业改善库存管理的?

库存过多,造成产品的积压,这似乎不是什么新鲜事,但是,年年积压,后面还是年年有人压,那么,库存的管理真的有那么难吗?其实,库存的管理没有那么难,而这不难,就全靠进销存系统的帮助,而这其中的关键点,我们一起来看一下. 1.出入库管理 货物的入库和出库管理那是至关重要,每笔货物的出入都是要通过审批的,而审批就从源头上确保了企业产品的安全性,但是如果通过传统的审批手段,比较麻烦,还会耽误货物的入库和发货时间,进而造成企业的损失,但是通过进销存系统就简单多了,比如在智邦国际进销存系统内,审批就可以直接在

JAVA企业进销存系统源码 struts+spring+hibernate j2ee MYSQL

进销存源码,库存源码,JAVA源码,JAVA进销存源码 演示:http://cx010108.pssdss.com/admin/ 用户名 admin 密码 529 源码http://www.pssdss.com/d239.html 更多源码www.pssdss.com QQ:11851298 软件构成: MVC架构:struts+spring+hibernate j2ee 表现层 : JS侧使用了ExtJs框架. 控制层: servlet+jsp. 数据库:使用了免费的Mysql. 服务器:Ap

ERP进销存系统源码

介绍 ERP进销存管理系统 软件架构 核心框架:SpringBoot 2.0.0 持久层框架:Mybatis 1.3.2 日志管理:Log4j 2.10.0 JS框架:Jquery 1.8.0 UI框架: EasyUI 1.3.5 模板框架: AdminLTE 2.4.0 项目管理框架: Maven 3.2.3 开发环境 建议开发者使用以下环境,可以避免版本带来的问题 IDE: IntelliJ IDEA 2017+ DB: Mysql5.7.4 JDK: JDK1.8 Maven: Maven

进销存系统流程

翻出三年前学习时 自己接手第一个项目前总结的进销存流程,感觉还是很有价值的.故分享出来.

java 进销存系统 库存管理 销售报表 商户管理 springmvc SSM项目

统介绍: 1.系统采用主流的 SSM 框架 jsp JSTL bootstrap html5 (PC浏览器使用) 2.springmvc +spring4.3.7+ mybaits3.3  SSM 普通java web(非maven, 附赠pom.xml文件)  数据库:mysql 3.开发工具:myeclipse  eclipse idea 均可, 没有限制. 我这边myeclipse 2014 导出来的项目源码 ----------------------------------------

java 进销存系统 库存管理 商户管理 springmvc SSM 销售报表 项目

统介绍: 1.系统采用主流的 SSM 框架 jsp JSTL bootstrap html5 (PC浏览器使用) 2.springmvc +spring4.3.7+ mybaits3.3  SSM 普通java web(非maven, 附赠pom.xml文件)  数据库:mysql 3.开发工具:myeclipse  eclipse idea 均可, 没有限制. 我这边myeclipse 2014 导出来的项目源码 ----------------------------------------