U8UAP开发手册_第1页
U8UAP开发手册_第2页
U8UAP开发手册_第3页
U8UAP开发手册_第4页
U8UAP开发手册_第5页
已阅读5页,还剩56页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、UAP开发样例指导用友研发中心U8平台技术部<本文档适用于U871版本>1、 摘要错误!未定义书签。2、 样例开发前提错误!未定义书签。3、 建立UAP项目错误!未定义书签。4、 建立表单模型错误!未定义书签。(一)新建实体错误!未定义书签。(二)新建实体属性错误!未定义书签。5、 建立表单布局错误!未定义书签。6、 行为对象开发错误!未定义书签。(一)表单开发错误!未定义书签。(二)列表开发错误!未定义书签。(3) 生单二次开发错误!未定义书签。(4) 联查报表错误!未定义书签。(5) 联查UAP列表错误!未定义书签。(6) UAP列表联查U8单据错误!未定义书签。(7) 用户自

2、定义控件开发错误!未定义书签。(8) U8单据引用UAP1案错误!未定义书签。7、 行为对象注册错误!未定义书签。功能介绍:错误!未定义书签。使用说明:错误!未定义书签。应用技巧:错误!未定义书签。8、 建立数据引擎错误!未定义书签。功能介绍:错误!未定义书签。使用说明:错误!未定义书签。应用技巧:错误!未定义书签。9、 设置过滤条件错误!未定义书签。功能介绍:错误!未定义书签。使用说明:错误!未定义书签。应用技巧:错误!未定义书签。十、设置栏目错误!未定义书签。功能介绍错误!未定义书签。使用说明错误!未定义书签。应用技巧错误!未定义书签。十一、权限错误!未定义书签。功能权限错误!未定义书签。

3、记录级权限错误!未定义书签。字段级权限错误!未定义书签。十二、部署错误!未定义书签。附录:功能介绍错误!未定义书签。1、行为对象升级说明错误!未定义书签。2、 LoginInfo对象介绍错误!未定义书签。一、摘要本文以U8-ERP中的销售订单为应用原型,介绍了如何通过UAPS行软件开发,文中给出了开发方法和丰富样例。内容包括:IUA昧单开发原理IUAP项目的建立和导入、导出IUA昧单的模型设计和布局设计IUA昧单的行为对象开发IUA晒单列表设计与开发IUA昧单列表的行为对象开发 如何对UA昧单的缺省按钮进行扩展性开发 如何对UA昧单的缺省按钮进行取代性开发 如何为UA昧单增加新的按钮及行为 如

4、何用程序代码调用UAP报表 如何用程序代码调用UAP表单列表 如何在UA昧单中增加权限控制:功能权限、字段权限、记录权限 如何为UA昧单开发自定义控件 如何开发树形档案 如何维护UA啖据引擎 如何维护栏目 如何维护过滤条件 如何调用U8API U8单据自定义项如何引用UAP1案本文档中使用的示例文件为“销售订单二次开发",可以通过UAP将该文件导入到帐套“销售订单”为中。项目名称为“SaleVoucher",导入后在项目中包括几个自定义单据:二次开发的Demo示例;“零售日报”为自定义空间二次开发的Demo示例;"列表档案示例”、“树形编辑档案示例”、“树形导航档

5、案示例”分别为各个对应的档案类型的示例。二、样例开发前提首先,需要安装U8产品,并建立一个帐套。其次,您需要向用友公司购买UA昧单设计许可;不过您可以使用UAP的演示版本,但是演示版本不能新建UAP项目,也不能注册行为对象。三、建立UAP项目使用UAP登录您的帐套后,在系统界面上的新建项目选项卡,选中“供应链”后,在右边的列表中选择“销售管理”,在界面下方的几个文本框中输入项目名称,编号,描述等;顺序选择框使用“默认”即可。点击“确定”如果输入信息与先前创建的项目信息不冲突,项目就可被成功创建。您也可以导入我们为您提供的UAP样例项目,导入方法如下。1、登录UAP;2、打开菜单“文件导入和导出

