用友开发,用友二次开发U8二次开发规范。

合集下载

用友U8_系统管理使用手册

用友U8_系统管理使用手册

用友U8_系统管理使用手册一、系统概述用友U8是一款功能强大的企业级管理软件,涵盖了财务管理、人力资源管理、供应链管理等多个方面。

系统管理是U8的核心模块之一,它负责整个系统的配置、维护和安全管理工作。

通过系统管理,用户可以方便地设置系统参数、管理用户权限、监控系统运行状态等。

二、系统参数设置1. 进入系统管理模块后,选择“系统参数”选项。

2. 在系统参数界面,用户可以设置公司的基本信息,如公司名称、地址、电话等。

3. 用户还可以设置系统的日期和时间格式,以及货币单位等。

4. 对于财务模块,用户需要设置会计科目、账套等信息。

5. 对于人力资源模块,用户需要设置员工信息、部门信息等。

6. 对于供应链模块,用户需要设置供应商信息、客户信息等。

三、用户权限管理1. 进入系统管理模块后,选择“用户管理”选项。

2. 在用户管理界面,用户可以添加新用户、编辑现有用户信息、删除用户等。

3. 用户还可以为每个用户分配不同的角色和权限,确保系统的安全性。

4. 用户角色包括系统管理员、财务人员、人力资源人员等,每个角色拥有不同的权限。

5. 用户权限包括查看、编辑、删除等操作权限,以及访问不同模块的权限。

四、系统监控1. 进入系统管理模块后,选择“系统监控”选项。

2. 在系统监控界面,用户可以查看系统的运行状态,如CPU使用率、内存使用率等。

3. 用户还可以查看系统的日志信息,了解系统的运行情况。

4. 如果系统出现异常,用户可以通过系统监控及时发现并解决问题。

5. 系统监控还可以帮助用户优化系统性能,提高系统运行效率。

用友U8_系统管理使用手册五、数据备份与恢复1. 数据备份是保障系统安全的重要措施。

在系统管理模块中,选择“数据备份”选项。

2. 用户可以设置自动备份计划,确保数据定期备份。

3. 手动备份也是可行的选择,用户可以随时触发备份过程。

4. 在“数据恢复”选项中,用户可以恢复之前备份的数据,以应对系统故障或数据丢失的情况。

用友开发,用友二次开发U8二次开发规范。

用友开发,用友二次开发U8二次开发规范。

用友开发,用友二次开发U8二次开发规范。

U8二次开发规范摘要目前U8产品越来越庞大,提供的应用与服务也越来越多样化。

公司整体的发展战略要求U8要成为一个能支持规模化交付的产品。

为了达到这样的目标,仅仅通过我们的水平产品是无法满足客户的行业化、个性化的要求的。

所以二次开发就成为一个能满足可以要求的填充剂,填补水平产品与客户的需求中的差异的空隙。

什么是二次开发?二次开发是与一次开发是相对应的,所以凡是由U8产品开发部提供的U8产品、套件以外的都应属于二次开发的产品。

从这个定义出发以下行为属于开发开发范畴。

分公司、大区的基于U8的开发行为。

第三方合作伙伴的基于U8的开发行为。

行业开发本部基于U8产品的开发行为。

主要的开发模式。

1.独立开发模式,独立于产品●模式描述:在开发过程中基本不利用U8产品的构件(只利用登录构件),开发成果形成单独的可执行文件及动态库,模块不需要与U8门户程序集成,二次开发模块的权限设置、功能升级、部署均独立于产品。

●优点:对产品的影响小,产品可升级性强,不受产品功能制约。

模块功能灵活度大,能够实现很复杂的功能。

●缺点:二次开发的模块产品风格与U8 产品风格差距较大,产品中一些很完善的功能(权限、打印、格式设置、输出等)不能被二次开发利用,打印、输出等基础功能需要重新开发,开发效率低。

●注意问题:如果使用了U8登录构件,在产品升级后,应测试登录构件是否向下兼容,如果不兼容要根据新版登录构件的使用文档对二次开发程序的登录部分作修改。

●禁止行为:为最大限度的保证产品的可升级性,禁止直接修改产品的系统数据表、视图、存储过程等数据库对象。

●适用需求:与产品关联度小,二次开发的功能与产品相对独立,属单独的功能需求,不影响产品的业务流程,但允许由产品中取数。

例如:在U8产品的基础上增加提成管理系统。

2.通过产品插件接口开发模式●模式描述:此模式的开发是利用产品开放的插件接口对原产品模块做功能扩展。

浅析与用友U8财务系统二次开发实现信息共享

浅析与用友U8财务系统二次开发实现信息共享

浅析与用友U8财务系统二次开发实现信息共享摘要在用友U8财务系统的应用过程中,需要与企业原有信息化系统进行有效连接,通过系统二次开发实现信息共享。

本文首先对用友U8财务系统二次开发设计需求进行分析,进而探讨系统功能设计方案与信息共享的实现,主要包括系统结构设计、主要功能的设计与实现、信息共享的实现与应用等。

关键词用友U8财务系统;二次开发;信息共享前言用友U8财务系统是目前国内使用较为广泛的企业级财务信息管理系统,其自身功能较为完善,可以为企业财务管理中的会计科目管理、成本管理和客户管理等提供支持。

但在应用过程中,需要实现与企业信息系统的对接,确保系统之间的数据共享和数据交换,让用友U8财务系统在独立运行的同时,充分满足企业财务管理的各方面需求,实现系统应用效益最大化。

1 用友U8财务系统二次开发需求分析为协调用友U8财务系统与企业其他管理系统的关系,实现系统集成,在对用友U8财务系统进行二次开发时,主要应满足以下几方面需求:①确保不同系统之间的基础编码数据保持一致,包括科目、地区、客户、供应商、部门和人员编码等,从而实现系统之间的互联互通和有效的信息交换;②确保业务数据和财务数据的一致性,企业大型信息化管理系统主要包括办公室自动化系统、设备管理系统、客户关系管理系统和采购管理系统等,这些系统与用友U8财务系统在数据上要实现有效对接;③确保采购、库存、销售和成本核算等内容和流程与用友U8财务系统的一致性,实现系统功能集成,避免重复性建设,节约系统开发成本。

除上述要求外,还要保证系统之间的信息共享程度和信息安全,确保系统的运行效率、数据交换效率能够满足用户使用需求,避免對业务处理产生影响[1]。

2 系统功能设计与信息共享实现2.1 系统结构设计在系统结构设计方面,需要构建中间数据库,解决系统之间的数据交换问题。

具体应在用友U8财务系统数据库服务器上构建中间数据库,如果需要进行数据交换,各方使用者可以直接访问中间数据库,实现数据共享。

用友开发,用友二次开发U8开发之BS门户集成。

用友开发,用友二次开发U8开发之BS门户集成。

