OpenERP应用和开发基础(第二版)开班了
-
POSTGRES开发始于1986年,它是由加州大学伯克利分校MichaelStonebraker领导的,由美国防务高级研究项目局(DARPA),美国陆军研究办公室(ARO),美国国家科学基金(NSF),以及 ESL, Inc共同赞助的数据库研究项目。POSTGRES 1987年发布了第一个演示版,并且在1988年的ACM-SIGMOD大会上展出。1989年6月发布了版本1给一些外部用户使用。为了回应用户对第一版规则系统的批评,作者重新设计了规则系统,并于1990年6月发布了使用新规则系统的版本2。版本3 于1991年发布,增加了多存储管理器的支持,并且改进了查询执行器,重写了规则系统。从那以后,随后的版本直到 Postgres95 发布前工作都集中在移植性和可靠性上。1993年,随着用户数的成倍增涨,Postres数据库的支持成本越来越大,项目组在发布了Postres4.2后终止了项目。
POSTGRES发布后在许多研究、生产系统中得到了应用。财务数据分析系统,喷气引擎性能监控软件包,小行星跟踪数据库,医疗信息数据库和一些地理信息系统。POSTGRES 还被许多大学用于教学用途。后来,Illustra Information TechnologiesIllustra Information Technologies (后来并入 Informix,后者现在被 IBM收购了)拿到代码并使之商业化,发布了Informix数据库。
1994年,Andrew Yu和Jolly Chen向POSTGRES中增加了SQL语言解释器,并优化了全体代码。随后以Postgres95的版本号、以开放源码的形式发布到互联网上供大家使用。Postgres95所有源代码都是完全的ANSIC,而且代码量减少了25%。修正了许多错误,大幅提高了代码性能和代码维护性。Postgres95 版本1.0.x 进行Wisconsin Benchmark测试时大概比POSTGRES 4.2快30-50%。
1996年,Postgres95改名为PostgreSQL,版本定为6.0。今天,PostgreSQL的最新版本是8.4.2。下面列出一些有公开报道的使用PostgreSQL数据库的机构。
[b]Affymetrix[/b]:( http://www.affymetrix.com/ ),一个生物技术研究公司,为基因研究工业提供艺术级的研究工具,在他们的Transcriptome 项目中用PostgreSQL存储那些从高密度GeneChip序列中生成的海量 RNA 表达实验。
[b]Afilias[/b]:( http://www.nic.info/ ),一个域名注册提供商,目前管理互联网上新发布的第一个扩展 .INFO。它是一个位于爱尔兰的公司,管理着超过900,000个域名以及超过一千万条记录,这些数据都是存放在以PostgreSQL为后端的数据库中。
[b]BASF[/b]:( http://www.basf.com/ ),巴斯福,世界上最大的化工公司,使用 PostgreSQL 为他们的美国农业综合业的电子商务网站存储数据。
[b]Cognitivity[/b]:( [检测到链接无效,已移除] ),在线学习提供商,它们使用PostgreSQL用于他们的表现软件和管理软件。
[b]Journyx[/b]:( http://www.journyx.com/ ),世界公认的基于web的时间和开销跟踪的服务商,拥有超过一百万最终用户。他们将PostgreSQL用于他们所有unix平台上的内部数据库操作(Linux, BSD, AIX,Solaris, 以及很快还有 MacOS X)。
[b]Royal[/b],现代Royal打字机公司,他们的在线电子商务网站什么东西都用PostgreSQL存储。
[b]The American Chemical Society[/b],美国化学社区,(www.acs.org),世界上最大的专业化学组织,拥有超过165,000个成员,以及一个每天有超过一千二百万人访问的网站。他们的刊物档案馆存储了125年的所有出版物(两千五百万页,超过1T的数据),用的是PostgreSQL。(目前已知PostgreSQL最大的数据库)。 -
谢谢版主。continue....
-
摘录部分如下:
Enterprise Modules(企业管理模块)
*Sales
*Purchase
*Services Management
*Invoicing
*Point of Sales
Logistics(物料管理)
*Warehouse Management
*Shipping Management
*Manufacturing
*Quality & Repairs
*Products and pricelists
Accounting & Finance(财务管理)
*Accounting
*Analytic Accounting
*Budgets
*Payments Management
*Asset Management
*Bank interfaces
Human Resources(人力资源管理)
*Expenses
*Skills Management
*Holidays
*Attendances
CRM & SRM(客户和供应商关系管理)
*Customer Relationship Mgt.
Mail Gateway
Portals
*Direct Marketing
*Phone Calls
Project Management(项目管理)
*Operational Management
*Financial Management
*Timesheets
Daily Productivity(日常工作管理)
*Integrated DMS
*Outlook/Thunderbird
*Getting Things Done
*Calendars
Efficient Communication(沟通工具)
*Wiki
*Webmail
*Dashboards
*Alerts
Business Process Management(业务流程管理)
*End-User Processes
*Workflow Engine
Association Management
*Membership
*Events Organization
*Fund Raising
IT Companies(IT公司管理工具)
*Bug Tracker
*Scrum Methodology
Fully Customizable(灵活的定制化功能)
*Report Designer
*View Editor
*Workflow Editor
*Configurable Actions
Ergonomy
*Web & Application Interfaces
*Gantt & Calendars
*Dynamic Graphs
*Integrated Documentation
Flexible
*Modules System
*Web-Services
eCommerce
*Integrated eCommerce
*EDI
Business Intelligence
*Olap Database
*Cube Designer
*Data Browser
Miscelleanous Tools
*Networks
*Ideas
*Lunch
*Voip -
企业管理软件中,最常见的功能要求是数据访问。如员工信息查询修改,产品订单编辑等。其次是工作流开发。工作流是企业层级协作关系在软件中的体现,如请假单审批,销售订单审批等,在管理软件中都是以工作流来实现。再次是报表开发。系统中的数据,需要以各种形式汇总统计、输出到纸上,送交不同的人或机构。
classqingjia_qingjd(osv.osv):<br />_name = 'qingjia.qingjd'<br />_description = '请假单'<br />_columns = {<br />'shenqr':fields.many2one('hr.employee', '申请人', required=True),<br />'tians': fields.float('请假天数', required=True),<br />'kaisrq': fields.date('开始日期', required=True),<br />'shiyou': fields.text('请假事由'),<br />'active': fields.boolean('有效'),<br />'state': fields.selection([('draft','草稿'),('wait_prove','待批'),('proved','已批'),('rejected','被拒')], '状态', required=True)<br />}<br />qingjia_qingjd()
可能你也看出来了,这个代码中其实就是定义了请假单对象的几个字段。在OpenERP中,简单的对象,你只要定义对象的各个字段,系统会自动为你创建数据库表,自动生成CRUD的数据库操作代码。因此,只要上述代码,你不必另外在数据库中创建Table,也不必写Insert、Select、Delete、Update等数据库操作代码,这些都留给OpenERP帮你去搞定。
接下来是用户界面的开发,即View。OpenERP中,用户界面的开发不要写任何代码。它是用XML格式定义用户界面。如下是请假单查询界面和请假单编辑、审批界面。
[attach=1]
[attach=2]
这两个界面,在OpenERP中,你只要写如下几行XML即可。<br /><record model="ir.ui.view"id="view_qingjd_tree"><br /><field name="name">请假单</field><br /><fieldname="model">qingjia.qingjd</field><br /><fieldname="type">tree</field><br /><field name="arch"type="xml"><br /><tree string="请假单"><br /><field name="shenqr"select="1"/><br /><field name="tians"/><br /><field name="kaisrq"select="1"/><br /><field name="shiyou"/><br /><field name="state"<br />select="1"/><br /></tree><br /></field><br /></record><br /><!-- 表单视图代码从略 --><br />
最后是触发菜单的开发,在OpenERP中,叫做Action,也就是MVC中的C,Controller。OpenERP的Action也不用写代码,是用XML定义的。
[attach=3]
上述请假菜单,只需下述几行XML即可。<br /><!-- 菜单和Action --><br /><record model="ir.ui.menu"id="menu_qingjia_main"><br /><field name="name">请假申请</field><br /></record><br /><recordmodel="ir.actions.act_window"id="action_qingjia_myqingjd"><br /><field name="name">我的请假单</field><br /><fieldname="res_model">qingjia.qingjd</field><br /><fieldname="domain">[('shenqr.user_id','=',uid)]</field><br /></record><br />
-
补充一点:对于本例中的简单视图,甚至连用于描述视图的XML都不用写,系统会自动为你生成视图。
当然这样的视图很简单,死板,这里特别用来说明OpenERP的定制可以如此简单。 -
[b]采购[/b](purchasing):是指企业在一定的条件下从供应市场获取产品或服务作为企业资源, 以保证企业生产及经营活动正常开展的一项企业经营活动。根据各行业采购工作的通性和个性,可将采购管理工作分为四类:
[b]生产性采购[/b],就是采购这个物品是直接为了公司生产运营所需。而生产性采购又分为两类, 第1类是原材料性采购(MRP性物料采购)。所采购的此类物料是本企业所生产的产品的组成部分或中间体产品。第2类是零配件的采购(MRO性采购,就是维修,维护、修理、运作),这些零配件是为了保障机器能正常生产运作所需要的维修、更换配件。
[b]商贸性采购[/b],像沃尔玛这样的零售商,它们的采购不属于生产性采购,属于商贸性采购。商贸性采购和生产性采购最大的区别是,批发商、零售商在采购物品时,采购什么商品并不十分重要,重要的是采购的东西必须保证能赚钱。笔笔都得赚钱,不赚钱就没有必要采购进货。西瓜不赚钱,可以采购苹果。但是对于生产性采购来讲就不行,这个产品我们公司只能用这个原材料。我做饼干的,只能买面粉,不能说面粉太贵就不买了,不买就停产了。所以生产性并不保证每次采购都赚钱,而且采购的盈利性也不能直接反应出来的。
[b]一般日常用品性采购[/b],像办公用品采购,还有行政采购等。其特点是采购品类繁杂,但采购金额小。其所采购的物品主要是保障公司的正常行政办公所用。
[b]项目性采购[/b],有时候,我们的采购工作属于项目性采购,比如说买一台设备,盖一个车间等。项目性采购的主要特点是一次性。很少有重复性的采购。这就意味着每次采购的流程都得重新开始,以往的经验和关系很少能用到。
一般的ERP软件,都只支持生产性采购中的MRP性物料采购,专业采购软件,可能支持所有类型的采购业务。OpenERP的采购,主要也是MRP性物料采购。不过,可能存在其它模块支持别的采购管理,如办公用品的请领、采购。本书的采购,如不特别说明,指的是MRP性物料采购。
采购的日常工作有,接收采购计划、询价/议价、决定、下PO(采购单)、审核、跟催、收货、付款、退货。相关的单据有:请购单、采购计划、采购单、询价单,进货单等。简单的说,采购部门接收其它各部门的采购要求,定期汇总采购物品,作成采购计划。根据采购计划,分别和相应的供应商询价、议价。向选定的供应商下单(通常是传真,供应商签字后再回传回来)。而后跟踪供应商及时发货,货到后验货、入库。货有问题的话,要求供应商换货、退货。
采购的财务处理,供应商的发票送至财务部门。采购部门向财务部门申请付款,或者出具供应商签字确认过的采购单复印件至财务部门,代替付款申请。仓库收货后将入库单亦送至财务部门。财务部门凭此三单(采购部门的付款申请、供应商发票、仓库的入库单),核对三单一致后,记录会计帐务,制定付款计划,按计划付款。
当采用OpenERP后,典型的采购流程大致是这样的。采购员在系统中新建一张采购单,输入要采购的物品的规格型号、价格等,而后和供应商Email或电话沟通,进一步敲定价格等。采购员提交采购单,经理审批。审批后,采购员打印采购单,传真给供应商,供应商签字确认,回传。采购员点击采购单上的“供应商通过”按钮,表示供应商已确认。此时,系统自动生成2张单子,一是供应商凭证(Invoice),送至财务部门,财务部门据此审核供应商发票并安排付款计划。当财务收到供应商发票,确认供应商凭证后,系统会自动生成此采购业务对应的记账凭证。二是收货单(Incoming Packing List),送至仓管部门,仓管部门据此验货、收货。