6、”3、选中“导入项目数据到目前的服务器”,点“确定”按钮;4、点“导入”按钮,选取U8安装目录下的"uapsdk”目录中的文件“Samplefile5、导入成功后;6、在UAP已存在的项目中产生了一个名称为"SaleVoucher"的项目;四、建立表单模型选中“自定义表单”节点,单击右键,使用“新建自定义表单”功能创建一个新的表单。然后在弹出的选择界面中选择“表单类型”下的“单据”,在名称文本框中输入一个表单名字,不要与以前创建的表单名字重复。在成功创建后,系统界面会如下图(图表1)所示:图表1在上图所示的实体节点,默认有两个子节点,分别为“主表和第一子表”,根据

7、当前表单的需要设计实体,包括增加实体和实体属性等。(一)新建实体需要为实体填写“实体名称”,和选择“实体类型”。除此以外,还可以通过实体的属性编辑窗口为实体设置各项信息。实体的相关属性:名称:实体显示的名称,仅用于设计时。发布状态:实体是否已发布,只读。功能:为实体定义自定义功能,在运行时显示为表格对应的工具栏按钮。状态设置:设置实体属性、功能在表单运行时的状态,决定实体属性、功能在不同的环境下是否可用。物理表模式:设置实体物理表的创建模式,默认为由UAP在发布时自动创建。在特殊的应用场景中可以使用“使用已存在的对象”或“无”。后两种情况下UAP不负责实体物理表的维护。物理表:设置该实体在数据

8、库存储时使用的物理表,般情况下一个实体对应一个物理表。数据引擎模式:设置实体运行时数据的访问方式。默认为UAP系统在发布时自动创建,特殊的应用场景中可以使用“使用已存在的对象”或“无”,这两种情况下系统不负责实体数据的读取,只能通过用户定义的接口获取数据集。数据引擎:当数据引擎模式为“使用已存在的对象”时,设置要使用的数据引擎对象。主键:设置实体物理表的主键字段名。主键类型:设置实体物理表主键字段的类型,可选“整数”或"GUID'或“字符串”。行模式:多行或单行。一般主表设置为单行。(二)新建实体属性实体必须包含实体属性时才有效。可以在UAP界面“表单”窗口中,右键点击实体对

9、应的节点,选择“新建实体属性”菜单向实体添加实体属性:实体属性通用属性:类型:该实体属性的类型。描述:对该实体属性的单体描述。属性名称:实体属性的名称。默认值:实体属性的默认值。使用默认值:用户未提供数据时,是否使用实体属性的默认值。发布:该实体属性是否已经发布。常用条件:该实体属性是否可以在过滤中作为常用条件使用。区间条件:该实体属性是否可以在过滤中作为区间条件使用。值更新事件:设置该实体属性值更新时需要处理的脚本列表。基础资料类型字段共有三种类型的值更新事件:“携带当前字段相关参照属性到指定列”、“计算定义公式的值到指定列”、“表达式为真/假时改变指定栏目编辑状态”其余类型字段比基础资料类

10、型字段缺少第一种类型的值更新事件。1 .携带当前字段相关参照属性到指定列2 .计算定义公式的值到指定列定色公式公式中不能使用全角字符作为操作符口作为常量使用时,请确保全角字符只出觊在镀引号包含的字苻串内.匚醯二|取inI3.表达式为真/假时改变指定栏目编辑状态定义公式公式孰行条件P只有在满足以下条件时执行公式(£):公式操作将第一二表.件数!:"7.&【第一子表单愉I1="|栏目第一子表.金额的状态更新为:第一子表.货物编写可编辑(£)公式中不能使用全角字符作为操作符口作为常量使用时,诘确保全角字将只出现荏被引号包出的字苻串肉口第一子表一货物名称