U8 BS门户集成-子产品二次开发1Silverlight子产品1.1代码实现1.继承门户基类NetModule,重载方法 Login() LogOff() Initialize()SubSysLogin()}2.继承门户基类 NetUesrControl 重载方法 CreateControl,CreateToolbar等请参考实例UFIDA.U8.Portal.Demo.rar1.2数据库预置数据1.1.1UA_IDT表DELETE FROM ua_idt WHERE ID='EE'Insert into ua_idt(id,assembly,catalogtype,type,class,entrypoint,parameter,reserved)values('EE','EE/UFIDA.U8.Portal.Demo.dll',1,0,'UFIDA.U8.Portal.Demo.D emoLoginable','EE','','Module')'Portal/UFIDA.U8.Portal.Demo.dll'表示部署到”U8Soft\U8SL\EE”目录下1.1.2菜单表Delete from ua_menu where cMenu_id='EE'insert intoua_menu(cMenu_id,cMenu_name,cmenu_Eng,cSub_id,iGrade,cSupMenu_id,bEnd Grade,cAuth_id,iOrder,iImgIndex,Paramters,Depends,Flag,isWebFlag) values('EE','示例',null,'EE','0','SCMG',0,null,10,1,null,null,null,2)delete from UFMENU_BUSINESS_LANG where MenuId='EE'INSERT INTO UFMENU_BUSINESS_LANG(MenuId,Caption,Localeid)values('EE','示例','zh-cn')INSERT INTO UFMENU_BUSINESS_LANG(MenuId,Caption,Localeid)values('EE','示例','zh-tw')INSERT INTO UFMENU_BUSINESS_LANG(MenuId,Caption,Localeid)values('EE','EE','en-us')Delete from ua_menu where cMenu_id='EE01'Insert intoua_menu(cMenu_id,cMenu_name,cmenu_Eng,cSub_id,iGrade,cSupMenu_id,bEnd Grade,cAuth_id,iOrder,iImgIndex,Paramters,Depends,Flag,isWebFlag) values('EE01','示例',null,'EE','0','EE',1,null,10,1,null,null,null,2)delete from UFMENU_BUSINESS_LANG where MenuId='EE01'INSERT INTO UFMENU_BUSINESS_LANG(MenuId,Caption,Localeid)values('EE01','示例','zh-cn')INSERT INTO UFMENU_BUSINESS_LANG(MenuId,Caption,Localeid)values('EE01','示例','zh-tw')INSERT INTO UFMENU_BUSINESS_LANG(MenuId,Caption,Localeid)values('EE01','EE01','en-us')1.1.3预制子产品IF NOT EXISTS(select*From ua_subsys_base where csub_id='EE') BEGINinsert into ua_subsys_base([cSub_Id],[cSub_Name],[iTasks],[bInstalled],[iVersion],[cObjCreate], [dStart],[nType],[cEntType],[localeid],[iOrder])values('EE','测试子产品',0,'0',8.7,'CreateCom',Null,64,Null,'en-US',30)insert into ua_subsys_base([cSub_Id],[cSub_Name],[iTasks],[bInstalled],[iVersion],[cObjCreate], [dStart],[nType],[cEntType],[localeid],[iOrder])values('EE','测试子产品',0,'0',8.7,'CreateCom',Null,64,Null,'zh-CN',30)insert into ua_subsys_base([cSub_Id],[cSub_Name],[iTasks],[bInstalled],[iVersion],[cObjCreate], [dStart],[nType],[cEntType],[localeid],[iOrder])values('EE','测试子产品',0,'0',8.7,'CreateCom',Null,64,Null,'zh-TW',30)END1.3部署1.将UFIDA.U8.Portal.Demo.dll及其依赖的组件放到U8Soft\U8SL\ClientBin\EE2.执行D:\U8SOFT\U8SL\ClientBin\手动生成依赖\生成依赖.bat,自动生成依赖关系1.4在基础设置中启用子产品1.5客户端与服务端通信1.1.4自己实现1.1.5使用BS门户提供的WCF方式。

用友开发,用友二次开发U8开发之UAP表单。

用友开发,用友二次开发U8开发之UAP表单。

UAP表单一、功能概述UAP表单为U8产品增加了自定义单据和档案的能力。

并为单据和档案提供了全方位的功能支持,包括:增、删、改、查、打、审、格式设计。

在实施过程中,可以为用户定制个性化的单据和档案。

1、UAP表单据包括BS表单和CS表单。

两者的区别只是在客户端的展现形式不同。

CS表单适用于局域网,BS表单适用于局域网和互联网。

2、使用UAP定义的单据,可以实现多子表、多布局视图。

3、使用UAP定义的档案,支持复杂档案、列表档案、树型编辑档案(形如部门档案)、树形导航档案(形如人员档案)4、使用UAP定义的档案可以在U8单据格式设置中引用5、UAP提供了完善的插件机制,用于个性化开发。

UAP表单允许开发人员进行扩展性和取代性的开发工作。

二、核心特性1.支持树形结构的业务实体。

2.支持业务模型的一个实体对应多个视图,一个视图只能对应一个业务实体。

3.支持一个业务实体属性对应多个视图控件。

4.丰富的客户端展现:多子表、分组、页签。

5.表单和业务模型是一对一的关系。

6.与门户集成。

7.视图在表单上支持自由布局。

8.业务逻辑层(M)、界面层(V)、业务逻辑和界面之间的控制层(C)互相分离。

9.支持运行时多语。

10.支持用户自定义控件。

三、集成的开发工具及案例1、开发工具概述a)用户通过开发工具实现单据的通用性定制,如单据名称,主子表名称,主子表列的名称、类型等属性,单据的格式设置等。

b)集成开发环境中BS单据和CS单据的开发步骤和过程都是相同的。

2、操作步骤1、UAP登录2、建立项目3、建立表单4、建立实体关系5、增加实体属性6、设计单据布局7、单据发布8、在U8中显示表单四、二次开发接口说明4.1开发接口概述在集成开发环境中已经可以实现自定义单据和档案的增、删、改、查等通用操作,但更加个性化的操作和业务逻辑,就需要通过代码调用接口,可以在下面操作的接口中实现。

4.1二次开发流程1)安装Microsoft Visual Studio2)创建一个C# 类库(.dll)项目3)为项目添加引用:⏹UFIDA.U8.Framework.Error⏹UFIDA.U8.UAP.UI.Runtime.Model⏹mon4)添加一个类,并实现接口IReceipt⏹public class PurchaseOrder : IReceipt5)实现业务逻辑6)编译工程,得到一个dll7)在UAP设计时中注册dll。

用友开发,用友二次开发U8开发之自动纬度扩展开发案例。

用友开发,用友二次开发U8开发之自动纬度扩展开发案例。

U8开发之自动纬度扩展客户化开发案例应用场景描述“U8公共平台”产品从V10.1版本起支持在单据中显示部分基础档案的相关属性,既维度扩展,支持维度扩展的档案范围包含:存货、供应商和客户等。

本文档举例说明如何利用U8公共平台维度扩展二次开发常用的组件、接口。

通过对GSP管理“行业模板初始化”二次开发功能事件及接口的学习,掌握相关的客户化开发技术,可以在U8产品的基础上实现单据中档案维度扩展的灵活应用。

概念说明维度扩展:如果在单据中预置相关档案的属性不足以表达用户需要的信息,根据客户需要系统还支持扩展显示档案的其他相关属性。

运行环境支持本文档的VB代码范例在VB6.0SP6环境下调试通过,U8开发环境为U8V11.1,同时请安装U8公共平台以VI结尾的补丁支持。

其他低于V11.0的版本不做支持。

在GSP管理“行业模板初始化”客户化开发实例本节举例说明如何在GSP管理的“行业模板初始化”客户化开发实例。

实现的目标功能:通过行业模板初始化功能实现对支持维度扩展的单据自动完成扩展相关得维度属性信息,并将扩展成功后的信息设置显示在单据的模板界面中。

实现的功能比较简洁,主要目的是说明如何自动纬度扩展功能,并将扩展数据显示在单据模板中。

实现效果:概要需求:GSP质量根据一些医药行业的要求,需要更新很多单据模板及列表的显示项,为实现快速实施需要,行业产品提供了行业模板初始化功能,自动实现按规范的需要设置单据模板的信息。

