当前位置:文档之家› OB开发手册中文版

OB开发手册中文版

OB开发手册中文版Contents[hide]1 简介∙ 1 简介∙ 1.1 开发概述∙ 1.2 开发方法∙ 1.3 组织开发工作∙ 1.4 标识符命名标准∙ 1.4.1 数据库元素∙ 1.4.2 MVC目录∙ 1.4.3 存储过程语法∙ 1.5 目录结构∙ 1.6 风格指南∙ 1.6.1 逻辑比较∙ 1.6.2 逗号分隔列表∙ 1.6.3 圆括号中的空格∙ 1.6.4 SELECT INTO和INSERT INTO∙ 1.6.5 SQL关键字∙ 1.7 编译程序∙ 1.7.1 命令行编译任务∙ 1.7.2 开发环境∙ 1.7.3 生产环境∙ 1.8 从源代码构建∙ 1.8.1 安装Subversion∙ 1.8.2 从Subversion中检出源代码∙ 1.8.3 快速构建指南∙ 1.9 集成开发环境∙ 2 Openbravo数据模型∙ 2.1 存储的数据库对象∙ 2.2 实体-关系(ER)图∙ 2.3 创建存储过程∙ 2.3.1 AD_PInstance和AD_PInstance_Para表∙ 2.3.2 存储过程的输入参数∙ 2.3.2.1 从AD_PInstance表中获取有用的信息∙ 2.3.2.2 AD_Update_PInstance存储过程∙ 2.3.2.3 例外和错误管理∙ 2.4 存储过程语法的建议∙ 2.4.1 通用规则∙ 2.4.1.1 游标∙ 2.4.1.2 数组∙ 2.4.1.3 ROWNUM∙ 2.4.1.4 %ROWCOUNT∙ 2.4.1.5 %ISOPEN,%NOTFOUND∙ 2.4.2 表∙ 2.4.3 函数∙ 2.4.4 存储过程∙ 2.4.5 视图∙ 2.4.6 触发器∙ 2.4.7 序列数∙ 2.4.8 命令∙ 2.4.9 支持PostgreSQL8.3∙ 3 修饰名称和描述内容的指南∙ 3.1 说明内容的修辞指南∙ 3.2 命名的修辞指南∙ 4 使用数据字典进行Openbravo的开发∙ 4.1 扩展数据模型∙ 4.1.1 在数据库中创建新的表∙ 4.2 在Openbravo ERP中注册新的表∙ 4.3 创建新窗口∙ 4.4 编译新窗口∙ 4.5 在Openbravo中增加新窗口的菜单∙ 4.6 更新数据库的XML文件∙ 4.7 用户消息∙ 5 使用MVC开发Openbravo∙ 5.1 基本工具∙ 5.2 创建新的手工窗口(表单和报表)∙ 5.3 创建callout∙ 5.4 用JasperReport创建报表∙ 5.4.1 使用JasperReport的报表模板∙ 5.4.1.1 报表模板∙ 5.4.1.2 子报表的用法∙ 5.4.1.2.1 使用jasper文件∙ 5.4.1.2.2 使用jrxml文件∙ 5.4.1.3 报表中的JA V A∙ 5.4.1.4 应用程序字典中的报表∙ 5.5 使用JasperReport导出表格∙ 6 国际化∙7 安全∙8 升级方法∙9 协同开发∙10 附录Contents[hide]1 简介∙ 1 简介∙ 1.1 开发概述∙ 1.2 开发方法∙ 1.3 组织开发工作∙ 1.4 标识符命名标准∙ 1.4.1 数据库元素∙ 1.4.2 MVC目录∙ 1.4.3 存储过程语法∙ 1.5 目录结构∙ 1.6 风格指南∙ 1.6.1 逻辑比较∙ 1.6.2 逗号分隔列表∙ 1.6.3 圆括号中的空格∙ 1.6.4 SELECT INTO和INSERT INTO∙ 1.6.5 SQL关键字∙ 1.7 编译程序∙ 1.7.1 命令行编译任务∙ 1.7.2 开发环境∙ 1.7.3 生产环境∙ 1.8 从源代码构建∙ 1.8.1 安装Subversion∙ 1.8.2 从Subversion中检出源代码∙ 1.8.3 快速构建指南∙ 1.9 集成开发环境∙ 2 Openbravo数据模型∙ 2.1 存储的数据库对象∙ 2.2 实体-关系(ER)图∙ 2.3 创建存储过程∙ 2.3.1 AD_PInstance和AD_PInstance_Para表∙ 2.3.2 存储过程的输入参数∙ 2.3.2.1 从AD_PInstance表中获取有用的信息∙ 2.3.2.2 AD_Update_PInstance存储过程∙ 2.3.2.3 例外和错误管理∙ 2.4 存储过程语法的建议∙ 2.4.1 通用规则∙ 2.4.1.1 游标∙ 2.4.1.2 数组∙ 2.4.1.3 ROWNUM∙ 2.4.1.4 %ROWCOUNT∙ 2.4.1.5 %ISOPEN,%NOTFOUND∙ 2.4.2 表∙ 2.4.3 函数∙ 2.4.4 存储过程∙ 2.4.5 视图∙ 2.4.6 触发器∙ 2.4.7 序列数∙ 2.4.8 命令∙ 2.4.9 支持PostgreSQL8.3∙ 3 修饰名称和描述内容的指南∙ 3.1 说明内容的修辞指南∙ 3.2 命名的修辞指南∙ 4 使用数据字典进行Openbravo的开发∙ 4.1 扩展数据模型∙ 4.1.1 在数据库中创建新的表∙ 4.2 在Openbravo ERP中注册新的表∙ 4.3 创建新窗口∙ 4.4 编译新窗口∙ 4.5 在Openbravo中增加新窗口的菜单∙ 4.6 更新数据库的XML文件∙ 4.7 用户消息∙ 5 使用MVC开发Openbravo∙ 5.1 基本工具∙ 5.2 创建新的手工窗口(表单和报表)∙ 5.3 创建callout∙ 5.4 用JasperReport创建报表∙ 5.4.1 使用JasperReport的报表模板∙ 5.4.1.1 报表模板∙ 5.4.1.2 子报表的用法∙ 5.4.1.2.1 使用jasper文件∙ 5.4.1.2.2 使用jrxml文件∙ 5.4.1.3 报表中的JA V A∙ 5.4.1.4 应用程序字典中的报表∙ 5.5 使用JasperReport导出表格∙ 6 国际化∙7 安全∙8 升级方法∙9 协同开发∙10 附录简介Openbravo是一款面向中小企业的纯WEB方式的可扩展的ERP软件。