11、第一子表预发日期第一子表数量第一子表件而_昌昌酉官读舀百百百一身守力声专堂篇寺-克HFJLrL二二一二二1旱量相位1辆金数数金单额金货货票票12量11歪位发发开开顶项计颜领计币计耳计由由芒金税含本累累累累自自钳表菽裁表表索袤菽超表表子子子子子圣子子子子理消表单式为真假时修改指定栏目的显示状态表单式为真假时修改指定功能状态表单功能实体功能唯一约束:是否检查该实体属性的值在整个表单范围内唯一。文本对齐:实体属性文本的显示位置。显示文本:实体属性的不同语言环境中显示的文本。允许空值:实体属性的值是否可以为空。物理表:实体属性对应物理字段的表名,即该实体属性所属实体的物理表。字段:实体属性对应的物理字

12、段名。除了支持以上通用属性外,不同类型的实体属性还具有不同的特性:1 .表单编号表单编号只能出现的主表实体中,并且只能有一个表单编号类型的实体属性。2 .表单名称表单名称类型的实体属性只能在档案类型的表单中使用,同表单编号一样,表单名称类型的实体属性只能出现主表实体中,并且只能出现一次。3 .整数和正整数可否为0:数值型的值是否可为0。录入长度:限制用户可录入数值的最多位数。数据格式:数值类型的显示格式。最大值和最小值:数据的有效范围。正整数的最小值必须等于或大于0。4 .小数和正小数可否为0:数值型的值是否可为0。录入长度:限制用户可录入数值的最多位数。数据格式:数值类型的显示格式。0。最大

13、值和最小值:数据的有效范围。正小数的最小值必须等于或大于小数位数:数据保留的小数位数。5 .文本多行输入:运行时是否支持录入多行文本。最大长度:最多可录入的文本长度。6 .日期和日期时间日期类型运行短日期格式,即只包含年月日。日期时间类型包含年月日和时分秒。7 .枚举枚举类型的实体属性需要设置枚举值列表,枚举值的显示值为在界面显示的文本,保存值为实际保存到数据库的数据,如枚举类型的实体属性“销售类型”的枚举值可设置为如下图所示:U872中枚举字段支持选择“枚举模式”:使用已存在枚举、新创建枚举。选择“使用已存在枚举”后,需要为“枚举类型”选择一个U8系统中现有的枚举中的一个。8 .基础资料基础

14、资料类型的值来自指定参照档案的对照值。参照对象:设置基础资料类型实体属性的参照档案对象,可以从U8档案列表中选择,包含UAP中定义为档案类型的表单。参照显示值:该属性是设置当前就“基础资料”字段在运行时的文本框里显示参照的那个字段的值。如上面的“参照对象”属性选择的存货档案,如果不设参照显示值,则运行时默认显示为存货编码,如果将“参照显示值”属性设置为存货档案的“存货”名称,运行是该字段就会显示为存货的名称。选择方式:设置在运行时的对照选择方式。自动校验:是否对录入的值进入检验以确定数据是否来自指定的参照对象。选择“否”时允许用户录入参照对象中不存在的值。9 .基础资料属性基础资料属性类型的实

15、体属性必须和基础资料类型的实体属性结合使用。参照属性:设置基础资料属性类型实体属性要绑定的基础资料类型实体属性,并指定关联的参照字段。当基础资料类型的实体属性值变化时,基础资料属性类型的实体属性值随之改变。10 .数量、价格和金额数量、价格和金额类型的实体属性实质上为小数类型,设置等同于小数类型的实体属性。11 .复选框特殊类型的整数值,运行时显示为复选框,保存的数据为0(未选择)或1(选择)。12 .制单人当前单据的作者,一般设为登录用户。13 .制单日期和修改日期制单日期保存当前表单生成的日期,修改日期保存表单最后一次修改的日期。这两种类型的实体属性实质上为日期时间类型,设置等同于日期时间