客户化开发实现方法:在VB6.0中建立“ActiveX DLL”动态链接库工程,如下图:选择ActiveX DLL项目。

点击“打开”后,工程建立完成。

添加一个Form窗体选择窗体项目。

点击“打开”后,窗体添加完成。

添加相关控件(添加窗体控件如下文窗体描述),并将窗体更名为frmTradeInit。

此窗体中添加的控件如下,内容如下:frmTradeInit.frm实现扩展自定义项需要安装U8公共平台以VI结尾的补丁支持。

U8二次开发参考手册(审批流)

U8二次开发参考手册(审批流)

U871 审批流帮助文档文档控制修改记录审阅人存档目录1工作流系统框架与运行原理 (3)1.1工作流基本概念 (3)1.2U8工作流系统结构 (3)1.2.1U8工作流系统部署 (3)1.2.2工作流系统中各模块交互 (4)2实施帮助 (5)2.1阅读对象 (5)2.2实施环境 (5)2.3实施流程 (5)2.3.1单据准备与数据表准备 (5)2.3.2业务对象配置(UAP数据引擎配置) (5)2.3.3审批业务对象设定 (11)2.3.4审批流程图配置 (18)2.3.4.1 审核节点设置 (18)2.3.4.2 流程发起事件设置 (21)2.3.4.3 多级审批条件设置 (23)2.3.4.4 备注 (25)3开发帮助 (25)3.1阅读对象 (25)3.2开发环境 (25)3.3开发准备 (25)3.4开发流程 (26)3.4.1审批流程——提交 (26)3.4.2审批流程——撤销 (31)3.4.3审批流程——审批 (34)1 工作流系统框架与运行原理1.1 工作流基本概念工作流系统是以规格化的流程描述作为输入的软件组件,它维护流程的运行状态,并在人和应用之间分派活动。

流程定义(process definition)和流程实例(process instance). 一个流程定义是一个业务流程或过程的规格化描述。

一个流程实例是流程定义的一个运行实体。

安装在U8应用服务器上。

用户可根据实际需要,在引擎服务器上部署新的工作流引擎,并将其加入到已有的工作流运行环境中。

U8客户端需要部署工作流管理控制台、流程设计器、审批管理中心、审批功能客户端接口和业务部门开发的、参与工作流系统的业务部件。

1.2.2工作流系统中各模块交互工作流系统的使用过程分为三个阶段:设计时、配置时、运行时;设计时阶段需要完成流程模型设计;配置时阶段需要完成工作流系统运行环境的配置、工作流模型发布及版本管理等工作;运行时阶段需要负责发起和完成流程实例等工作。

用友U870二次开发手册篇

用友U870二次开发手册篇

用友U8开发一月通用友U8平台技术部ERP事业部产品市场推广部2007年1月总策划:郉艳凯主编:张劲涛、李正、侯关士撰稿:陈鸿远、鞠进步、唐丰、胡景峰、郑芸、郑子阳、王振骞、陈文海、罗文印、吴小山、李东、蔡再安、廖年兵、蒋志全审校:姜炜、胡春钰、魏勇、阚宇鸣谢衷心感谢U8产品本部邓适宜总经理为本书所做的指导和点评衷心感谢ERP事业部向奇汉副总裁为本书的传播所给予的关注衷心感谢U8平台技术部、U8总体设计部、U8供应链开发部、U8财务开发部、U8行业开发部、ERP事业部产品市场推广部在本书的写作推广过程中给予的大力支持和帮助目录目录 (3)开篇导读 (9)第一篇:U8开发模式介绍 (10)第一节 U8开发模式 (10)第二节 U8二次开发模式 (10)2.1 U8二次开发 (10)2.2 UAP开发 (10)第二篇:U8二次开发 (11)第一节:应用程序框架简介 (11)第二节:门户开发与集成 (11)一、功能概述 (11)二、名词解释 (11)2.1菜单调整工具 (11)2.2 idt.dll文件 (11)三、如何开发可与门户集成的VB dll (12)3.1代码修改 (12)3.2常见问题 (16)3.3参考 (16)3.4挂接菜单 (18)四、如何开发可与门户集成的.NET User Control (18)4.1通过建立一个项目类型为类库的项目 (18)4.2 实现接口IUserControl (19)4.3 编译该控件输出DLL (21)4.4 替换文件 (21)3.5示例源程序代码 (21)五、可执行文件(EXE)如何挂接到门户 (22)六、UAP表单和UAP列表如何挂接到门户 (23)七、如何不使用菜单调整工具增加和修改菜单 (25)7.1 相关表结构 (25)7.2各种程序类型的增加方法 (26)八、应用习题 (28)第三节:界面设计与开发 (28)3.1 档案开发 (28)功能介绍: (28)使用环境: (29)使用说明: (29)应用案例: (29)应用技巧: (29)应用习题: (29)相关控件:参照/列表/MDIExtend (29)3.2 单据开发 (29)功能介绍: (29)使用环境: (30)使用说明: (30)应用案例: (39)应用技巧: (41)应用习题: (41)3.3 打印控件 (41)功能介绍: (41)使用环境: (42)使用说明: (42)应用案例: (54)应用技巧: (54)应用习题: (55)3.4 凭证开发 (55)功能介绍: (55)使用环境: (55)使用说明: (56)应用案例: (59)应用技巧: (61)应用习题: (61)相关控件:凭证控件 (62)第四节:业务功能开发 (62)4.1 加密控制 (62)功能介绍: (62)使用环境: (62)使用说明: (62)应用案例: (66)应用习题: (67)4.2 功能权限控制 (67)功能介绍: (67)使用环境: (67)使用说明: (67)应用案例: (73)应用技巧: (74)应用习题: (74)4.3 数据权限控制 (75)功能介绍: (75)使用环境: (75)使用说明: (75)应用案例: (83)应用技巧: (84)应用习题: (84)第五节API应用 (84)5.1 库存部分 (84)功能介绍: (84)使用环境: (84)使用说明: (85)应用案例: (86)应用技巧: (88)应用习题: (88)5.2 采购部分 (88)功能介绍: (88)使用环境: (88)使用说明: (89)应用案例: (97)应用技巧: (98)应用习题: (98)5.3 销售部分 (98)功能介绍: (98)使用环境: (99)使用说明: (99)应用案例: (101)应用技巧: (103)应用习题: (103)第六节EAI开发 (103)第一节 EAI功能介绍: (103)第二节 EAI二次开发模式: (103)第三节导入导出数据格式标准: (105)第四节支持哪些基础档案和业务单据的的导入导出 (108)第五节凭证的导入 (112)第七节工作流 (113)功能介绍: (113)使用过程: (113)开发帮助 (113)第八节插件式开发 (143)功能介绍: (143)使用环境: (143)使用说明: (144)应用案例: (144)应用技巧: (144)应用习题: (144)第三篇:UAP应用开发 (145)第一节:UAP功能介绍 (145)第二节:UAP安装与卸载 (146)第三节:UAP应用环境及流程 (146)第四节:项目定义 (146)4.1 使用项目 (146)4.2 项目的导入导出 (147)4.3 任务管理 (148)第五节:表单管理 (148)5.1 应用开发 (148)5.1.1 UAP表单模型 (148)5.1.2 表单结构设计 (149)5.1.3 布局视图设计 (154)5.2 表单二次开发接口 (157)功能介绍: (157)使用环境: (158)使用说明: (158)应用案例: (171)应用技巧: (176)应用习题: (176)5.3 列表二次开发接口 (177)功能介绍: (177)使用环境: (177)使用说明: (177)应用案例: (181)应用习题: (181)5.4 后台服务二次开发 (181)功能介绍: (181)使用环境: (182)使用说明: (182)应用案例: (184)应用技巧: (185)应用习题: (186)第六节:报表管理 (186)6.1报表概述 (186)6.2 使用报表 (187)使用说明: (187)应用习题: (190)6.3 报表二次开发接口 (190)使用说明: (190)应用习题: (197)第七节:单据转换规则 (197)功能介绍: (197)使用环境: (197)使用说明: (197)应用技巧: (199)第八节:产品发布 (199)UAP项目发布 (199)功能介绍: (199)使用环境: (200)使用说明: (200)二次开发DLL部署 (201)使用环境: (201)使用说明: (201)应用案例: (202)应用技巧: (203)应用习题: (203)第九节:其它功能介绍 (203)1、参照 (203)参照设计器 (203)参照组件 (213)2、菜单设计器 (239)3、应用角色 (239)功能介绍: (239)使用说明: (240)4、数据引擎定义工具 (240)功能介绍: (240)使用说明: (241)备注: (263)应用技巧: (263)应用习题: (263)5、商业敏感数据工具 (264)功能介绍: (264)使用说明: (264)应用技巧: (267)应用习题: (267)6、栏目设计器 (267)功能介绍: (267)使用说明: (267)应用技巧: (269)应用习题: (269)7、过滤设计器 (269)功能介绍: (269)使用说明: (269)应用技巧: (274)应用习题: (275)第四篇:开发技巧 (276)第一节:MSSQL2000脚本生成器 (276)功能介绍: (276)使用环境: (276)使用说明: (276)应用案例: (276)应用技巧: (276)应用习题: (276)第二节:单据模板预置工具 (277)功能介绍: (277)使用环境: (277)使用说明: (277)应用案例: (277)应用技巧: (277)应用习题: (277)第三节:年结易用性工具 (277)功能介绍: (277)使用环境: (277)使用说明: (278)应用案例: (278)应用技巧: (278)应用习题: (278)第五篇:习题解答 (279)开篇导读今天,企业种类多样,业务流程更加复杂,ERP包含的功能越来越多,长期以来,ERP 厂商一直都在努力,试图开发一个能满足各种企业的各种业务的ERP系统,但是,客户的业务流程总是会变,客户的需求总是层出不穷,变化的速度远远超过了ERP厂商推出新版本或开发新产品的速度,ERP厂商疲于奔命,即使使尽浑身解数也吃力不讨好。

