U9插件开发集成
U9-UBF应用开发手册2011
用友U9-UBF应用开发手册V2.5前言UAP(Universal Application Platform)是用友公司为开发新一代面向服务(Service-Oriented Architecture, SOA)的世界级商业应用套件产品(U9)而精心打造出来的ERP软件生产平台。
通过UAP平台,使企业信息资源变得可重用、透明化,并且系统具有高可扩展性,让业务处理更加高效、简洁、安全。
UAP平台为用户提供了一个统一的集成开发环境,用户可以使用包括模型设计、UI设计、报表设计、规则设计、数据库设计、BI设计等各方面的设计器,并通过可视化的界面和友好的交互操作,自动生成用户所需要的各种功能控件。
使得大型的企业级商业应用软件第一次实现了技术与业务关注点的分离,并且通过快速的动态业务建模与服务组装技术,实现了企业动态业务的快速部署与应用,真正实现了“随需而变”的实时企业与全球商务的企业信息化价值理念。
UAP(Universal Application Platform)平台是用友软件经过多年的技术积累和知识沉淀,在微软.NET相关规范和标准的基础上,提供完全支持基于领域语言(DSL)的模型驱动开发(MDD)模式,为各种复杂的企业级商业应用系统提供专业、安全、高效、可靠的开发、部署和运行企业管理应用软件的开发工具平台。
它主要包括:应用运行平台(UBF)、应用开发平台(UBF Studio)和组件化发布平台。
➢UBF(UFIDA Business Framework)实现与操作系统、数据库、.Net Framework、Office、WMI、.Net Compact Framework、MSMQ 等底层核心技术的调用与协作,通过屏蔽底层的复杂实现,提高企业应用软件的灵活性、可扩展性和开放性。
针对开发ERP软件的特点,提供了一套适用的类库、框架以及具有扩展性的通用解决方案。
有效地降低了开发工作的难度和工作量。
在系统交付、安装和部署后,支撑业务系统的解析和执行;提高应用软件的可定制性与可集成性。
U9研发体系(报表开发过程)
用友软件股份有限公司研发过程U9研发体系报表开发过程文件编号:版本号:V1.0修改状态:编写人:陈宇/吴运刚审核人:批准人:批准时间:2008.07版本记录版本修改与参与人修改时间修改原因修改概述审核人1.0 陈宇吴运刚2008/6/20 原始文档建立陈宇 2008/8/7 增加测试人员的单元测试验证1目的z定义报表的开发、单元测试、代码审查/评审等工作过程z通过执行定义的过程,能够给报表开发人员提供工作指导,并使报表的开发过程能够得到有效的控制2适用范围本过程适用于:z部门/人员:U9从事报表开发的人员、报表总体组、技术经理等。
z业务:报表应用开发、单元测试、代码审查/评审。
3角色与职责过程中涉及以下关键角色:Roles 角色Responsibilities职责Memo备注项目经理z制订报表的开发计划。
z监控工作计划的执行。
z组织和安排代码审查/技术评审,保证代码审查/技术评审能够按时、保质进行,保证项目组上下游相关成员参与。
z落实报表开发人员修改设计验证、代码审查/技术评审中发现的问题。
报表开发人员z理解需求和设计z根据需求和设计文档开发报表程序z执行本地构造、单元测试z修改代码审查/技术评审、单元测试中发现的bug报表总体组z制定报表开发规范z开发报表公共组件和样例代码z进行代码审查/技术评审业务组件开发人员z提交报表相关的业务组件,如报表调用的BP、服务等测试人员z进行单元测试验证构造员z将报表程序从开发流提交集成流z执行持续构造z执行报表组件自动化测试的任务测试中心z对报表组件自动测试结果进行监控。
z风险评估。
技术经理z负责对报表组件代码进行审查,以确保开发技术规范、标准的切实执行。
SQA z对报表组件开发过程的规范行进行审计;z对开发计划的进度执行情况进行监控。
4过程活动过程活动图示如下:流程说明:Activities 活动Description说明Roles角色制订开发计划z依据整体开发进度要求,组织制订报表的开发,明确各项任务、资源、时间要求等等。
用友U9开发模式解析
用友U9开发模式解析第一篇:用友U9开发模式解析2009年10月,e-works Research对用友U9 2.0版进行了一次评估。
本文对U9的开发模式的评估结果进行解析。
传统的软件开发过程是首先调研客户需求,分析客户需求,包括个性化需求,再进行系统分析、系统设计和代码编程、最后形成产品功能和相应的产品模块。
这样的软件开发过程使得该软件无法复制到令一个企业中,也无法对软件进行分割和重组。
在U9的开发过程中,用友一开始并未直接陷入传统的产品开发模式,而是花了半年以上的时间,借鉴国际先进的管理理念,结合本土企业的管理实际,从以往积累的多个客户当中提炼出了不同企业的业务模式,然后以业务模式为导向,来搭建U9的整体软件架构。
图表1:U9产品开发模式在软件开发前对业务模式的归纳,好处在于开发完成的产品涵盖了多个行业、多个企业的运行模式,而不是针对某一个企业,这样可以很好的支持多个企业80%以上的ERP标准功能,剩下的20%产品功能可以通过灵活的业务组件来完善,而不是系统开发完成后,陷于无休止的开发、修改、打补丁当中。
U9将IT与业务融合,从累积到得客户业务模式中提炼出300多个模型,一一进行分析,抽象出每个服务,通过这些服务的组合,来完成最后整体的流程。
这种组件化的建模可以随需而变,能够剖析业务模式,将其分解成独立的组件。
即首先将企业业务从业务层面、流程层面、管理层面、范围层面,四个层面切割,进而又对每个层面的业务进一步细分,层层细分下来,最终形成了U9的服务组件。
因为在开发构成中,开法人员发现流程可以给客户带来价值,他们将这个价值变成模型库、组件库,然后通过角色化的交互界面来实现。
图表2:U9企业服务组件化建模图表3:组件化业务模式范例同时,由于U9是全新开始做的新一代ERP产品,所以研发人员在做U9开发之前,首先做了一个开发平台UAP。
它是在微软技术上架设的企业应用平台,是一个完全支持模型驱动的、体现SOA架构的开发平台。
U9研发体系(查询过滤条件API参考手册)
U9研发体系(查询过滤条件API参考手册)文件编号:U9-SE-××-SPEC-××适用版本:U9 V1.5 UBF2.0修改状态:编写人:李东滨审核人:目 录1. 类型 (3)1.1 FilterDefine 过滤条件模型 (3)1.2 DefaultValue 默认值定义 (6)1.3 FilterValue 过滤条件值 (7)1.4 RangeEnabled 使能控制 (9)1.5 RangeEnabledExpression 使能条件 (9)1.6 Reference 条件参照定义 (10)1.7 ReferenceObject 描述参照内容的参照对象 (11)1.8 EnumeratorKeyPair 枚举键值对 (12)1.9 EnumeratorKeyPairs 枚举键值对集合 (13)1.10 RefCondition 参照条件 (14)1.11 EnumRestrict 枚举约束 (15)1.12 RefConditions 条件参照项集合 (15)1.13 FilterBuilder 查询条件构造器 (16)2. 枚举 (19)2.1 enuOperatorLogicType (19)2.2 enuOperatorType (19)2.3 enuOperatorListType (20)2.4 FilterDataType (20)2.5 enumFilterValueType (20)2.6 enuSelectOptionType (21)2.7 enuReferenceType (21)2.8 enuFilterItemType (21)2.9 enuFilterLevelType (21)2.10 enuPageOfInputFilterValueType (22)2.11 SimpleOperator (22)2.12 enuNodeExpandType (22)1. 类型概要所在程序集:UFSoft.UBF.Report.Filter.FilterModel.dll命名空间:UFSoft.UBF.Report.Filter.FilterModel1.1 FilterDefine 过滤条件模型属性1public int ID名称:ID语法:说明:过滤条件的唯一标识2public string Name名称:名称语法说明:过滤条件名称3public string FullPath名称:在树结构中的路径语法说明:记录过滤条件在过滤条件树中的全路径4public string Expression名称:条件字段表达式语法说明:最后形成where子句时候的左表达式5public string Label名称:显示标题语法说明:条件显示标题6public bool Visible名称:条件是否显示语法说明:该条件在条件树中是否显示7public FilterDataType DataType名称:条件数据类型语法说明:为FilterDataType枚举类型8public DefaultValue DefaultValue名称:条件默认值说明9public Reference Reference名称:条件参照定义语法说明:记录有关条件参照的信息,包括枚举条件和参照条件等10public List<enuOperatorListType> OperatorList名称:固定操作符列表语法说明:该条件支持的条件比较符11public FilterDefines SubFilters名称:子条件项列表语法说明:指该条件项下的子条件项,在树结构中表示一个条件项节点下的子节点12public enuFilterLevelType Level名称:条件级别属性语法说明:为enuFilterLevelType枚举类型【即是基本条件还是高级条件】13public enuFilterItemType Type名称:条件类型语法说明:为enuFilterItemType枚举类型【目录或条件项】14public bool Fixed名称:是否为必输项目语法说明15public string Tag名称:条件标记语法说明16public bool AllowBlank名称:是否允许为空语法说明17public bool IsJudgeBlank名称:是否对不可为空的条件项进行判读处理语法说明18public bool IsBuildWhereStr名称:是否参与条件构造语法说明:是否形成最后的where子句19public string ParentID名称:父条件项ID说明20public bool PopulateOnDemand名称:是否懒加载语法说明21public bool ChildIsAllLoad名称:子条件项是否加载语法说明22public RangeEnabled RangeEnabledDefine名称:使能条件定义语法说明23public bool RaiseChangeEvent名称:是否触发事件语法说明:当该条件项的值发生变化后是否触发事件24public string EntityFullName名称:实体全名语法说明25public enuNodeExpandType NodeExpandType名称:节点展开类型语法说明26public bool Auto名称:是否DataCommand自动生成语法说明27public FlexFieldValueSetDef FlexFieldValueSetDef 名称:当节点为描述性弹性域的值集定义信息语法说明28public string DescFieldContextValue名称:描述性弹性域的上下文值语法说明29public bool ViriantCtrlEnabled名称:设置值对话框中的变量控件是否可用语法说明30public string DescartesPath名称:该条件项的笛卡尔路径说明方法1public FilterDefine()名称:FilterDefine的构造函数语法:说明:2public object Clone()名称:复制对象自身语法:说明:3public void GetObjectData()名称:获取对象数据语法:说明:实现ISerializable接口成员4public override string ToString()名称:重写的基类的ToString方法语法:说明:返回字符串为FilterDefine的Name加FullPath属性1.2 DefaultValue 默认值定义属性1public bool IsContext名称:是否采用“变量”机制语法:说明:是的话这里面的Values会被解释为上下文字段2public enuOperatorListType RelationOperator名称:关系比较符语法:说明:3public List<string> Values名称:条件的默认值定义语法:说明:4public List<string> Labels名称:语法:说明:5public List<ReferenceValue> ReferenceValues名称:语法:说明:方法1public DefaultValue()名称:默认值构造函数语法:说明:1.3 FilterValue 过滤条件值属性1public int FilterItemID名称:条件项ID号语法:说明:2public bool IsClearByEnabled名称:是否根据使能清空语法:说明:3public enuOperatorListType LogicOperator名称:逻辑操作符ID语法:说明:4public string LeftBracket名称:左括号语法说明5public string Name名称:条件值名称语法:说明:6public enuReferenceType ReferenceType名称:在FilterValue中加上参照的类型语法:说明:在FilterValue中加上参照的类型,为解决条件构造中一些特殊的情况,如枚举型is null及小于操作符等的处理,要考虑-1的情况7public enuOperatorListType RelationOperator名称:关系操作符ID语法:说明:8public string RightBracket名称:右括号)语法:说明:9public enuPageOfInputFilterValueType PageType 名称:描述当前条件值是从那一页签输入语法:说明:10public ValueContext Values名称:条件值集合,只读属性语法:说明:11public enumFilterValueType ValueType名称:条件值类型语法:说明:方法1public void AddValue(string value)名称:追加条件值语法:说明:2public string GetValue()名称:取得第一个条件值语法:说明:3public string GetValue(int index)名称:取得条件值语法:说明:根据index取得相应的条件值4public List<string> GetValues()名称:取得条件值集合语法:说明:5public void SetValue(int index, string value)名称:设置具体条件值语法:说明:设置第index的条件值为value6public void SetValues(List<string> values)名称:设置条件值集合语法:说明:7public string GetSecValue()名称:取得第二个条件值语法:说明:8public int ValueCount()名称:条件值数量语法:说明:9public override string ToString()名称:输出到字符串语法:说明:10public void FromString(string value)名称:从字符串输入语法:说明:1.4 RangeEnabled 使能控制属性1public List<RangeEnabledExpression> ExpressionList 名称:使能条件表达式集合语法:说明:2public List<SimpleOperator> LogicTypeList名称:逻辑比较符集合语法:说明:1.5 RangeEnabledExpression 使能条件属性1public string DefineName名称:要定义的使能条件名称语法:说明:2public enuOperatorListType Operator名称:使能操作符语法:说明:3public List<string> ValueList名称:使能比较定义的值集语法:说明:4public bool UnDefined名称:是否未定义标识语法:说明:可以设置当条件没有设置值时,被影响的控件是否可用;默认是没值时,可用比如A受B影响,设置A:DefineName=B,UnDefined=true, 如果B没有值,A就不可用5public bool IsDefined名称:是否已定义标识语法:说明:条件项被设置值时,被影响的控件是否可用,比如A受B的影响,当B有值时,A就不可用,这时设置A:DefineName=B,IsDefined=true, 在解析使能条件时,发现B有值,A就不可用。
U9-UBF应用开发手册2011
用友U9-UBF应用开发手册V2.5前言UAP(Universal Application Platform)是用友公司为开发新一代面向服务(Service-Oriented Architecture, SOA)的世界级商业应用套件产品(U9)而精心打造出来的ERP软件生产平台。
通过UAP平台,使企业信息资源变得可重用、透明化,并且系统具有高可扩展性,让业务处理更加高效、简洁、安全。
UAP平台为用户提供了一个统一的集成开发环境,用户可以使用包括模型设计、UI设计、报表设计、规则设计、数据库设计、BI设计等各方面的设计器,并通过可视化的界面和友好的交互操作,自动生成用户所需要的各种功能控件。
使得大型的企业级商业应用软件第一次实现了技术与业务关注点的分离,并且通过快速的动态业务建模与服务组装技术,实现了企业动态业务的快速部署与应用,真正实现了“随需而变”的实时企业与全球商务的企业信息化价值理念。
UAP(Universal Application Platform)平台是用友软件经过多年的技术积累和知识沉淀,在微软.NET相关规范和标准的基础上,提供完全支持基于领域语言(DSL)的模型驱动开发(MDD)模式,为各种复杂的企业级商业应用系统提供专业、安全、高效、可靠的开发、部署和运行企业管理应用软件的开发工具平台。
它主要包括:应用运行平台(UBF)、应用开发平台(UBF Studio)和组件化发布平台。
➢UBF(UFIDA Business Framework)实现与操作系统、数据库、.Net Framework、Office、WMI、.Net Compact Framework、MSMQ 等底层核心技术的调用与协作,通过屏蔽底层的复杂实现,提高企业应用软件的灵活性、可扩展性和开放性。
针对开发ERP软件的特点,提供了一套适用的类库、框架以及具有扩展性的通用解决方案。
有效地降低了开发工作的难度和工作量。
在系统交付、安装和部署后,支撑业务系统的解析和执行;提高应用软件的可定制性与可集成性。
U9研发模式及管理体系
U9研发模式及管理体系U9研发模式是指U9公司在开展研发活动时采用的一种工作方式和流程,以实现高效、快速、协同的研发结果。
U9公司作为一家专注于软件开发的公司,其研发模式的选择和管理体系的建立对于项目的成功与否至关重要。
下面将详细介绍U9研发模式及管理体系。
一、敏捷开发敏捷开发是U9研发模式的核心理念之一、敏捷开发注重迭代式、模块化的开发过程,以客户需求为导向,快速交付可用的产品。
敏捷开发强调团队合作,重视沟通和反馈,能更好地满足快速变化的需求,并保持良好的项目进展。
二、模块化开发三、协同工作四、持续集成与测试五、产品运维U9研发管理体系为了保证U9公司研发活动的有效进行,U9公司建立了完善的研发管理体系。
该体系包括以下几个方面的内容:一、项目管理U9公司采用项目管理方法来对研发活动进行全面的规划和控制。
在项目启动时,会制定详细的项目计划,并确定项目目标、范围和时间表等。
同时,项目经理会对项目进展进行监控和控制,及时解决问题,确保项目按时交付。
二、人员管理U9公司注重人力资源的合理配置和管理。
在项目组建时,会根据项目需求和团队成员的技能特点进行合理的组合。
同时,公司还会为员工提供培训和发展机会,提高团队的整体素质和技术能力。
三、质量管理U9公司对产品的质量要求非常严格,因此建立了严格的质量管理体系。
在整个研发过程中,团队成员会严格按照规定的开发流程和标准进行工作,并对每个阶段的工作进行质量检查和评估。
同时,团队会积极采集用户反馈,及时改进产品。
四、知识管理U9公司注重知识的积累和分享,建立了完善的知识管理系统。
在每个项目的结束,U9会对项目进行总结和归档,收集并整理项目相关的文档、代码和经验等。
这样可以方便后续团队的使用和学习,提高工作效率和质量。
五、风险管理U9研发管理体系还包括风险管理。
在项目的不同阶段,团队成员会识别和评估各种风险,并制定相应的应对策略。
通过对风险的及时识别和处理,可以降低项目失败的可能性,提高项目的成功率。
yonyou U9 V5.0 新增功能操作手册-PLM集成
yonyou U9 V5 PLM集成操作手册用友网络科技股份有限公司2015年8月yonyou U9 V5 PLM集成操作手册目录PLM集成操作手册 (1)产品概述 (1)业务模型描述 (1)总体架构介绍 (1)系统要求 (2)产品主要功能 (2)功能清单 (2)基础设置 (3)操作指南 (6)同步数据 (6)单点登录 (7)查看PLM消息 (7)yonyou U9 V5 PLM集成操作手册产品概述从V5版本开始,U9和其自身的PLM产品实现了深度集成应用。
具体体现在:●单点登录:用户只需登录一次就可以在两个系统中自由切换。
●物料、BOM、工艺集成:物料、BOM、工艺均可以在两个系统中双向同步,无论是先实施U9还是PLM系统,都可以快速的和另一系统进行对接。
●消息集成:可以在任一系统中实时看到两个系统发出的消息。
●业务数据共享:可以在PLM系统中实时查看U9系统的业务数据,如:库存。
●全属性映射、默认值配置:可以充分满足不同企业PLM和ERP数据交互的定制需求。
这种深度集成应用带来的价值包括:●易使用:提升用户的使用体验。
●易实施:降低两个系统的实施难度。
●业务连贯性得到增强,业务数据准确性、及时性得到提高。
业务模型描述总体架构介绍架构底层包括如下几个部分:元数据抽取:指在U9的数据库中记录PLM相应数据表结构信息。
这样做的好处是实现了两个系统的松耦合设计,在PLM系统出现异常时,不影响U9相关业务的执行。
同时如果字段类型为枚举,也是通过元数据抽取来建立U9和PLM枚举值的映射关系。
安全验证:指两个系统之间进行数据传输时的安全验证机制。
两个系统之间是通过标准的web service服务接口进行数据传输。
在传输前需要验证对方是否为合法调用,防止非法入侵。
单点登录:指打通两个系统之间的身份验证机制,在成功登录到一个系统中后,无需二次登录即可进入另一个系统中。
属性映射:指PLM和U9的数据字段之间的对照关系。
U9研发体系(UIACTION使用手册)
U9 研发体系(UIAction 使用手册)适用版本: U9 V1.5 UBF2.0 修改状态: 编写人: 审核人: 熊悦阅 刘小东此部分要记录该文档形成过程中的历次版本变更过程及变更的内容 版本 修改与 参与人 熊悦阅 修改时间 修改原因 修改内容 审批人1.02008-7-8原始文档建立刘小东1.概述UFIDA UIAction 是表示层 MVC 框架中 Controller 一部分,它与 CodeBehind 构成完整 的 UIController,CodeBehind 完成 Web 响应的流转控制,UIAction 完成一个独立的行为, 如保存、加载、翻页等等。
2.构架原理2.1 UIAction 在表示层构架中的位置和作用2.2 UIAction 的主要内容2.3 公共 UIAction截止 U9 UBF2.6,U9 一共提供了 2 套公共 UIAction,分别是 CommonAction 和 NavigationAction。
3. 使用指南3.1 CommonAction 部分CommonAction 部分主要完成对 UIModel 数据的加载和更新操作,其中主要方法有 Load, LoadChildView,Save 等方法。
3.1.1 Load 方法Load 方法完成加载数据到 IUIModel 的过程,包含以下多种声明:声明 IUIModel Load() IUIModel Load(IUIModel) IUIModel Load(IUIModel,bool) 说明 加载当前 IUIModel 加载指定的 IUIModel 加载指定的 IUIModel 第二个参数控制是否清空 IUIModel 的数据 IUIModel Load(IUIView,bool) IUIModel Load(params IUIView[]) IUIModel Load(params IUIViewBindingControl[]) 加载一个视图,是否根据父视图进行过滤 加载指定的多个视图 加载指定的多个 UI 绑定控件对应的视图3.1.2LoadChildView 方法LoadChildView 方法加载指定视图的下级视图数据:声明 Void LoadChildView(IUIView) 说明 加载的数据存放在视图的 ContainerModel 中3.1.3Save 方法Save 方法将 IUIModel 的变化更新到后台持久层 声明 IUIModel Save() IUIModel Save(IUIModel) 保存后会回刷 IUIModel 的数据到前台。
OA与U9系统集成实施方案
OA与U9系统集成实施方案————————————————————————————————作者:————————————————————————————————日期:OA与U9系统集成方案建立日期: 2015-08-15文控编号:作者:陈建宇客户项目经理:日期:用友项目经理:日期:文档信息项目编号文档编号项目名称标题类别OA与U9系统集成方案当前阶段开发方案摘要文档拥有优普信息科技有限公司者文件OA与U9系统集成方案V1.0修改记录日期版本作者修改内容2015-08-15 1.0 陈建宇初始版本审阅记录日期版本姓名职位备注审批记录日期版本姓名职位签名目录1.引言 (6)1.1项目名称 (6)1.2项目背景和内容概要 (6)1.3相关资料、缩略语、定义 (6)1.4目标 (6)1.5范围 (6)1.6假定条件与约束限制 (6)1.7对现有系统的影响 (6)2.功能详细需求分析 (7)2.1整体业务流程图 (7)2.2详细功能 (7)2.2.1单点登录 (7)2.2.1.1 OA单点登录U9 (7)2.2.1.1.1前提条件 (7)2.2.1.1.2业务规则 (7)2.2.2消息传输 (8)2.2.2.1 U9消息记录传输到OA (8)2.2.2.1.1前提条件 (8)2.2.2.1.2业务规则 (8)3.开发平台支持 (12)3.1硬件 (12)3.2操作系统 (13)3.3用友产品 (13)3.4开发语言 (13)3.5数据库 (13)3.6程序架构 (13)1.引言1.1项目名称OA与U9集成1.2项目背景和内容概要客户同时使用用友U9系统和第三方OA系统软件。
客户系统在OA系统中能同步登录到U9系统,并能处理OA中的处理U9系统中的部分操作。
1.3相关资料、缩略语、定义无1.4目标实现OA系统中对U9系统的单点登录。
将U9中的消息同步传输到OA系统中,并由OA系统直接弹出U9界面进行相关数据处理。
(完整)U9-ERP项目-MES集成方案V4.1
五菱U9—ERP项目MES集成方案设计五菱项目经理:日期:用友开发经理:日期:文档控制更改记录日期更改人版本更改记录2011—08吕洪V1。
0—162011-08-1吕洪V2。
082011—09朱坤V3。
0—08审阅日期姓名职位2011-08—1赵业海8审批日期姓名职位1。
集成接口业务范围1.1.集成接口数据流<进进进进><进进进进><进进进进>进进进进进进<ERP U9><MES>进进进进进进进进进进进进进进进进进进U9进进进进进进进进进进进进进进U9进进进进进进U9进进进进进进进进进进进进进进进U9进进进进进进进进进进进进进U9进进进进进U9进进进进进进进进进进进U9进进进进进进进进进进进U9进进进进进进进进进进进U9进进进U9进进进1.2集成接口业务流程ERP/MES 系统集成包含的主要业务流程有:ERP 车间日生产计划发布到MES 接收处理业务流程、ERP 生产领料到MES 扫描接受确认业务流程、MES 产品下线入库扫描到ERP 入库业务流程、ERP 销售发货到MES 扫描确认业务流程。
以下对系统集成涉及到的八个主要流程进行描述:1.2.1.ERP/MES 车间日计划业务流程(生产订单视图)车间制定日生产计划并在ERP 系统中生成生产订单,订单审核后开放视图供MES 系统使用。
1.2.2.ERP/MES 车间完工入库业务流程进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进业务流程描述:1) 产成品下线扫描后,MES 数据传递至中间库,集成接口(定时/定量)读取中间表数据,生成完工汇报单; 2) 产成品入第三方物流库时,MES 系统对入库产成品扫描,数据写入中间库,集成接口对扫描的数据进行确认,数据一致后审核完工汇报单。
3) 第三方物流对审核的完工汇报单进行入库确认。
u9研发体系(自定义报表开发手册)
开发必备软件
请先安装下列软件并正确的配置UBF Studio的配置文件才能使用UBF Studio:
Window 2003标准版。
Microsoft .net Framework V3.0。
系统需要安装 Framework V3.0。一定要注意Framework的版本,只有版本匹配UBF Studio V2.0才能正常运行。小技巧:由于Framework 2.0和3.0可以共存,如果UBF Studio V2.0不能正常运行,可以考虑检查一下当前启用的Framework版本。
4、“CLR配置”(标识4)是数据库使用的DLL文件,一般情况是与备份文件(标识5)一块保存。
5、“备份文件”(标识5)是数据库导出的备份文件。
6、“还原checkbox”(标识6):请注意不要忘记选择。
填写完成后,单击【创建】。
1.5
自定义报表模板的导入导出是利用UBF平台的报表模型元数据管理工具。
1.5.2
1.5.3
方案类型必须是分析项目,如下图:
1.5.4
上面界面点击确定后,就会出现一个报表开发界面,暂时不要关注其他信息,请打开菜单报表/模型元数据管理,操作过程如下图:
1.5.5
操作过程如下图:
报表元数据库连接后
1.5.6
单击选择报表目录、报表容器或报表模板,右键单击打开菜单,选择导出、导入命令,操作过程如下图:
单击“基本信息设置”数据库――创建,打开创建界面:
创建数据库填写信息:
1、“数据库”(标识1)需要填写创建的数据库名称。
2、“数据文件”(标识2)是创建的数据库的数据文件,单击 选择数据文件的存储位置,如:D:\DB\,后面的“\U9ERP_JDF.mdf”是工具自动添加上的。
U9研发体系(构造系统使用手册)
1.3 相关工具备份路径
\\pt05\标准构造工具
2、环境要求
Framework2.0 Nant0.85 Sql2005+SP1 Win2003+SP1 winfx3.0 ClearCase
3、设置环境变量:
1、nant.exe(0.85)所在目录 设置为系统环境变量 2、Msbuild.exe(FrameWork2.0)所在目录 设置系统环境变量 3、ClearCaseTool.exe 所在目录 设置系统环境变量 4、搭建测试环境的服务器 master 数据库建立存储过程 P_KillSpid
5、配置文件
5.1、配置文件如下: Buildtool\Build.ShareParameter.xml TotalBuild.build
TotalBuild.Config
配置视图路径、产品视图路径 构造 nant 脚本 执行构造的所有操作 构造脚本的配置文件
控制更新视图,构造那些项目组的 Sht 文件,建立 数据库名称,数据库服务器连接信息,备份文件信 息等等 (已加注释)
Buildtool\envirment.xml
构造系统数据库联接信息
Buildtool\U9V1Build.Config
扩展类配置文件
5.2、修改或新增源代码库路径
基础环境设置-〉源代码库:选择项目对应的源代码库改为规范路径即可(今后版本将
全部改为规范路径可不用设置)
5.3 、 修 改 脚 本 文 件 , 修 改 TotalBuild.Config, Buildtool\Build.ShareParameter.xml 中 的 SourceView,ProductView 节即可;其他节已经按规范配置为相对路径,正常情况不需要修 改
OA与U9系统集成方案
OA与U9系统集成方案建立日期: 2015-08-15文控编号:作者:陈建宇客户项目经理:日期:用友项目经理:日期:文档信息修改记录审阅记录审批记录目录1.引言 (4)1.1项目名称 (4)1.2项目背景和内容概要 (4)1.3相关资料、缩略语、定义 (4)1.4目标 (4)1.5范围 (4)1.6假定条件与约束限制 (4)1.7对现有系统的影响 (4)2.功能详细需求分析 (5)2.1整体业务流程图 (5)2.2详细功能 (5)2.2.1单点登录 (5)2.2.1.1 OA单点登录U9 (5)2.2.1.1.1前提条件 (5)2.2.1.1.2业务规则 (5)2.2.2消息传输 (6)2.2.2.1 U9消息记录传输到OA (6)2.2.2.1.1前提条件 (6)2.2.2.1.2业务规则 (6)3.开发平台支持 (10)3.1硬件 (10)3.2操作系统 (11)3.3用友产品 (11)3.4开发语言 (11)3.5数据库 (11)3.6程序架构 (11)1.引言1.1项目名称OA与U9集成1.2项目背景和内容概要客户同时使用用友U9系统和第三方OA系统软件。
客户系统在OA系统中能同步登录到U9系统,并能处理OA中的处理U9系统中的部分操作。
1.3相关资料、缩略语、定义无1.4目标实现OA系统中对U9系统的单点登录。
将U9中的消息同步传输到OA系统中,并由OA系统直接弹出U9界面进行相关数据处理。
1.5范围U9使用的版本:U9V3.0客开组织模式:多组织1.6假定条件与约束限制本文档仅适用于本次调研所获取的需求信息1.7对现有系统的影响2.功能详细需求分析2.1整体业务流程图2.2详细功能2.2.1单点登录2.2.1.1OA单点登录U92.2.1.1.1前提条件●用户、组织、企业等相关借出数据需建立关联关系,或做数据同步。
●两系统部署在相同网络条件下,能相互连接访问。
2.2.1.1.2业务规则在OA系统中,通过U9单点登录地址,将相关的参数传输到地址中,通过地址连接打开U9主页。
U9插件开发集成
<ExtendedPart parentPartFullName="UFIDA.U9.Customer.OrderDocUIModel.OrderDocUIFormWebPart“ extendedPartFullName="UFIDA.U9.UI.PlugIn.OrderDocProcess" extendedPartAssemblyName="UFIDA.U9.UI.PlugIn.dll"> </ExtendedPart> 说明: parentPartFullName :要扩展的原Form全名 extendedPartFullName :插件类全名 extendedPartAssemblyName :插件程序集
修改模型和控件属性 前:修改模型 ,修改控件属性 后:修改控件属性 修改控件属性
Part: 原Form对象,executeDefault:是否执行系统默认操作,sender:触发控件
插件式开发技术
客户化插件需求文档
表单逻辑扩展设计文档 工程建立 • 编码实现表单逻辑扩展 扩展点配置文件建立 • 注册WebPart扩展点 产出部署 • 配置文件,组件dll
插件式开发技术
二次开发扩展点
• BeforeInit • AfterInit • BeforeLoad • BeforeDataLoad • AfterDataLoad • AfterLoad • BeforeDataCollect • AfterDataCollect • BeforeEventProcess • AfterEventProcess • BeforeRender • BeforeDataBinding • AfterDataBinding • AfterRender
用友UFIDA U9产品介绍
报表设计器 对象转换设计器 事件设计器 数据库设计器 组 件 生 成 工 具 组 件 构 造 工 具
应用字典 元数据浏览器 版型设计器 模式设计器 模版设计器 资源管理 应用组装工具
异常设计器
流程设计器 方 案 管 理 器
UAP Studio
插 件 框 架
目录
U9,中国的世界级商业创新平台 U9核心理念 U9产品架构 U9产品关键特性及重要应用场景 UAP平台 U9价值优势
版 流程领域 语言
活动 流程 参与者
型 表单领域 语言
表单模型 表单视图 动作
数据表
视图 索引
实体组件
服务组件
报表组件
流程组件
表单组件
应用组装语言
组件 应用 菜单
实体组件
服务组件
报表组件
流程组件
表单组件
页面
UAP Studio——集成开发环境
实体设计器 操作设计器 服务设计器 状态机设计器
表单设计器 表单模型设计器
多工厂协同场景
多组织的财务核算场景
集团的供应链与制造
分销站1 销售 公司2
多任务厂 MRP
工厂1
物流中心
工厂2
跨工厂的 主排程
工厂1 部件1 SOB1-std SOB2-mavg
工厂2 部件2 SOB3-std SOB4-mavg
工厂3 成品 SOB5-std SOB6-mavg
集中采购 采购中心
敏捷应用模式
商务流程融合 系统实质集成 协同商务,根 据变化自适应 调整
典型技术特点
市场 活动
WS_* BPEL CS… SOA
完全SOA架构带来的价值
在多年企业管理应用软件领域的知识积累和经验沉淀基础上,U9是全球第 一款面向完全SOA和实时企业的解决方案,全面支持SOA架构和最新创新技术, 实现了企业管理系统的个性化规模交付,真正体现了“随需而变”的实时企业 与全球商务的企业信息化价值理念。 相比局部采用SOA,完全SOA架构带来更为显著的价值和优势。
U9插件开发集成
U9插件开发集成
用友软件股份有限公司 U9客户化开发支持部
业务场景
控制经手人每d张订货单金额上限
如果经手人一张订货单所有订单行,含税金额汇总超过100万,单位本币(不同 币种按汇率转换),那么不允许保存并提示错误信息
订货单保存成功后消息通知经手人上级
通过消息中心和邮件的方式将订单保存成功的信息发送给经手人上级
插件式开发技术
客户化插件需求文档
业务逻辑扩展设计文档 工程建立
• 编码实现业务逻辑扩展
扩展点配置文件建立 • 注册BE,BP,SV扩展点 产出部署 • 配置文件,组件dll
插件式开发技术
UAP平台
SetDefaultValue
U9研发部
SetDefaultValue
第三方开发部
BeforeDefaultValue AfterDefaultValue
插件式开发技术
继承的扩展类
添加引用UFSoft.UBF.Execution.dll 继承UFSoft.UBF.Eventing.IEventSubscriber
插件dll部署
部署到Portal\ApplicationServer\Libs
扩展点配置文件
文件:名称.sub.xml ,部署到Portal\Bin\ 配置节:
Inserted Updated
AfterInserted
AfterUpdated
插件式开发技术
UAP平台 U9研发部 第三方开发部
BeforeDeleting
Deleting
AfterDeleting
Delete
BeforeDeleted
Deleted
AfterDeleted
用友UFIDA_U9学习资料_U9整体介绍
企业应用的SOA整体解决方案
SOA与敏捷企业,全面支撑伙伴扩展
目录
SOA技术架构 UAP应用开发平台 多组织模型和国际化应用 完整的应用解决方案
UFIDA U9
2009 UFIDA Software Corporation
多工厂、多地点运营
• 以下因素造成企业的多工厂、多地点运营: ✓ 企业不断发展壮大,不断并购新的工厂,造成事实上的多 工厂多地点经营局面 ✓ 企业充分利用各地区各开发区的优惠政策,逐渐在各地各 开发区设厂,造成事实上的多工厂多地点经营局面 ✓ 企业内部按生产工艺分工,以虚拟内部法人机制进行细化 考核,也造成事实上的多工厂运作局面 ✓ 民用消费品制造业本着“掌控终端”的思路,会在各地区 直接设置分公司、直营门店、专柜,造成多地点多组织的经 营局面
2009 UFIDA Software Corporation
UAP的主要特征
• 遵循开放的技术标准,方便与其它软件的互操作性 • 全面支持面向服务的架构(SOA)
– 同时支持企业服务总线(ESB)和业务流程管理( BPM) • 业务与技术相分离的架构,易于扩展和更新 • 基于模式和模型驱动的开发
•
集采分收,集采集收
集中代购
关健应用: ✓ 支持定义组织间的采购供应关系 ✓ 支持在采购组织中汇集各工厂的MRP净需求及其它采购净需求 ✓ 支持向采购组织对货源的管控制,确定供应商和价格,集中向供应商下大订单。 ✓ 支持将大订单分解为各工厂的执行订单 ✓ 各工厂按执行订单收货并向供应商结算
多工厂协同
通过服务接口的标准化和与BPM的结合来简化应用之间的由流程 驱动的应用集成:通过服务的封装快速适应业务需求的变化,使 整个企业的IT架构不再直接依赖细粒度的技术实现
OA与U9系统集成方案
OA与U9系统集成方案一、概述OA(Office Automation,办公自动化系统)是指通过计算机、媒体、网络等信息技术,对现代办公活动进行自动化处理,实现办公信息化、集成化、高效化的一种管理方式。
U9系统则是一款综合性的企业管理软件,能够覆盖企业的各个业务领域,包括财务、采购、销售、生产制造等。
将OA系统与U9系统进行集成,可以实现企业内部各个部门之间的信息共享和协同工作,提高企业的工作效率和管理水平。
二、集成方案1.数据共享将OA系统的员工信息、部门信息等基础数据与U9系统进行同步,保持数据的一致性和准确性。
员工在OA系统中的信息变更,会自动同步到U9系统中,例如部门变更、职位变更等;U9系统中的员工信息变更也会同步到OA系统中,确保两个系统之间的数据一致。
这样可以避免重复录入数据,减少数据冗余,提高工作效率。
2.流程集成将OA系统的各个流程与U9系统相结合,实现流程的自动化处理和数据的自动流转。
例如,当OA系统中的员工提交请假申请时,系统可以自动将请假信息传递给U9系统的人力资源管理模块,更新员工的请假记录和考勤信息;当销售人员在U9系统中录入新的客户订单时,系统可以自动触发OA系统中的审批流程,减少人工干预和工作时间。
3.信息对接OA系统与U9系统之间可以进行信息对接,实现数据的交换和共享。
例如,当U9系统中新建了一个销售订单时,可以将订单的相关信息自动传递给OA系统中的销售人员,提醒其尽快进行订单确认和跟踪;当OA系统中的销售人员生成了销售合同,并与客户签订合同时,可以将合同的相关信息自动传递给U9系统的财务模块,进行应收款的登记和跟踪。
4.报表集成将OA系统和U9系统中的数据进行集成,生成全面的企业管理报表。
例如,将OA系统中的员工考勤数据与U9系统中的生产制造数据进行对接,生成员工绩效报表和生产效率报表;将OA系统中的销售数据与U9系统中的财务数据进行对接,生成销售收入报表和利润报表。
按需定制,个性体验——UAP for U9应用开发框架
按需定制,灵活扩展系统
按需定制,灵活扩展系统
特有的事件系统可以自由订阅关心的实体事件
UBF框架会在每个实体的数据库操作前后往EventBroker发布事件消 息,开发者可以根据自己的业务要求订阅自己关心的事件
如: UFSoft.UBF.Eventing.EventBroker.Subscribe("UFIDA.UBF.GeneralEven ts.ApprovalResultEvent", subscriber)
按需定制,灵活扩展系统
UI组件多个扩展点
OnLoadData_Extend OnDataCollect_Extend AfterOnLoad AfterCreateChildControls AfterEventBind BeforeUIModelBinding AfterUIModelBinding
运行时态
UI框架 Portal 抽象控件模型 离线引擎
工具
权限管理
IDE集成开发环境
流程设计器
流程框架 工作流引擎 流程元数据 工作列表 工作流监视器 服务框架 服务引擎 JOB引擎 服务/代理 业务层框架 实体框架 AOP框架 操作框架 服务框架 持久化引擎 报表元数据 报表框架 报表与打印引擎
组件浏览器
OFFICE实施工具
服务设计器 实体设计器 事件设计器 异常设计器 状态机设计器 对象/关系映射
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
U9开发人员扩展点
• CreateFormChildControls • AfterEventBind • AfterCreateChildControls • OnLoadData_Extend • AfterOnLoad • OnDataCollect_Extend • ActionExtend • BeforeUIModelBinding • DataBinding • AfterUIModelBinding
OnInit()
AfterInit() BeforeLoad() BeforeDataLoad()
OnLoad()
base.
Page.IsPostBack
!Page.IsPostBack
OnLoadData_Extend() AfterOnLoad() AfterDataLoad() AfterLoad()
课程编号:
U9插件开发集成
课件内容
插件式开发原理及流程
业务逻辑扩展
表单逻辑扩展
插件式开发实践
订货单金额上限控制 部门调整
调出单增加按钮
插件式开发技术
支持业务实体(BE)扩展 支持业务操作(BP)扩展 支持服务(SV)扩展
业务实体BE
插入前 赋默认值前
业务操作BP
操作执行前
服务SV
服务执行前
插入 插入后
插件式开发技术
UAP平台
SetDefaultValue
U9研发部
SetDefaultValue
第三方开发部
BeforeDefaultValue AfterDefaultValue BeforeValidate
Validate
Validate
AfterValidate
新增
Inserting
修改
Updating
BeforeInserting BeforeUpdating
新增
Insert
修改
Update
AfterInserting
AfterUpdating
BeforeInserted BeforeUpdated
Inserted Updated
AfterInserted
AfterUpdated
插件式开发技术
Form加载前
数据加载前后 Form加载后
BeforeAfterDataCollect(IPart Part, out bool executeDefault) 数据收集前后的处理 /AfterDataCollect(IPart Part) BeforeAfterEventProcess(IPart Part, string eventName, object sender, EventArgs args, out bool executeDefault) /AfterEventProcess(IPart Part, string eventName, object sender, EventArgs args) BeforeRender(IPart Part, EventArgs args) BeforeDataBinding(IPart Part, out bool executeDefault) /AfterDataBinding(IPart Part) AfterRender(IPart Part, EventArgs args) 针对每个事件的操作前后的处理
控件事件()
ActionExtend()
OnPreRender()
base. IsDataBinding
BeforeRender()
BeforeUIModelBinding() BeforeDataBinding() AfterDataBinding() AfterRender()
! IsDataBinding
DataBinding()
AfterUIModelBinding()
插件式开发技术
可写的逻辑
AfterCreateChildControls() OnLoadData_Extend() AfterOnLoad() ActionExtend() BeforeUIModelBinding() AfterUIModelBinding() 创建控件树,创建关联控件 非PostBack状态下创建控件树,加载数据 创建控件树的最后机会, 也可以加载数据,修改控件属性 针对每个事件的操作 修改模型数据最后的机会,不然不会反映 到控件上,修改控件属性 修改控件属性
UAP平台 U9研发部 第三方开发部
BeforeDeleting
Deleting
AfterDeleting
Delete
BeforeDeleted
Deleted
AfterDeleted
插件式开发技术
继承的扩展类
添加引用UFSoft.UBF.Execution.dll 继承UFSoft.UBF.Eventing.IEventSubscriber
订阅部门Inserted事件 判断新部门名称,并查找旧部门
若旧部门存在,删除旧部门,调整旧部门业务员部门
实践 -界面增加按钮
调出单增加按钮
调出单增加生成拉销售订单按钮
扩展调出单 参照拉单代码
插件式开发技术
继承的扩展类
添加引用UFSoft.UBF.UI.FormProcess.dll 继承UFSoft.UBF.UI.Custom.ExtendedPartBase
插件dll部署 非手动刷新不走ondataLoad
部署到Portal\UILib
扩展点配置文件
文件Portal\ WebPartExtend.config 配置节:
插件dll部署
部署到Portal\ApplicationServer\Libs
扩展点配置文件
文件:名称.sub.xml ,部署到Portal\Bin\
配置节:
<subcription event="UFIDA.U9.Customer.OrderDoc.OrderDoc.Validate"> <subscriber type="UFIDA.U9.App.PlugIn.ValidateForOrderDoc,UFIDA.U9.App.PlugIn.dll" /> </subcription> 说明:event :要扩展的BE事件,如 Inserting, Inserted type :插件类,插件程序集
表单(WebPart)事件
• OnInit • OnLoad • OnPreRender
插件式开发技术
WebPart事件
base.
U9开发部
CreateFormChildControls() AfterEventBind() AfterCreateChildControls()
第三方开发部
BeforeInit()
修改模型和控件属性 前:修改模型 ,修改控件属性 后:修改控件属性 修改控件属性
Part: 原Form对象,executeDefault:是否执行系统默认操作,sender:触发控件
插件ቤተ መጻሕፍቲ ባይዱ开发技术
客户化插件需求文档
表单逻辑扩展设计文档 工程建立 • 编码实现表单逻辑扩展 扩展点配置文件建立 • 注册WebPart扩展点 产出部署 • 配置文件,组件dll
注意:一个Form只能有一个扩展类,后期对该Form的扩展既修改第一次扩展的文件
实践 -采购订单总额控制
在采购订单中控制总额,不允许总额超过10000
扩展采购单 在扩展AfterValidate中编写业务逻辑
实践 - 部门调整
部门调整
新增部门时,若该部门名称为(部门名称+新),则删除部门名称为(部门名称)的部门, 并更新其旧部门下所有业务员部门到新部门。
插件式开发技术
WebPart事件
! 数据收集
U9开发部
数据收集
第三方开发部
BeforeDataCollect() AfterDataCollect() BeforeEventProcess() AfterEventProcess()
OnDataCollect_Extend() CollectData()
插件式开发技术
可写的逻辑
Before/AfterInit(IPart Part, EventArgs args) 前:初始化前 后:创建控件树,创建关联控件
BeforeLoad(IPart Part, EventArgs args)
BeforeDataLoad (IPart Part, out bool executeDefault) /AfterDataLoad(IPart Part) AfterLoad(IPart Part, EventArgs args)
更新前 更新
操作执行
操作执行后
服务执行
服务执行后
赋默认值
赋默认值后 校验前 校验 校验后
更新后 删除前
删除 删除后
根据客户化业务需 求 切入业务逻辑代码
插件式开发技术
客户化插件需求文档
业务逻辑扩展设计文档
工程建立
• 编码实现业务逻辑扩展 扩展点配置文件建立 • 注册BE,BP,SV扩展点 产出部署 • 配置文件,组件dll
插件式开发技术
二次开发扩展点
• BeforeInit • AfterInit • BeforeLoad • BeforeDataLoad • AfterDataLoad • AfterLoad • BeforeDataCollect • AfterDataCollect • BeforeEventProcess • AfterEventProcess • BeforeRender • BeforeDataBinding • AfterDataBinding • AfterRender