16、类型的实体属性。五、建立表单布局在完成实体的设计后,可以设计表单布局,UAP支持一个表单多个布局视图,用户可根据自己的使用习惯选择一种布局视图。布局视图的设计与普通window界面的布局设计基本六、行为对象开发行为对象开发是指增加表单或列表的功能按钮,除了UAP系统自带的功能按钮外,还可以增加按钮,这些增加的功能按钮是UA昧单开发的基础。UAP提供了多种增加功能的途径,首先通过设计界面的树形菜单中的“功能”节点下的表单功能和列表功能的“功能管理”(图表2)添加功能按钮,这些功能按钮最终在运行时会被加载到U8产品的门户上;其次可以为每个表单实体添加功能按钮(图表3),为实体添加完成这些功能按钮后

17、,还需要在布局视图上为该表单实体的“功能”属性设置使用这些功能(图表4),这些功能按钮最终在运行时会被加载到该实体的工具栏按钮上。图表2图表3图表4爱星? x廷?更受”二|七三柏田仃中hi李你;R JTS U里 R _i肝易以时:看甲子能 一辞源 才It甫口语;由J电击匚饰住 一讨中港程 卜面栏日 ,过源 围坐伴片口主正比越1n«斑性的yj配.唯台星仕斗x耨,日府扃日尺寸TU).卸 a镯能2嫌lnft Left仲交Fill位宣o.oH,编至鼻充弟1子表戊!动有呼丁含)T'frrjnnc 0J7J U盟 LJ7G显云二K粗JHE)呈示德子表稳作式设置图表5肃司1克T 口g七t,

18、t-名科:*1"E控翻拄片假果苦促贷说Allfii chA Arr ot河刖TMrwsr*.宇士£万生是n以聿速动能按拓在过岸的寻建检理小誓京¥H1单础团嗝隆芈嘴蔚 .'4)仲外江B不肝生由物前fl-LFES :由-以冶输出7XI洞勺成交。二拜于宜朝士星应届-)卜制I竣Z1一取造I.增加功能按钮时,很多工作都可以通过上图(图5)的设计界面完成,开发人员关心的仅仅是表单开发业务逻辑的实现。这些按钮的作用主要是通过在运行时对模型对象中数据的修改以及最终将修改的数据持久化来完成的。UAP表单开发分为表单开发和列表开发两种。因此对应了两种不同的开发类型定义了两种不

19、同的访问模型对象数据的接口。UAP分层开发新增功能开发(锁定、解锁、关闭、打开)已有功能修改(审核、弃审等)f新增功能开发(复制选中行、查询订单对应报 价单、订单追溯查询)'已有功能修改(暂无)(一)表单开发表单开发访问模型对象的接口,该接口被定义在中,所以在做表单开发前,你需要为新建的表单开发项目添加的引用。表单开发又可细分为表单功能开发和表单实体功能开发,每个不同部分的开发又都分为UAP已有按钮的功能修改开发和新增按钮的功能开发。目前为止,只要是表单开发,只需要实现上述接口即可。在实现IReceipt接口后,在实现类中会继承以下这些方法:et登录对象</param>#r

20、egionusingusingusingusingusingusing锁定按钮新增功能开发System;System.Collections.Generic;System.Text;UFIDA.U8.UAP.UI.Runtime.Model;System.Windows.Forms;System.Data.SqlClient;namespaceufida.u8.uap.plugin.SalesVoucherpublicclassLockVoucherButtonIButtonEventHandlerpublicLockVoucherButton()#regionIButtonEventHand