U8数据库开发规范-二次开发

U8数据库开发规范-二次开发

U8二次开发数据库开发规范一、数据库命名规则1.表、视图、存储过程、用户定义的函数、索引✧前缀尽量大写;✧使用英文命名;✧尽量用完整的词,单词的第一个字母大写;对象的名称应尽量表明具体使用的含义下表XX 代表对象内容。

2.表、视图等字段命名表、视图中字段都用英文命名,一般字段命名规则如下:✧数据类型的简写为小写字母前缀;✧后面是该字段的名称描述,应尽量表明字段含义、使用完整单词;如果名称描述多个单词组成,每个单词的第一个字母都大写✧具有特殊含义的后缀结尾。

例:iMaxInCost(存货总账-最小入库成本单价)| |_____________ 含义,;单词第一个字母大写|_________________ 数据类型是浮点数(目前大多数使用Decimal)数据类型规范:特殊字段,特殊含义字段命名规范注:以前有些不是按以上规则设计的,今后再添加的请按这些规则添加。

●数据类型的选用尽可能使用变长类型(除非数据列长度的确是固定的)。

变长类型只存储列中实际含有的内,检索需要扫描的页会减少。

创建字符类型字段请使用UNICODE数据类型字段,使用nvarchar、nchar、ntext替换varchar、char、text类型,在插入和查询时候使用N’’。

二、数据库语言规范1.触发器规范由于数据表触发器容易产生很多数据库问题,一般情况下禁止使用触发器。

请使用系统API的前后事件进行代码编程。

2.视图规范●不能在视图上创建视图,视图不能产生视图;●禁止通过视图修改数据;●禁止修改系统视图;●用注释说明视图的作用;●应尽量使用SQL Server 的视图生成器产生视图;●视图中不要有ORDER BY 排序语句;●视图中不要使用UNION联合视图;●禁止使用“Select * from ……”,“Select T.* ……”等语句;●注意缩进,格式清楚;●所有关键字要大写;●字段逗号,运算符等操作符之间有空格相隔;例子:CREATE VIEW[dbo].[V_IA_rdrecords32]/*销售出库单未记账单据*/ASSELECT Rdrecord.bRdFlag,rdrecord.CBusType,Rdrecord.cBusCode,ode AS cVouCode,rdrecords.AutoID AS ID,Rdrecords.iquantity,rdrecords.iunitcost,rdrecords.iprice,Rdrecords.cVouchCode AS cBatchCode,Rdrecords.cbaccounter AS cAccounter,rdrecord.cMaker,CAST(NULL AS TINYINT)AS bFlag,CAST(NULL AS BIT)AS bMoneyFlag,(CASE WHEN rdrecord.cVouchType=N'32'THEN1ELSE0END)as bSale,rdrecord.cDefine1,rdrecord.cDefine2,rdrecord.cDefine3,rdrecord.cDefine4, ..........................................................FROM rdrecords32Rdrecords INNER JOIN rdrecord32rdrecord ON rdrecords.id=rdrecord.id and isnull(rdrecords.cbaccounter,'')=''LEFT JOIN WareHouse ON WareHouse.cWhcode=rdrecord.cWhCodeLEFT JOIN SO_SODetails ON rdrecords.iorderdid=SO_SODetails.isosid And rdrecords.iordertype=1--销售订单LEFT JOIN SO_SOMain ON so_sodetails.id=so_somain.id ..................................................................................3.存储过程规范●编写存储过程原则✧将每个存储过程完成一项单独的任务;✧存储过程可以调用存储过程;✧存储过程可以调用自定义函数;✧存储过程中禁止使用全局性质的临时表;●代码书写规范✧在创建存储过程的开始处应有注释,说明该存储过程的功能,存储过程的输入、输出参数的含义。

浅析用友U8财务系统二次开发实现与HIS信息共享

浅析用友U8财务系统二次开发实现与HIS信息共享

浅析用友U8财务系统二次开发实现与HIS信息共享概述随着信息化趋势的发展,医院信息化建设已经成为了当前的重头戏。

为了提高医院管理工作的效率,降低医疗错诊率以及提高医疗服务质量,各大医院也在建立自己的信息化平台。

其中医院信息系统(HIS)和财务系统是最为关键的两类系统之一。

本文将着重介绍用友U8财务系统的二次开发实现,以及如何与HIS实现信息共享,极大的提高医院的行政效率。

用友U8财务系统概述用友U8是一款非常知名的企业管理软件,其财务系统是其中最为重要的模块之一,主要解决企业内部财务管理、会计核算、税务管理、资金管理、预算管理等问题。

用友U8财务系统作为目前市场上领先的财务软件,具有以下的特点:1.功能丰富,能够满足企业内部大部分财务管理需求。

2.稳定可靠,极少出现系统故障和重大漏洞。

3.易于使用,运行稳定、响应速度快,并且具有丰富的帮助文档。

4.支持灵活的二次开发,支持企业根据自身业务需求进行系统定制开发,基于这些特点,用友U8财务系统在中国市场享有非常高的知名度和市场份额,得到广大企业和机构用户的青睐。