她包括了基本的CRM (客户关系管理)、BI(商业智能)和一系列如采购、库存、项目、生产销售和财务管理等功能。

适用于物流、服务和生产制造等多个行业。

Openbravo可以定制以支持特定行业的功能和业务流程。

Opnebravo的许可证允许合作伙伴和开发者选择是否将自已的工作以开源许可证还是以私有许可证的方式发布。

我们鼓励合作伙伴和开发者以开源的方式与别人共享开发成果,也为Openbravo提供新的内容。

本手册的目的是给大家为客户定制新的功能提供指导。

开发概述以下列出了在Openbravo开发中使用的模型驱动开发方法的主要概念:∙应用字典:集中存放了定义的窗口、页签和字段的表。

∙应用菜单:程序左边的主菜单。

∙Callout(类似于触发器):用户操作一个窗口时系统响应的动作。

例如可以增加或减少可见的字段,或者根据输入系统的信息填定订单。

∙表单:手工制作的可以输入、修改或删除的窗口。

不同于标准窗口,表单允许复杂数据的输入和在多个位置输入数据。

∙MVC(模型-视图-控制器):将应用程序的数据、用户界面和流程分离的一种架构。

在Openbravo中MVC是这样实现的:∙模型部份是用Openbravo的SqlC实现的。

通过一个有标准SQL语句和参数的XML文件实现。

其中的参数是可选或必须的,可以很容易的生成SQL语句。

∙视图部份是用Openbravo开发的XmlEngine实现的。

XmlEngine是可以从一个XML/HTML格式的模板生成XML/HTML文档的工具。

∙控制器是从HttpBaseServlet继承的子类。

这些Servlet处理读取数据,使用SQLC生成的类与数据库交互和使用XmlEngine提供输出。

∙报表:显示从表中检索出来的数据或以预定义的格式和可视化的交互方式进行查询。

以pdf或html的方式显示请求的信息是一种简捷的方式。

报表可以用户希望的方式进行定制,通常用于展示全局形势或总结。

∙标准窗口:可以输入、修改和删除数据的自动生成的窗口。

窗口中的信息是由Openbravo按系统中的数据生成的。

∙窗口:应用程序用于管理数据的屏幕。

可以进行插入、更新或删除数据的操作。

Openbravo中有两种窗口:标准窗口和表单。

一个窗口可能会包含多个页签。

开发方法Openbravo是构建Openbravo ERP的开发平台。

正如架构总览中解释的开发可以理解为两层。

应用程序字典。

它存储了应用程序的所有窗口、表、列、进程、报表和它们的关系。

用户只要可以很方便的通过定义一个窗口、数据元素和报表并在应用程序字典中注册就可以增加一个新的功能,而无需一行代码。

大部份的Openbravo代码是从应用程序字典中自动生成的。

模型/视图/控制器。

当工作在这个层级时是可以通过Openbravo MVC开发框架完成任何改变的。

无论如何一个工具或功能不能通过数据字典调整时,都可以在MVC这个层级实现。

这通常意味着要开发一个新的JA V A类。

组织开发工作在开始开发一个新的功能时必须清楚什么东西必须完成。

下面几点对组织你的开发工作会有所帮助:∙应该提供哪些功能。

必须清楚哪些功能要实现。

∙尽量简单。

保持设计尽量简单并且能很好的与不同组件进行交互。

∙定义你的数据模型。

需要添加哪些表、列、关系和索引来存储数据以实现想要的功能。

∙定义用户界面。

用户如何使用新的功能。

按工业标准的可用性指南组织可视化的元素。

∙定义报表。

考虑哪些数据和你的用户有关和如何最好的呈现在报表中。

标识符命名标准数据字典命名制定一个清晰和固定的标准对于ERP系统是非常关键的。

按照这个命名标准就能保证Openbravo ERP的新版本不会因为与客户开发时使用的数据字典元素同名而产生冲突。

当自定义开发时,在每一个新的数据字典元素前加上CUS_的前缀。

例如,当为一个名为ACME的公司进行客户定制时,在数据字典元素名前加上CUS_ACM的前缀。

当开发一个垂直功能时,加上这个市场名前加上VER_的前缀。

例如,为房地产市场开发时使用VER_REA的前缀。

数据库元素命名新的表时加上特定的开发时的前缀。

例如你需要为ACME客户定制开发时需要增加一个DOCUMENT的表时你应该将该表命名为CUS_ACM_DOCUMENT。

这些表的字段可以按照字段命名转换(AD_CLIENT_ID,IsActive,Name,Descriptioin等)。

当在已有的表中增加新的字段时需要加上特定的开发时的前缀。

其他的数据库对象(存储过程,触发器等)也要加上开发时的前缀。

数据字典的注册IDs是由序列按开发时的顺序生成的,因而不会出现重复的IDs。

相关主题