21、ler成员publicstringExcute(VoucherProxyReceiptObject,stringPreExcuteResult)boolresult=SqlConnectionSqlTransactionSqlDataReadertryfalseconn=tran=rd=newSqlConnection(ReceiptObject.LoginInfo.UFDataSqlConStnull;null;conn.Open();tran=conn.BeginTransaction(System.Data.tted);SqlCommandcmd=conn.CreateCommand()

22、;Businessb=ReceiptObject.BusinessesIsolationLevel.ReadCommi"SaleVouche_0001_E001"ascVerifier,+ pkValue +from so_somainBusiness;BusinessCellcell=b.CellsstringpkValue=cell.Value;cmd.CommandText="selectwherecSOCode='"cmd.Transaction=tran;rd=cmd.ExecuteReader();if(rd.Read()"

23、cSOCode"asBusinessCell;cCloser,cLocker;stringstringstringauditMan=closeMan=lockMan=""""""if(!rd.IsDBNull(0)auditMan=rd.GetString(0);if(!rd.IsDBNull(1)closeMan=rd.GetString(1);if(!rd.IsDBNull(2)lockMan=rd.GetString(2);usingSystem;usingSystem.Collections.Generic;usin

24、gSystem.Text;usingUFIDA.U8.UAP.UI.Runtime.Model;usingUFIDA.U8.UAP.UI.Runtime.Common;usingSystem.Xml;namespaceufida.u8.uap.plugin.SalesVoucher/<summary>/接受订单按钮处理/</summary>publicclassAcceptOrderButton:IButtonEventHandler#regionIButtonEventHandler成员publicstringExcute(VoucherProxyReceiptObj

25、ect,stringPreExcuteResult)returnnull;publicstringExcuted(VoucherProxyReceiptObject,stringPreExcuteResult)if(!ReadExcuteState(PreExcuteResult)if(ReceiptObject.VoucherState=VoucherStateEnum.New)if(ReceiptObject.Businesses.ContainsKey("SaleVouche_0001_E001")Businessb=ReceiptObject.Businesses&

26、quot;SaleVouche_0001_E001"asBusiness;if(b.Rows.Count>0)if(b.Columns.ContainsKey("iStatus")BusinessCellcell=b.Cells"iStatus"asBusinessCell;cell.Value=""returnnull;returnMakeExcuteState(true,"保存成功");publicstringExcuting(VoucherProxyReceiptObject)if(Recei

27、ptObject.VoucherState=VoucherStateEnum.New)if(ReceiptObject.Businesses.ContainsKey("SaleVouche_0001_E001")Businessb=ReceiptObject.Businesses"SaleVouche_0001_E001"asBusiness;if(b.Rows.Count>0)et中调用U8中API的方法,其次需要知道有那些API可以使用,各个API方法的参数和返API的参数和返回值确定你的表单开发过程的业务流程等。Net中如何调用U8中的API

28、参照U8API资源管理器中为每个已有的API生成的调用代码示例示例Businessb="SaleVouche_0001_E001"asBusiness;if"iswfcontrolled".Value="1")returnnull;DataSetds=0.dom=(ds,;U8EnvContextenvContext=newU8EnvContext();=;("VoucherType",12);U8ApiAddressmyApiAddress=newU8ApiAddress("U8API/SaleOrde

29、r/Audit");U8ApiBrokerbroker=newU8ApiBroker(myApiAddress,envContext);("domHead",dom);if=et类。该类被定义在中,所以在列表开发前,你需要为新建的表单开发项目添加的引用。你需要做的就是重写该类中的一个方法:usingusingusingusingusingSystem;System.Collections.Generic;System.Text;UFIDA.U8.UAP.UI.Runtime.List;UFIDA.U8.UAP.UI.Runtime.Model;usingusing

30、usingusingusingusingusingSystem.Data;UFIDA.U8.UAP.UI.Runtime.List.Metas;System.Collections;System.Data.SqlClient;System.Diagnostics;UFIDA.U8.Portal.Framework.Commands;UFIDA.U8.Portal.Proxy.Accessory;namespaceufida.u8.uap.plugin.SalesVoucherpublicclassSalesOrderListBaseUIEventHandlerUFIDA.U8.UAP.UI.R

31、untime.List.UI./<summary>/实现该方法/</summary>/<paramname="eventType">UI事件类型</param>/<paramname="sender">事件触发者</param>/<paramname="args">事件对应的参数信息</param>publicoverridevoidProcessEvent(UFIDA.U8.UAP.UI.Runtime.List.UIEventTypeE

32、numeventType,objectsender,objectargs)/检验事件类型是否为自定义按钮事件if(eventType=UIEventTypeEnum.CUSTOMBUTTONCLICK)/取出按钮元数据信息ToolbarItemMetaitem=argsasToolbarItemMeta;/批审if(item.Id="SenDevBatchAudit")this.ProcessSenDevBatchAuditBtnEvent(sender,args);return;elseif(eventType=UIEventTypeEnum.DBCLICK)base.P

33、rocessEvent(eventType,sender,args);/<summary>/批审按钮处理方法/</summary>/<paramname="sender">事件触发者</param>/<paramname="args">事件对应的参数信息</param>tempLogin=newrefscriptSql,refselectCountSql);using(SqlConnectionconn=newSqlConnection)();ifSqlDataAdapteradap

34、ter=newSqlDataAdapter(scriptSql,conn);,-1)*,"temp");elseSqlDataAdapteradapter=newSqlDataAdapter(scriptSql,conn);SqlDataAdapteradapter1=newSqlDataAdapter(selectCountSql,conn);oString();(2)封装过滤条件封装过滤条件涉及到一个过滤窗口是否显示的问题。如果过滤窗口显示,我们可以通过过滤窗口为过滤查询赋值;如果要求过滤窗口不显示,并且需要设置查询条件,此时只能是先通过代码封装查询过滤条件,然后再传入

35、打开报表的方法。sSingleItem=true)temp2).varValue=filterValue1;elsetemp2).varValue=filterValue1;temp2).varValue2=filterValue2;UFGeneralListMetalistMeta=newUFGeneralListMeta();/组织数据源,此处使用数据引擎查询数据。UFGeneralListMetaUtil.SetBizDAEERQueryInfo(listMeta,"829345d6-79ce-48e5-9fa2-f78b5031d167","QuerySA

36、_QuoHeadData");#region设置数据引擎过滤条件Businessb=voucherObject.Businesses"SaleVouche_0001_E002"asBusiness;stringcurentRow=b.CurrentPKValue;BusinessRowsrows=b.Rows;/此处不再使用过滤,只能给其传输默认过滤条件。默认过滤条件的组织样式如下格式。/1、过滤列的名称必须在该处列表过滤条件所有可选的字段中。/2、操作符operator1为正常的Sql表到式中的where条件操作符。like等操作时需要自己添加必要的"

37、%"等/3、区间条件时需要最终的格式为<Itemkey="过滤列名称"operator1=">="val1="区间条件时值"operator2="<="val2="区间条件时值"/>/当然也可以将一个区间条件项分为两个条件项/ <FilterItems>/<Itemkey="/<Itemkey="/<Itemkey="区间条件时值"/>过滤列名称" operator1=&quo

38、t;=" val1="过滤列名称" operator1="like" val1="过滤列名称" operator1=">=" val1="值 "/>值 %"/>区间条件时值" operator2="<=" val2="/</FilterItems>StringBuildersb=newStringBuilder("<FilterItems>");for(inti=0;i

39、<rows.Count;i+)BusinessRowsomeRow=rowsi;if(someRow.Cells"iSOsID".Value=curentRow)stringquoCode=someRow.Cells"cQuoCode".Value;sb.Append("<Itemkey="ccode"operator1="like"val1=""+quoCode+"%"/>");break;sb.Append("</Fi

40、lterItems>");"SA_16", sb.ToString();"SaleVoucher" );UFGeneralListMetaUtil.SetBizDAEFilterInfo(listMeta,#endregion#region设置列表的栏目信息UFGeneralListMetaUtil.SetBizDAEColumnInfo(listMeta,#endregion/设置列表的二次开发界面事件实现类UFGeneralListMetaUtil.SetCustomeUIEventHandler(listMeta,"ufi

41、da.u8.uap.plugin.SalesVoucher.SalesOrderList,ufida.u8.uap.plugin.SalesVoucher");listMeta.DisplaySet =new DisplaySetMeta(/ 设置从列表中打开单据时需要的扩展信息listMeta.ExtendInfo =this .GetExtendInfo(单" , "ID" , "AutoID" , "16" , "16" ,true ,200);"SAM030101",

42、 "SA" , "SA03000101", " 销售报价09a4c1c2c新增实体展性2d新建表单表单莞里请选择新建表单的类型.单需类型单据者案类型_复杂档案_列表档案_树茏编辑档案_树也导肮档案适用于分级阚形结构)数据的档案J应用模式类似部门档案。名称3):|树形编辑档窠示例I确定取消I省比索更电”1M公ItllWAa七日*Irtt中舒多文本分起员登地框表格自定义腔呼we*赭调如巳箱内口Trt5&rVoh-.wajo«j展性4X主表实体日标识编号SaeVo-uche_0006_E001类型树形导肮实以名称主表E焉级发布状态E

43、m功能慎合)状态设置集合)E数籍编码规则1:2编吗字段cDepCode数据引擎业务对象工D:"a9632324-36b显示字段cDepIaae主犍cDepCode名市实体名称.蝌Q丁主表实体夕国”JbDepEnd人bShop日检识cCreGrade褊号cD«pA.ddress类型cDepCode名称cDepEmil曰高级cDepFax发布状态cgpGUID功能cD噌pMemo状态设置cD叩Name日数据cDepPerson编码视则cuepinone,nqiP人.船"八1嗝吗字户cDepCode-数据引挛业务对象ID二“4632324-36b显示字段cDepSaae

44、主键cDepCode编码字段设置树形数据实体中用于编码的字段.堂壬上划台黛k1ooroooor丽;os厂记好田将2九封二“拿完业MC5«7SBBG:注目U三百品早跳二5加入,$日二葬副苜羊Q望(T&的迨生当旺s+ypHTXSism总手I:用法毒Q)立邛,幅有(S)ua|(i;tf75田承岑闺&g勺索N,Q刁河a>s«=E用磁纸m广至初04日:祖加仃1田*有生3-3曲iC-3叫a病匚!C三在r芸至包幻玄幻必章Hq刍在的二_巨黄则闪回H守HG。5,不二包。口,力HIGF工色U也率*QFW阳酢6扣工“ngm岑R(显小项目名称161123459项赞项项项项辅义

45、38义义义义U定层定定定定一生自=一自自目自自a尸头头头头止堰表表表表表主普通目定义项居性I属性语言信息:I中文-简体二J参照类型:默认名称:输入顺序:数据类型:小数位数:必输口可为口禁止编辑合计:默认值:量大长度:20显示名称:数据显示格式化字符串I3Format$:#3从自定档案中读取信息I确定|取消4 3 4 5 6 7 X项项项项而 y定定定定e =目目目自白头头头头4 表表表表壬普通自定义项属性尉生二-=语言信息:中文-简体3怛照蚪默认名称:输入顺序: 数据类型; 小数位数: 口必输 可为口禁止编辑合计:显示名作:默认值:民大长度:数据显示格式化字符串Format$ :#p?i7F

46、3从自定档寞中读取信息 I确定® |取消©显大项目名称最上I上移下移最下I全选G)全消b客尸自定义项16表头目定义项3 表头目定义项4 表头目定义项5 表头目定义项6最上I上移下一一下全选)全消&««!自定义项扈性确定I取消普通自定义项属性确定9I取消©rin61ivNH8Jfl'i'髭犷此)xku3卧m血因T£*8不物QQSC|卬“C-K公£王为仁上;Ud街修仃于日W4ttCn>色m»ir»*an?>96a示七十,空,水包瓶»»3隔!;3d代,蜘猫空»#rt枚QttiH*;由占妥托代;班如皋*QB产立喟仪!qd学户调忖隼;Qdg芸E®6电总出切X。!a器世语=*;ua忸怎兮用于三SdH1ZW1X*I03的日谭AC;sa的将穿告巴楚!qdtuawmM3二*w»*r±r包装均图*七定!杓工础上卬r生产/野*m猊七生百叁冰产成幺AJMbC1;QBit尸/实外3«H#a1甲-1生芦工序冲0

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论