用友U8财务系统二次开发实现用友U8财务系统是以B/S模式进行设计的,即基于浏览器的三层体系结构,分为客户端、服务器及数据库三个层次。

根据实际业务需求的不同,用友U8财务系统还可以通过进行二次开发进行定制化设计,提高其系统可用性以及实现某些特殊业务功能。

二次开发实现有几种方式,比如通过、C#.NET等方式进行扩展开发。

下面介绍具体的二次开发实现流程:第一步:调用API开发用友U8财务系统提供了丰富的API,可以用于二次开发,比如增加新的菜单项、增加栏目、增加按钮等操作,因此可以通过API的调用来实现二次开发。

具体操作流程如下:1.首先需要重新定义一些类,要开发的项目中这些类通常都会使用到,含API帮助类、快速批量操作、中间业务维护等。

2.安装U8智能WEB开发工具,在运行开發模式之後进入开发界面,之后你就可以根据自己的需求进行二次开发了。

用友U8UAP二次开发

用友U8UAP二次开发
U872产品培训 --UAP表单
用友软件股份有限公司 侯关士 hgs@ 2008年 10月 26日
总体课程安排
Unit Unit Unit Unit Unit Unit Unit Unit 1 2 3 4 5 6 7 8 概述 支持附件 支持工作流审批 运行时布局视图定制 UAP生单规则 其他新增功能 案例演示 总结
前提是U8单据的单据模板已经转换成了UAP单据元数据 872版本已经转换了三十多个U8单据
可以设置比较字段
只有比较字段的值相同的源单据才能转换到同一张目标单据上 例如只有客户相同的销售订单才能生成到一个发货单上 如果要实现单到单生单可以把单据编号设置为比较字段
Unit5 UAP生单规则 2of3
支持转换公式
模式二
附件数量不可预期
单独为附件创建一个实体,作为内容实体的子实体,附件实体可以增行,这样内
容实体的一行记录可以有任意多个附件。
Unit3 UAP表单支持工作流审批
UAP发布单据时, 自动把单据元数据发 布到工作流设计器中, 建立审批业务对象 在工作流设计器中为UAP单 据设计审批流程,设计方法和 U8已有 的单据一样 UAP已经预置了通用的审批插件和终审服务程序。 用户也可以参考工作流开发规范,开发自己的审批 插件和终审服务,来满足个性化的审批要求
从源字段到目标字段可以实现复杂的逻辑运算转换
支持中间实体
中间实体存储转换的中间结果 如果源单据到目标单据的转换过于复杂,不能够一步到位,可以 使用中间实体。
支持映射和汇总两种转换方式
映射:是简单的源字段到目标字段的对照 汇总:可以支持聚合、最值、均值、SUM等操作。
钩稽字段设置
对于数值型的源字段,可以约束总的转换量不能超过源字段的量。 如按单生产的情况下,多次下达生产的产量不能超过源订单的订 购量。订购量要设置为钩稽字段。

用友U8UAP二次开发

用友U8UAP二次开发

订货会订单生成销售订单
在U8门户中定制 订货会订单 的格式
Unit 8 总结----C.I.O.特性
Complete(完整)---完整表单解决方案
增、删、改、查、打、存、审 单据和档案 单据编号 多子表 附件、多行文本 生单 运行时定制
Integration(集成)
与U8紧密集成门户 工作流 权限 数据库(1、U8数据库 2、数据库技术隔离) 安装与部署
U872产品培训 --UAP表单
用友软件股份有限公司 侯关士 hgs@ 2008年 10月 26日
总体课程安排
Unit Unit Unit Unit Unit Unit Unit Unit 1 2 3 4 5 6 7 8 概述 支持附件 支持工作流审批 运行时布局视图定制 UAP生单规则 其他新增功能 案例演示 总结
Unit6 其他
数据结转
可以选择结转时是否复制数据(如基础档案的数据) 可以设置复制数据的条件(结转哪些数据,如单据的数据) 提供sql脚本导出工具,用于部署
表单脚本导出 基础资料返回值和显示值分离
用于保存值不易让用户理解的情况,如保存档案的主键值,显示时向用户显示名 称
引用的档案数据不允许删除
前提是U8单据的单据模板已经转换成了UAP单据元数据 872版本已经转换了三十多个U8单据
可以设置比较字段
只有比较字段的值相同的源单据才能转换到同一张目标单据上 例如只有客户相同的销售订单才能生成到一个发货单上 如果要实现单到单生单可以把单据编号设置为比较字段
Unit5 UAP生单规则 2of3
支持转换公式
从源字段到目标字段可以实现复杂的逻辑运算转换
பைடு நூலகம்
支持中间实体

U8数据库开发规范-二次开发

U8数据库开发规范-二次开发

U8二次开发数据库开发规范一、数据库命名规则1.表、视图、存储过程、用户定义的函数、索引✧前缀尽量大写;✧使用英文命名;✧尽量用完整的词,单词的第一个字母大写;对象的名称应尽量表明具体使用的含义下表XX 代表对象内容。

2.表、视图等字段命名表、视图中字段都用英文命名,一般字段命名规则如下:✧数据类型的简写为小写字母前缀;✧后面是该字段的名称描述,应尽量表明字段含义、使用完整单词;如果名称描述多个单词组成,每个单词的第一个字母都大写✧具有特殊含义的后缀结尾。

例:iMaxInCost(存货总账-最小入库成本单价)| |_____________ 含义,;单词第一个字母大写|_________________ 数据类型是浮点数(目前大多数使用Decimal)数据类型规范:特殊字段,特殊含义字段命名规范注:以前有些不是按以上规则设计的,今后再添加的请按这些规则添加。

●数据类型的选用尽可能使用变长类型(除非数据列长度的确是固定的)。

变长类型只存储列中实际含有的内,检索需要扫描的页会减少。

创建字符类型字段请使用UNICODE数据类型字段,使用nvarchar、nchar、ntext替换varchar、char、text类型,在插入和查询时候使用N’’。

二、数据库语言规范1.触发器规范由于数据表触发器容易产生很多数据库问题,一般情况下禁止使用触发器。

请使用系统API的前后事件进行代码编程。

2.视图规范●不能在视图上创建视图,视图不能产生视图;●禁止通过视图修改数据;●禁止修改系统视图;●用注释说明视图的作用;●应尽量使用SQL Server 的视图生成器产生视图;●视图中不要有ORDER BY 排序语句;●视图中不要使用UNION联合视图;●禁止使用“Select * from ……”,“Select T.* ……”等语句;●注意缩进,格式清楚;●所有关键字要大写;●字段逗号,运算符等操作符之间有空格相隔;例子:CREATE VIEW[dbo].[V_IA_rdrecords32]/*销售出库单未记账单据*/ASSELECT Rdrecord.bRdFlag,rdrecord.CBusType,Rdrecord.cBusCode,ode AS cVouCode,rdrecords.AutoID AS ID,Rdrecords.iquantity,rdrecords.iunitcost,rdrecords.iprice,Rdrecords.cVouchCode AS cBatchCode,Rdrecords.cbaccounter AS cAccounter,rdrecord.cMaker,CAST(NULL AS TINYINT)AS bFlag,CAST(NULL AS BIT)AS bMoneyFlag,(CASE WHEN rdrecord.cVouchType=N'32'THEN1ELSE0END)as bSale,rdrecord.cDefine1,rdrecord.cDefine2,rdrecord.cDefine3,rdrecord.cDefine4, ..........................................................FROM rdrecords32Rdrecords INNER JOIN rdrecord32rdrecord ON rdrecords.id=rdrecord.id and isnull(rdrecords.cbaccounter,'')=''LEFT JOIN WareHouse ON WareHouse.cWhcode=rdrecord.cWhCodeLEFT JOIN SO_SODetails ON rdrecords.iorderdid=SO_SODetails.isosid And rdrecords.iordertype=1--销售订单LEFT JOIN SO_SOMain ON so_sodetails.id=so_somain.id ..................................................................................3.存储过程规范●编写存储过程原则✧将每个存储过程完成一项单独的任务;✧存储过程可以调用存储过程;✧存储过程可以调用自定义函数;✧存储过程中禁止使用全局性质的临时表;●代码书写规范✧在创建存储过程的开始处应有注释,说明该存储过程的功能,存储过程的输入、输出参数的含义。

