OpenERP应用和开发基础(第二版)开班了
-
负责任的通知大家:本帖将成为本论坛最火爆的帖子,给楼主喝彩:victory:
-
OpenERP由比利时的“比尔.盖茨”Fabien Pinckaers所创建。Fabien Pinckaers 现年30岁,他13岁开始学习编程序,2002年当他还在Louvain-la-Neuve大学土木工程系学习时,创办了Tiny Sprl公司。Tiny Sprl公司总部位于有150年历史的比利时城市Louvain的近郊,那里有比利时最大的计算机学院,法语鲁文大学(Catholic)计算机系。下图为Fabien Pinckaers的近照,旁边的白色房子即为Tiny SPRL公司的总部。
[attach]347[/attach]Tiny Sprl公司的第一个产品就是开发Tiny ERP,即后来的OpenERP。OpenERP最初由Fabien Pinckaers一个人开发,现在,截至2009年底,Tiny Sprl公司有75名专职开发人员。官方发布的标准功能模块超过100个,由开源社区Open ObjectCommunity提供的功能模块超过500个。OpenERP的功能涵盖财务管理、采购/销售管理、库存管理、MRP、CRM、人力资源管理、销售点管理、项目管理等众多方面。OpenERP已经不仅仅是一个ERP软件,而是涵盖各个行业的、非常容易定制化的全面管理解决方案。OpenERP的核心和所有模块都是开放源代码的,你可以自由使用、修改和发布,只要你也保证开源即可。 现在,截至2009年底,OpenERP的用户群遍及45个国家,每天的下载量超过1000份。始于2008年的金融危机,各公司都开始考虑低成本的管理软件,给Tiny SPRL公司极大机遇。2009年上半年开始,Tiny SPRL公司的每个月的盈利以10%以上的速度增长。2009年上半年,公司盈利60万欧元。2009年底,公司获得300万欧元风投融资,结合自身资金,公司预计2010年投入400万欧元扩张规模。商业杂志趋势(Trends)预估,Tiny Sprl公司的获利将在2011年攀至1050万欧元。
[[i] 本帖最后由 NewZN 于 2010-3-2 13:48 编辑 [/i]]
-
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的定制可以如此简单。