U8二次开发教程

U8二次开发教程

U8二次开发教程背景目前U8产品越来越庞大,提供的应用与服务也越来越多样化。

公司整体的发展战略要求U8要成为一个能支持规模化交付的产品。

为了达到这样的目标,仅仅通过我们的水平产品是无法满足客户的行业化、个性化的要求的。

所以二次开发就成为一个能满足可以要求的填充剂,填补水平产品与客户的需求中的差异的空隙。

二次开发定义及范畴二次开发是与一次开发是相对应的,所以凡是由U8产品开发部提供的U8产品、套件以外的都应属于二次开发的产品。

从这个定义出发以下行为属于开发开发范畴。

⏹分公司、大区的基于U8的开发行为。

⏹第三方合作伙伴的基于U8的开发行为。

⏹行业开发本部基于U8产品的开发行为。

二次开发模式分析目前我们的二次开发处于缺乏管理状态。

由于U8软件缺乏足够的开发性,导致二次开发人员能利用的手段和方法非常有限。

同时由于U8每年都需要年结,造成二次开发的数据需要手工结转。

甚至有些是利用原代码进行的修改,这种方式会因为版本升级而造成功能实效。

以下列出了主要的开发模式。

1.独立开发模式,独立于产品●模式描述:在开发过程中基本不利用U8产品的构件(只利用登录构件),开发成果形成单独的可执行文件及动态库,模块不需要与U8门户程序集成,二次开发模块的权限设置、功能升级、部署均独立于产品。

●优点:对产品的影响小,产品可升级性强,不受产品功能制约。

模块功能灵活度大,能够实现很复杂的功能。

●缺点:二次开发的模块产品风格与U8 产品风格差距较大,产品中一些很完善的功能(权限、打印、格式设置、输出等)不能被二次开发利用,打印、输出等基础功能需要重新开发,开发效率低。

●注意问题:如果使用了U8登录构件,在产品升级后,应测试登录构件是否向下兼容,如果不兼容要根据新版登录构件的使用文档对二次开发程序的登录部分作修改。

●禁止行为:为最大限度的保证产品的可升级性,禁止直接修改产品的系统数据表、视图、存储过程等数据库对象。

●适用需求:与产品关联度小,二次开发的功能与产品相对独立,属单独的功能需求,不影响产品的业务流程,但允许由产品中取数。

U8二次开发-基础篇

U8二次开发-基础篇

Select Case Val(x) Private Sub cmdCreateXML_Click() Case 1 Dim oEle As IXMLDOMElement Print “Value Is 1” End Select Do Code Private Sub Test() End Sub Msgbox “This is a test sub” Private Sub AnotherSub Next
VB应用讲解(规范)
强制显式声明模块中的所有变量 Option Explicit 变量一定要在前面声明
Private Dim Dim Dim If A = B Then A=A+1 End IF
适当的换行
注意缩进
While A < 100 A=A+1 Sub cmdCreateXML_Click() ‘Xml 标准元素 Wend oEle As IXMLDOMElement ‘Xml 根节点 oRoot As IXMLDOMElement For i = 1 to 100 oNode As IXMLDOMNode A = A + 1 ‘Xml 标准节点 Next
标准前缀: EF_项目_IX_XXXX 标准前缀: EF_项目_CK_XXXX
SQL应用讲解
常用命令
SP_Who SP_Lock Kill Sp_ID DBCC InputBuffer(SP_ID) DBCC SHRINKDATABASE DBCC SHRINKDB DBCC SHRINKFILE DBCC SHOWCONTIG DBCC REINDEX DBCC INDEXDEFRAG 检查进程 检查锁 删除进程 检查进程内容 收缩数据库 收缩数据库 收缩数据和日志文件 扫描表密度 重建数据库索引 重建数据库索引

U8-EAI二次开发说明

U8-EAI二次开发说明

企业应用集成工具(EAI)二次开发1.概述U850企业应用集成工具(EAI)是U850与外部系统的数据接口,EAI提供了一些组件,可以在这些组件的基础上进行二次开发(以下简称“EAI二次开发”),实现与外部系统的集成。

不同系统集成的关键是遵循共同的数据标准,U850根据自己系统提出了一套数据标准,包括各种单据和基础档案,外部系统如果要和U850集成则必须遵循这一标准。

这套标准用XML 描述,因此数据流都为XML格式。

EAI二次开发可分为两种模式:注意:文中所有编程都以VB为例一、直接利用EAI管理工具。

在开始菜单中选择企业应用集成工具,登录企业应用集成主界面。

在这里可以将U850数据以标准XML文件的形式导出U850数据库或将标准XML数据文件导入U850系统。

二次开发程序员只需编写一个工具将标准XML数据文件进行适当转换写入外部系统或取出外部系统数据写成标准XML数据文件。

(参看EAI安装目录\xml\Samples\下的例子)数据流程如下:这种开发模式比较简单,优点是:充分利用EAI工具提供的功能,编程简单;缺点是:只能提供批量导入导出功能。

二、利用EAI提供的组件,进行灵活的二次开发。

包括两种方式:本地COM方式、Internet方式。

1)本地COM方式:这种方式可根据开发者的需要批量处理或者实时处理。

接口调用非常简单,简化了编程。

开发者只需将标准数据传入接口,如下:Set Obj=CreateObject(U8Distribute.iDistribute)Str = obj. Process(sXml)sXml为标准数据串,具体格式后面会说明。

2)Internet方式:.Open "Post",_name & “import.asp", True //指定服务器ASP.send dom.xml //把xml数据发送到服务器端strRet= .responseText //strRet :返回的xml格式的回执信息2.数据格式标准EAI可以导入导出的数据范围包括:Ø总帐§凭证§银行对账单Ø工资管理§人员档案§工资项目数据Ø固定资产§固定资产卡片Ø成本管理§材料消耗数据Ø资金管理§资金内部结算单Ø应收管理§应收单§收款单Ø应付管理§应付单§付款单Ø采购管理§采购订单§采购到货单§采购发票Ø销售管理§销售订单§发货单§销售发票§销售发票_导入到内部结算单Ø库存管理§入库单§出库单§库存量Ø基础档案§部门档案§职员档案§地区分类§客户分类§客户档案§供应商分类§供应商档案§存货分类§存货档案§结算方式§付款条件§开户银行§仓库档案§收发类别§销售类型§计量单位§计量单位组§产品结构§采购类型§成套件§费用项目§发运方式§货位档案§自定义项档案§项目§会计科目§外币§凭证类别§常用摘要提示:EAI安装目录\xml\Operation\dir.xml保存了相关定义下面一个例子是从U8导出的部门档案的片断:<?xml version="1.0" encoding="gb2312" ?><ufinterface sender="001" receiver="u8" roottag="department" docid=".533424" proc="Query" codeexchanged="N" exportneedexch="N" display="部门档案" family="基础档案" billtype=""> <department><code>1</code><endflag>0</endflag><name>综合处</name><rank>1</rank><manager/><prop>管理兼技术</prop><phone/><address/><remark/><creditline/><creditgrade/><creditdate/><offergrade/><offerrate/></department><department><code>109</code><endflag>1</endflag><name>厂办公室</name><rank>2</rank><manager/><prop>管理</prop><phone/><address/><remark/><creditline/><creditgrade/><creditdate/><offergrade/><offerrate/></department>…………</ufinterface>EAI中所有的标准数据文件都有类似于上例的结构,首先,有一个名为ufinterface的元素,ufinterface再有若干个子元素组成,不同应用的子元素有不同的格式。

用友U8二次开发API接口

用友U8二次开发API接口
获取BO对象
API内容—开发步骤(6.2)
Step6. 获取返回结果
获取普通返回值
获取普通“OUT型”或“INOUT型”返回值
➢ 如前所述,对普通“OUT型”或“INOUT型”参数,如果是一般值类型, 则通过GetResult方法获取其返回值,否则直接使用该引用。
联系方式
TEL: 010-62436992 / 13359013599 MAIL:ahzzd@
使用环境
必须安装.NET Framework 2.0; 必须安装U8-872版本的供应链采购、销售和库存管理产品。
API内容—详细开发步骤(1)
Step1. 构造U8Login对象并登陆
声明和创建U8Login类对象前应该先引用U8API类库中的Interop.U8Login.dll 代码如下:
注意:如果当前环境中有login对象则可以省去第一步。
用友用
API浏览查找 API调用过程 API典型应用场景
API内容
整体介绍 详细开发步骤
简介
U8API
是为U8客户化应用开发提供的一套标准化的U8ERP业务编程接口。
U8API资源管理器
U8API通过“U8API资源管理器”对U8范围内所有API进行集中统一分类管 理,形成了一套完整的U8API资源库。U8API的使用者可以使用“U8API资 源管理器”浏览、查看API及其接口定义,并可辅助进行代码生成(目前支 持C#和VB语言); U8API的开发者可以通过此工具发布、注册API,所有业 务API都必须在“U8API资源管理器”中进行注册。
的地址标识(Url)和环境上下文
代码如下:
API内容—详细开发步骤(4.1)
Step4. API对象参数赋值

用友二次开发项目报价统一标准方案

用友二次开发项目报价统一标准方案

用友二次开发项目报价统一标准方案一、报价标准1.开发人员(按熟练开发人员的标准天/人费用,制定下列标准):U8ERP和U8分销、NC的二次开发标准统一,考虑到U8ERP二次开发升级问题,对应的二次开发的人工天成本,要略高NC的二次开发费用水平。

2.开发经理、系统分析员:报价计算工具参考《项目二次开发预算表.xls》3.其他注:1、按人天收费,标准制定的主要依据为人均负担的全成本(工资、福利、市场、运营等等费用)。

2、以上报价中不含标准产品模块及操作系统、数据库等第三方产品的报价。

3、涉及项目组人员(含用户人员和开发人员)的差旅、食宿费用由用户负担或另行单独计算。

4、培训资料的印刷、培训场地等费用由用户负担。

5、如须另行培训本项目以外的其他软件(如操作系统、数据库维护等),则培训费另谈。

二、二次开发维护期约定1.免费维护二次开发成果验收后,免费维护3~6个月。

免费维护的内容:涉及到二次开发模块有关的产品技术支持和技术支持协调。

二次开发模块的Bug修改。

非免费维护的内容:功能易用性修改,新添加需求。

2.收费维护免费维护期过后,需要有偿维护。

(1) 按年收取维护费用:二次开发产品金额的10万以下:30%的原二次开发费用作为年收取维护费用二次开发产品金额的10万以上:20%的原二次开发费用作为年收取维护费用维护内容:功能易用性修改,累计不超过20个工作日的新添加需求开发工作。

超过部分,按二次开发人工天标准8折,收取新模块开发的费用。

产品维护,按产品维护费用另计算。

如果同时交纳产品维护费用和二次开发维护费用,二次开发维护费用给予8折。

(2) 按次收取维护费用:按对应的开发的人工天标准8折,收取单次维护的费用。

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

U8二次开发规范摘要目前U8产品越来越庞大,提供的应用与服务也越来越多样化。

公司整体的发展战略要求U8要成为一个能支持规模化交付的产品。

为了达到这样的目标,仅仅通过我们的水平产品是无法满足客户的行业化、个性化的要求的。

所以二次开发就成为一个能满足可以要求的填充剂,填补水平产品与客户的需求中的差异的空隙。

什么是二次开发?二次开发是与一次开发是相对应的,所以凡是由U8产品开发部提供的U8产品、套件以外的都应属于二次开发的产品。

从这个定义出发以下行为属于开发开发范畴。

⏹分公司、大区的基于U8的开发行为。

⏹第三方合作伙伴的基于U8的开发行为。

⏹行业开发本部基于U8产品的开发行为。

主要的开发模式。

1.独立开发模式,独立于产品●模式描述:在开发过程中基本不利用U8产品的构件(只利用登录构件),开发成果形成单独的可执行文件及动态库,模块不需要与U8门户程序集成,二次开发模块的权限设置、功能升级、部署均独立于产品。

●优点:对产品的影响小,产品可升级性强,不受产品功能制约。

模块功能灵活度大,能够实现很复杂的功能。

●缺点:二次开发的模块产品风格与U8 产品风格差距较大,产品中一些很完善的功能(权限、打印、格式设置、输出等)不能被二次开发利用,打印、输出等基础功能需要重新开发,开发效率低。

●注意问题:如果使用了U8登录构件,在产品升级后,应测试登录构件是否向下兼容,如果不兼容要根据新版登录构件的使用文档对二次开发程序的登录部分作修改。

●禁止行为:为最大限度的保证产品的可升级性,禁止直接修改产品的系统数据表、视图、存储过程等数据库对象。

●适用需求:与产品关联度小,二次开发的功能与产品相对独立,属单独的功能需求,不影响产品的业务流程,但允许由产品中取数。

例如:在U8产品的基础上增加提成管理系统。

2.通过产品插件接口开发模式●模式描述:此模式的开发是利用产品开放的插件接口对原产品模块做功能扩展。

开发成果形成单独的动态链接库,模块功能不能单独使用,一般由产品模块通过插件接口依据插件注册信息自动调用。

二次开发模块的权限设置、功能升级、部署均独立于产品。

●优点:利用插件方式开发,对产品影响小,产品可升级性强。

插件机制可以规范二次开发模块的开发方式,插件产品重用性强,功能配置灵活。

●缺点:受产品插件接口开放程度的限制,目前只有库存模块提供了二次开发插件接口,其他模块还未提供,而库存模块也只提供了单据保存、审核、明细行双击等部分事件的插件接口,面对用户多种多样的二次开发需求,产品的插件接口开放程度还很不够。

●注意问题:插件开发应完全符合U8产品提供的插件二次开发规范,尽量采用与产品一致的开发语言(VB6.0)做插件,保证插件数据库操作与产品的数据库操作在同一事务中。

●禁止行为:●适用需求:客户需求与产品模块结合紧密,需要基于某一产品模块做功能扩展,尽量采用插件方式。

目标针对目前的开发现状现我们分几个方面制定开发行为规范,以此规范开发人员的行为,告诉二次开发人员哪些行为是安全的,哪些行为是危险的。

U8二次开发行为规范1、独立模块开发规范利用VB或其他开发工具开发独立的模块是目前一般的开发行为,这种开发方式对U8的依赖最低,藕合度小,受到的升级的影响也最小。

在目前U8开发性比较低的情况下这是一种合理的选择。

但是这种方式无法做到与系统的无缝结合。

在UI的风格上也有可能造成较大的差异。

开发分以下阶段进行。

●需求调研阶段:调研规范:二次开发调研不同于产品功能调研,客户提出的需求有可能代表一类行业的应用方式,但也有可能为该客户独有的需求。

要求二次开发人员必须仔细分析客户提出需求的原因,首先确定是否可以通过软件以变通的方式实现用户的需求,确认没有其他解决方案后才可定义为二次开发需求。

需求规范:对于典型行业的二次开发的需求,且符合集团行业开发部做行业项目支持的条件,需要遵循行业开发部提供的二次开发需求模板编写二次开发需求文档。

需求文档要严格按照模板内容逐项编写,特别要注意业务算法、数据精度、效率要求等设计相关的内容一定要作深入调研。

对于分公司负责开发的项目,也可以参照行业开发部提供的二次开发需求模版进行需求编写,作为下一步设计、研发的指导性文档。

二次开发需求完成后,首先要经过用户确认,然后提交项目组召集相关需求、设计、研发人员进行需求评审,需求确认后即可进行设计、研发工作。

●设计阶段:设计原则:1)需求设计一致性:二次开发模块设计必须满足软件需求说明书的所有要求,包括所有功能要求、性能要求和其它要求。

软件需求说明的变化与软件设计说明书的变化必须保持一致。

变化不能随意进行,应置于严格的配置管理之下,对于软件需求确认后的变更要严格控制,避免二次开发周期过长。

2)数据结构独立性:对于二次开发的模块禁止修改产品系统表数据结构及相关视图、存储过程、触发器等数据对象,最大限度的保证产品的可升级性。

二次开发新建数据对象的命名规则应遵从二次开发数据对象命名规范。

3)数据一致性、合法性:设计过程中要考虑二次开发模块与相关产品模块数据的一致性。

首先要保证产品的数据安全,尽量避免直接新增或修改系统数据表的记录。

如果确实需要维护系统数据表的记录,尽量采用产品开放的业务组件操作数据库记录,保证数据的完整性、合法性。

4)产品化原则:对于有可能产品化或插件化的二次开发需求,在设计时要考虑二次开发模块的通用性、可推广性。

二次开发模块要达到易安装、易使用、易维护的设计要求。

尽量使用U8产品使用的构件,需要向集团申请模板编号、模块编号,避免和产品冲突。

●编码阶段:1)尽量采用与产品模块开发语言一致的开发语言。

2)首先VB语言编码规范遵循U8产品使用的VB编码规范,见附件。

利于二次开发模块的产品化。

其他开发语言编码规范也可参照VB的编码规范执行。

3)其次,作如下补充:注释规范:模块开头说明:增加“相关产品模块及本模块与产品模块的关系”、“作者单位”、“作者电子邮箱”、“适用产品版本”4)配置管理工具可采用SourceSafe作配置管理。

2、二次开发项目命名规范U8中使用的产品有自己的规范,产品以大写的英文字母表示如AR应收系统,该产品下的子产品用产品的字母开头后面接字母或数字AR101设置,AR10101初始设置,在门户的中的显示为树的形式,其中AR为AR101的父节点,AR101为的父节点。

其他新产品的起名,或二次开发的产品的起名必须遵循上面的规则,并不能和已有的产品名称相重,下面是在U8中以使用的产品名称及相应的对应的关键字。

对于二次开发项目需要确认项目编号,在以后定义菜单、组件名称、数据库命名时必须在相关的位置遵循此规范。

规范如下:客户化开发项目的开头必须是EF,然后是项目名,如EFNF表示是二次开发南孚项目。

此长度不能超过6位。

3、二次开发菜单命名规范✧二次开发项目的菜单命名开头是项目名如:EFNF。

✧一级产品名称长度为2位,如:EFNF01。

✧二级产品名称长度为2位, 如:EFNF0101。

✧三级产品名称长度为2位, 如:EFNF010101。

✧无论是独立的二次开发子产品还是在标准产品下增加二次开发菜单都要求遵循此规范。

✧总长度为不能超过14位。

4、二次开发权限命名规范权限和菜单命名要求一致,字面必须大写。

5、关键项目命名规范【UAP项目】UAP产品在使用前都需要先定义一个项目,此项目必须遵循二次开发项目命名规范。

【单据、打印模板】单据打印模板数据的CardNum字段的前缀必须是项目编号,后面的预置可以自由定义。

如:EFNF001【栏目模板】栏目预置在Meta库中,其cKey字段的前缀必须是项目编号,后面的预置可以自由定义,cProjectNO字段值不能是U870,必须使用项目号。

如:EFNF001【过滤模板】过滤预置在Meta库的flt_defineMeta_Base表中,其FilterID字段的前缀必须是项目编号,后面的预置可以自由定义,ProjectNO字段值不能是U870,必须使用项目号。

如:EFNF001【数据引擎】✧实体名称必须以项目号和下划线作为前缀,并以ENT作为结尾。

如EFNF_CGDD_ENT✧业务对象名称必须以项目号和下划线作为前缀,并以BO作为结尾。

如EFNF_CGDD_BO【参照】✧参照的编号必须以项目编号和下划线为开头如:EFNF_Customer。

U8的开发规范1、代码规范1.1、VB程序组件命名规范VB组件命名需要在组件前面增加项目编号,如:EFNFCustomer.dll1.2、VB程序开发规范参见附件《VB代码规范.chm》1.3、.Net程序命名空间规范U8 U8的命名空间规范应遵守.Net Framework规范的,在分段部分不完全一样,U8的规范分为至少4段,即EF.项目号.U8.1.分别为二次开发名段:EF2.总产品名段:项目号.U83.小产品名段,服务框架:指定产品模块名称和服务的框架,如AppSvr--应用服务器,Workflow工作流服务器,Sale销售管理, Stock库存, Framework等含义比较清晰的词或词组,不要用很难理解的太简单或太冗长的词或词组4.界面层次名段:UI—User Interface,UIP—User Interface Processes,CI—Client Side Interface,SI—Server Side Interface,BF—Business Façade,BO—Business Object, DAO—Data Access Object, DO—Data Object5.对后续的段不做要求。

1.4、.Net程序开发规范参见附件《20031008 U8 NET 代码规范.pdf》2、数据库规范参见数据库开发文档。

3、COM+开发规范3.1、Com+组件规范⏹无状态性开发的接口组件,最好不要具有公共属性,公共字段,不允许具有静态成员,静态方法。

⏹可序列化接口组件的接口类型必须可被序列化,及返回类型,参数类型必须是可被序列化的类型。

特别注意的是,当你使用集合类型或DataSet的时候,你需要确保运行时,它里面所包含的类型必须能够被序列化。

⏹out参数不允许使用out参数,可以使用ref参数代替。

⏹内部引用接口组件的接口上所引用的类型,最好在其他的程序集中实现,最好不要在自己程序集中实现,因为如果是在自己内部实现,如果使用了自定义类型,那就不能写在你的接口程序集里,因为如果这样,就增加了CI对程序集自身的依赖性,这样CI被部署到客户端,程序集自身也要被部署到客户端了,但是CI和程序集同名,无法放在一起。

但是生成工具也会尝试生成,不过将略去初始值(只具有默认值),移除内部逻辑代码(方法,属性中的逻辑)。

如果在接口程序集中声明了一些类型,而在接口类中没有引用,那么生成工具将忽略(移除)这些类型。

相关文档
最新文档