用友U870二次开发手册篇.doc_第1页
用友U870二次开发手册篇.doc_第2页
用友U870二次开发手册篇.doc_第3页
用友U870二次开发手册篇.doc_第4页
用友U870二次开发手册篇.doc_第5页
免费预览已结束,剩余274页可下载查看

下载本文档

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

文档简介

用友用友 U8 开发一月通开发一月通 第 1 页 共 279 页 用友用友 U8 开发一月通开发一月通 用友用友 U8 平台技术部平台技术部 ERP 事业部产品市场推广部事业部产品市场推广部 2007 年年 1 月月 用友用友 U8 开发一月通开发一月通 第 2 页 共 279 页 总策划 总策划 郉艳凯 主编 主编 张劲涛 李正 侯关士 撰稿 撰稿 陈鸿远 鞠进步 唐丰 胡景峰 郑芸 郑子阳 王振骞 陈文海 罗文印 吴小 山 李东 蔡再安 廖年兵 蒋志全 审校 审校 姜炜 胡春钰 魏勇 阚宇 鸣谢鸣谢 衷心感谢衷心感谢 U8 产品本部邓适宜总经理为本书所做的指导和点评产品本部邓适宜总经理为本书所做的指导和点评 衷心感谢衷心感谢 ERP 事业部向奇汉副总裁为本书的传播所给予的关注事业部向奇汉副总裁为本书的传播所给予的关注 衷心感谢衷心感谢 U8 平台技术部 平台技术部 U8 总体设计部 总体设计部 U8 供应链开发部 供应链开发部 U8 财务开发部 财务开发部 U8 行业行业 开开 发部 发部 ERP 事业部产品市场推广部在本书的写作推广过程中给予的大力支持和帮助事业部产品市场推广部在本书的写作推广过程中给予的大力支持和帮助 用友用友 U8 开发一月通开发一月通 第 3 页 共 279 页 目录目录 目录 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 3 6 挂接菜单 21 五 可执行文件 EXE 如何挂接到门户 22 六 UAP表单和UAP列表如何挂接到门户 23 七 如何不使用菜单调整工具增加和修改菜单 25 7 1 相关表结构 25 7 2 各种程序类型的增加方法 26 八 应用习题 28 第三节 界面设计与开发 28 3 1 档案开发 28 功能介绍 28 使用环境 29 使用说明 29 应用案例 29 应用技巧 29 应用习题 29 用友用友 U8 开发一月通开发一月通 第 4 页 共 279 页 相关控件 参照 列表 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 应用习题 67 4 2 功能权限控制 67 功能介绍 67 使用环境 67 使用说明 67 应用案例 73 应用技巧 74 应用习题 74 4 3 数据权限控制 75 功能介绍 75 使用环境 75 使用说明 75 应用案例 83 应用技巧 84 用友用友 U8 开发一月通开发一月通 第 5 页 共 279 页 应用习题 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 使用环境 98 使用说明 99 应用案例 101 应用技巧 102 应用习题 102 第六节 EAI 开发 102 第一节 EAI 功能介绍 102 第二节 EAI 二次开发模式 103 第三节 导入导出数据格式标准 105 第四节 支持哪些基础档案和业务单据的的导入导出 108 第五节 凭证的导入 111 第七节 工作流 112 功能介绍 112 使用过程 112 开发帮助 113 第八节 插件式开发 142 功能介绍 142 使用环境 142 使用说明 143 应用案例 143 应用技巧 143 应用习题 143 第三篇 第三篇 UAP 应用开发应用开发 144 第一节 UAP 功能介绍 144 第二节 UAP 安装与卸载 145 第三节 UAP 应用环境及流程 145 用友用友 U8 开发一月通开发一月通 第 6 页 共 279 页 第四节 项目定义 145 4 1 使用项目 145 4 2 项目的导入导出 146 4 3 任务管理 147 第五节 表单管理 148 5 1 应用开发 148 5 1 1 UAP 表单模型 148 5 1 2 表单结构设计 148 5 1 3 布局视图设计 153 5 2 表单二次开发接口 157 功能介绍 157 使用环境 157 使用说明 158 应用案例 170 应用技巧 175 应用习题 175 5 3 列表二次开发接口 176 功能介绍 176 使用环境 176 使用说明 176 应用案例 180 应用习题 180 5 4 后台服务二次开发 180 功能介绍 180 使用环境 181 使用说明 181 应用案例 183 应用技巧 184 应用习题 185 第六节 报表管理 185 6 1报表概述 185 6 2 使用报表 186 使用说明 186 应用习题 189 6 3 报表二次开发接口 189 使用说明 189 应用习题 196 第七节 单据转换规则 196 功能介绍 196 使用环境 196 使用说明 196 应用技巧 198 第八节 产品发布 198 UAP项目发布 198 用友用友 U8 开发一月通开发一月通 第 7 页 共 279 页 功能介绍 198 使用环境 199 使用说明 199 二次开发DLL部署 200 使用环境 200 使用说明 200 应用案例 201 应用技巧 202 应用习题 202 第九节 其它功能介绍 202 1 参照 202 参照设计器 202 参照组件 212 2 菜单设计器 238 3 应用角色 238 功能介绍 238 使用说明 239 4 数据引擎定义工具 239 功能介绍 239 使用说明 240 备注备注 262 应用技巧 262 应用习题 262 5 商业敏感数据工具 263 功能介绍 263 使用说明 263 应用技巧 266 应用习题 266 6 栏目设计器 266 功能介绍 266 使用说明 266 应用技巧 268 应用习题 268 7 过滤设计器 268 功能介绍 268 使用说明 268 应用技巧 273 应用习题 274 第四篇 开发技巧第四篇 开发技巧 275 第一节 MSSQL2000 脚本生成器 275 功能介绍 275 使用环境 275 使用说明 275 应用案例 275 用友用友 U8 开发一月通开发一月通 第 8 页 共 279 页 应用技巧 275 应用习题 275 第二节 单据模板预置工具 276 功能介绍 276 使用环境 276 使用说明 276 应用案例 276 应用技巧 276 应用习题 276 第三节 年结易用性工具 276 功能介绍 276 使用环境 276 使用说明 277 应用案例 277 应用技巧 277 应用习题 277 第五篇 习题解答第五篇 习题解答 278 用友用友 U8 开发一月通开发一月通 第 9 页 共 279 页 开篇导读开篇导读 今天 企业种类多样 业务流程更加复杂 ERP 包含的功能越来越多 长期以来 ERP 厂商一直都在努力 试图开发一个能满足各种企业的各种业务的 ERP 系统 但是 客户的 业务流程总是会变 客户的需求总是层出不穷 变化的速度远远超过了 ERP 厂商推出新版 本或开发新产品的速度 ERP 厂商疲于奔命 即使使尽浑身解数也吃力不讨好 经过冷静 思考 我们可以从低级的生物生态链找到卸掉 ERP 厂商多年包袱的原型办法 ERP 厂商 增值开发商 集成开发商和 ERP 最终用户形成了企业应用软件的链条 他们承担了不同的 职责 获得不同的利益 ERP 厂商集中精力开发标准产品 负责提供功能强大的二次开发 平台和集成开发平台 为支持灵活的客户化工作提供技术支持 客户化有三个级别 第一 个级别是系统配置客户化 ERP 软件支持通过配置用户接口和业务操作来满足客户的业务 要求 第二个级别是允许客户修改 在软件许可的情况下 把部分 ERP 软件模块的代码开 放给用户 ERP 内置的系统部件拥有特殊的代码容器 容器可以大大简化对客户修改代码 的管理 升级和测试 第三个级别是提供修改服务 不用做很大的客户化工作 ERP 软件 就能满足客户的大部分需求 因为独特的业务环境 客户还是有个性化的需求 ERP 软件 厂商提供开发工具或开发平台 充分利用客户或增值开发商的技术资源来实现客户的个性 要求 只要客户化工作严格遵循 ERP 软件的编程规范 产品兼容性和集成就不是问题 用友不遗余力 一直想探索好的科学的客户化工程 曾经开放过部分 U8 的源代码 因 为无法或不能很好的升级客户化产品 只好做罢 U8 已经能支持第一个级别的客户化工程 通过参数配置可以满足一部分客户要求 但是 U8 真正灵活的客户化能力支持却要体现在 第三个级别 U8 呈现给用户的要是强大的二次开发平台 针对 U870 产品 我们已经暴露 了部分控件 比如 登录控件 参照控件 打印控件 自定义报表控件 单据控件和凭证 控件 的部分编程接口 我们也支持在 U8 门户挂接二次开发接点等 另外我们重拳推出了 UAP 开发平台 它针对不同角色 客户 实施 开发 伙伴等 的人员提供了友好 稳定 快速的开发及实施平台 通过平台技术使编码人员得到最大的解放 希望通过此教程可以 为不同角色的您提供最大能力的提升 用友用友 U8 开发一月通开发一月通 第 10 页 共 279 页 第一篇 第一篇 U8 开发模式介绍开发模式介绍 学习基础 学习基础 学习此部分内容要具备的基础知识学习此部分内容要具备的基础知识 学习目的 学习目的 学习完此部分内容后要达到的目标学习完此部分内容后要达到的目标 掌握重点 掌握重点 此部分内容的重点掌握对象此部分内容的重点掌握对象 第一节第一节 U8 开发模式开发模式 介绍介绍U8的开发方法与步骤的开发方法与步骤 第二节第二节 U8 二次开发模式二次开发模式 总体介绍总体介绍U8二次开发模式分为二次开发模式分为UAP开发和基于控件的开发和基于控件的U8二次开发两种 下面两节二次开发两种 下面两节 分别介绍两种不同开发模式的优缺点和应用环境 为什么两种模式都存在 在进行二次开分别介绍两种不同开发模式的优缺点和应用环境 为什么两种模式都存在 在进行二次开 发时 如何根据具体情况选择不同的开发模式 发时 如何根据具体情况选择不同的开发模式 2 1 U8 二次开发二次开发 2 2 UAP 开发开发 用友用友 U8 开发一月通开发一月通 第 11 页 共 279 页 第二篇 第二篇 U8 二次开发二次开发 学习基础 学习基础 学习此部分内容要具备的基础知识学习此部分内容要具备的基础知识 学习目的 学习目的 学习完此部分内容后要达到的目标学习完此部分内容后要达到的目标 掌握重点 掌握重点 此部分内容的重点掌握对象此部分内容的重点掌握对象 第一节 应用程序框架简介第一节 应用程序框架简介 第二节 门户开发与集成第二节 门户开发与集成 一 功能概述一 功能概述 如何使伙伴二次开发的程序很好地和 U8 产品集成在一起 需要满足什么条件的程序才 能和门户集成 如何开发一个满足这个条件的程序 本文将为您解答这些问题 二 名词解释二 名词解释 2 1 菜单调整工具菜单调整工具 功能 调整菜单位置 新增 修改 删除菜单 除 U8 系统菜单外 菜单调整工具在 UAP 中 通过菜单 工具 菜单调整工具 进入 2 2 idt dll 文件文件 位置 在 U8 安装目录的 Portal 目录里 该文件其实是一个 xml 文件 可以用任何文本编辑器打开 其内容描述了双击每个末级菜单项目时需要调用的物理程序 用友用友 U8 开发一月通开发一月通 第 12 页 共 279 页 三 如何开发可与门户集成的三 如何开发可与门户集成的 VB dll 3 1 代码修改代码修改 3 1 1 引用工程引用工程 UFPortalProxyInterface 文件位置 U8 安装路径 Portal UFPortalProxyInterface dll 3 1 2 相关代码修改相关代码修改 clsProductFacade 文件为门户的入口文件 即在idt dll 文件后assembly 项所对应的类 名 如下所描述的 首先 idt dll 中assembly 属性描述的对应类要实现接口ILoginalbe 比如idt dll 中描述了如下信息 则要在clsProductFacade 中实现ILoginable 接口 即用代码 Implements UFPortalProxyInterface ILoginable 然后在该接口的实现函数中转发调用原先工程中的 Login CallFunction Logoff 三个方法 具体参见后附的例子 在左树启动一项命令时依次调用 Login 和CallFunction 在门户退出或 在权限管理中结束该产品时调用LogOff 子系统必须自己维护是否已经进行了子系统登录过程 业务系统须维护子系统是否已经 登录 Login 对象从g business 中通过调用GetVBclsLogin 方法获得 各接口含义如下 1 Login 接口 Private Function ILoginable Login As Boolean 不管弹出的是模式窗 体还是非模式窗体 此接口在成功登录后须返回 True 而且要保证登录成功后 第二次调用 此接口时也要返回 True 只有在登录失败后方可返回 False 也就是说此接口返回值的含义 是是否已经成功登录子系统 2 LogOff 接口 Private Function ILoginable LogOff As Boolean 此接口的含义是执 行 LogOff 过程 如查成功使该子系统牌 LogOff 状态返回 True 否则返回 False 也就是说 如果该子统还未登录 则真接返回 False 就可以了 如果系统处于已经登录的过程 则执 行业务组原有所需的 LogOff 过程 如果执行功能 正确 LogOff 了子系统 则返回 True 否则返回 False 如果在实际程序中没有此过程 则直接返回 True 即可 用友用友 U8 开发一月通开发一月通 第 13 页 共 279 页 3 CallFunction 接口 Private Function ILoginable CallFunction As Boolean 如果 861 产品没有子系统登录过程的产品 此值须返回 True 4 对于显示模式窗体的产品 如果已经申请了任务 请在模式窗体退出时自已清除任 务 实现这三个方法的例子如下 Private Function ILoginable Login As Boolean If g bLogined True Then ILoginable Login True Exit Function End If If Not g business Is Nothing And g bLogined False Then Dim oLoginTmp As Object Set oLoginTmp g business GetVBclsLogin Set g oLogin oLoginTmp ILoginable Login Login oLoginTmp If ILoginable Login True Then g bLogined True End If Else ILoginable Login Not g business Is Nothing End If End Function Private Function ILoginable LogOff As Boolean If g bLogined True Then ILoginable LogOff LogOff If ILoginable LogOff True Then g bLogined False End If Else ILoginable LogOff True End If End Function 3 1 2 1 增加增加 Business 属性属性 可读可写 且对大小写敏感 此属性维护一个对于此业务工程全局变量 以实现和 VB 程 序和870Portal 的交互 参考实现如下 Public Property Get Business As Object Set Business g business End Property 用友用友 U8 开发一月通开发一月通 第 14 页 共 279 页 Public Property Set Business busVal As Object Set g business busVal End Property 3 1 2 2 增加全局变量增加全局变量 新建一 module 文件 并加入如下全局变量 Public g business As Object Public g bLogined As Boolean 3 1 3 三种窗体三种窗体 3 1 3 1 修改嵌入修改嵌入 Portal 的窗体文件的窗体文件 原来有 MdiExtender 控件的窗体 要嵌入 Portal 的窗体 修改方法 调用 CreateFormEnv 方法 调用 ShowForm 方法 每个窗体都要有方法 ExitForm 3 1 3 2 修改第一次弹出就是模态的窗体修改第一次弹出就是模态的窗体 可以直接使用通过采用VB 窗体的Form Show vbModal 的方式 也调用ShowForm 方法来 显示此窗体 3 1 3 3 由嵌入由嵌入 Portal 的窗体弹出的窗体 的窗体弹出的窗体 不作修改 如果是模式窗体 请在此窗体上加入 UFFormPartner 控件 3 1 4 UFToolbar 的修改的修改 3 1 4 1 在在 Settoolbar 之前将之前将 g business 传入传入 3 1 4 2 在在 Settoolbar 之前设置之前设置 Tag 信息信息 设置微软 Toolbar 每个 Button 的 Tag 信息 调用 CreatePortalToolbarTag 方法设置 示例 用友用友 U8 开发一月通开发一月通 第 15 页 共 279 页 button Tag CreatePortalToolbarTag ICON NEW ICOMMON PortalToolbar 注意 严禁创建多次 3 1 4 2 1 图标图标 人机工程部给出完整的图标 并制定相应文件的命名规格 放在 U8SOFT 的icons 目录下 直接使用图标的文件名 不需扩展名 3 1 4 2 2 分组分组 常用 ICOMMON 如打开 保存等 编辑 IEDIT 如增行 拷贝单元格等 处理 IDEAL 如审核 分单等 查询 ISEARCH 如过滤 联查等 3 1 4 2 3 类型类型 PortalToolbar 目前填入此值即可 3 1 4 3 在窗体的在窗体的 Unload 事件中加入事件中加入 Set UFToolbar1 Business Nothing 3 1 5 中间过程中间过程 3 1 5 1 判断窗体是否打开判断窗体是否打开 FormIsOpened 3 1 5 2 设置并激活某个已经存在的窗体设置并激活某个已经存在的窗体 SetFormActive 3 1 5 3 在显示过程中在显示过程中 窗体已经显示窗体已经显示 关闭自身窗体关闭自身窗体 CloseForm 用友用友 U8 开发一月通开发一月通 第 16 页 共 279 页 3 2 常见问题常见问题 程序已经修改 双击门户节点时没有反应 调用状态进不了 VB 程序 未正确修改 clsProductFacade 文件 窗体已经嵌入到 Portal 中 但 Toolbar 的相关信息未转移到门户的工具栏上 是否正确设置了每个 Button 的 Tag 信息 3 3 参考参考 3 3 1 ShowForm 显示嵌入 Portal 的窗体 Public Function ShowForm ByVal obj As Object ByVal SubID As String ByVal sKey As String Optional modalable As Boolean False Optional DockToProtal As Boolean True Optional ByVal vfd As Object As String obj Form 对象 SubID 子产品号 sKey Key 注意不能是 form 的 Hwnd 在窗体的生命周期中 此值必须唯一 modalable 该窗体是否为 Model 窗口 DockToProtal 是否要嵌入到 Portal 中 vfd 由 CreateFormEnv 对象的返回对象 3 3 2 CreateFormEnv 初始化嵌入Portal 的环境 Public Function CreateFormEnv ByVal sKey As String ByRef formObj As Object As VBFormDescriptor sKey Key 注意不能是 form 的 Hwnd 在窗体的生命周期中 此值必须唯一 formObj Form 对象 3 3 3 CloseForm 关闭一个已经打开的窗体 用友用友 U8 开发一月通开发一月通 第 17 页 共 279 页 Public Function CloseForm ByVal sKey As String ByVal obj As Object sKey Key 注意不能是 form 的 Hwnd 在窗体的生命周期中 此值必须唯一 obj Form 对象 3 3 4 FormIsOpened 判断某个 Key 值的窗体是否已经打开 Public Function FormIsOpened ByVal sKey As String sKey Key 注意不能是 form 的 Hwnd 在窗体的生命周期中 此值必须唯一 3 3 5 CreatePortalToolbarTag 创建Toolbar 的Tag 信息 Public Function CreatePortalToolbarTag Image As String actionSet As String toolbarType As String As String Image 按钮的图片 actionSet 分组 toolbarType 分组 Toolbar 的类型 3 3 6 SetFormActive 使某个窗口成为当前窗口 Public Function SetFormActive ByVal sKey As String ByVal obj As Object sKey Key 注意不能是 form 的 Hwnd 在窗体的生命周期中 此值必须唯一 obj Form 对象 用友用友 U8 开发一月通开发一月通 第 18 页 共 279 页 3 4 挂接菜单挂接菜单 需要 idt dll 中增加记录 id ua menu cmenu id type 0 assembly dll 类名 四 如何开发可与门户集成的四 如何开发可与门户集成的 NET User Control net user control 与门户集成需要建立实现 IUserControl 接口的组件 4 1 通过通过 建立一个项目类型为类库的项目建立一个项目类型为类库的项目 此处项目名称为 UFIDA U8 UAP Demo ProjectManage 自动生成 菜单的多语名称 将在 U8 左树菜单里显示 如果是文件夹这里选否 如果控制功能权限 这里就 选是 这里选择 VB DLL VB DLL 时 此项无效 输入 VB DLL 的完整类名称 用友用友 U8 开发一月通开发一月通 第 19 页 共 279 页 4 2 实现接口实现接口 IUserControl 在该项目中添加以下 DLL 的引用 U8 安装路径 UAP RUNTIME UFIDA U8 Portal UAPFacade dll U8 安装路径 UAP Interop U8Login U8 安装路径 uap UFIDA U8 Portal Framework dll U8 安装路径 uap UFIDA U8 Portal Proxy dll U8 安装路径 Windows Form dll U8 安装路径 uap UFIDA U8 Portal Common dll 然后实现接口 IuserControl IUserControl 接口有三个方法 1 2 1 Control CreateControl U8Login clsLogin login string MenuID string Paramters 功能描述 该方法创建要显示的 usercontrol 参数描述 login u8 登陆对象 该对象不能转换成 u8Login clsLoginClass MenuID 打开的菜单 ID Paramters 菜单的参数描述 它是一个 XML 字符串 其定义格式如下 dllpath dll 的路径 要用 u8soft 的相对路径 最好放在 uap 目录下 id UserContrl 唯一标识 其值自定 type 属性值必须为 IUserControl 区分大小写 parameters 需要给程序 UserControl 传送的数据 格式自定 返回值 要显示的 usercontrol 用法 要在门户中显示自定义的窗体 必须在此函数内实例化一个从 control 继 承过来的对象 并且返回该对象 1 2 2 VoucherAction CreateToolbar U8Login clsLogin login 功能描述 在 u8 门户上创建 Toolbar 对象 参数描述 login 当前的 u8 登陆对象 返回值 toolbar 对象数组 VoucherAction 对象是一个 toolbar button 的描述其用法如下 其参数描述如下 public VoucherAction string text string toolTip bool isSystemButton bool isHavePopedom string id IActionDelegate dele VoucherActionType typeName int sortNo string parentKey string authID Text button 的名称 toolTip 提示名称 isSystemButton 是否系统按钮 isHavePopedom 是否需要权限控制 id toobar button 的 ID 该 ID 不允许重复 如果重复则后添加的对象无效 dele action 的代理对象 在该代理内实现 toolbar 的具体操作 typeName toolbar button 共分四种类型 类型相同的 toolbar button 显示在同一组中 sortNo 排序号 parentKey 父键 如果没有则为 null authID 权限 ID 用法 定义 toolbar 返回对象 UFIDA U8 Portal UAPFacade VoucherAction actions new VoucherAction 2 定义toolbar的处理事件 UserActionDelegate actionDelegate new UserActionDelegate 实例化toolbar button对象 actions 0 new VoucherAction 确定 false false btnOK actionDelegate VoucherActionType Normal 1 null null actions 0 new VoucherAction 取消 false false btnCancel actionDelegate VoucherActionType Normal 1 null null 返回要显示的toolbar return actions 1 2 3 bool IUserControl CloseEvent 功能描述 usercontrol 的关闭事件 用友用友 U8 开发一月通开发一月通 第 21 页 共 279 页 参数描述 返回值 是否关闭当前窗体 如果是 true 则关闭 否则保持当前状态 4 3 编译该控件输出编译该控件输出 DLL 编译出的 DLL 推荐拷贝到 u8soft uap runtime 目录下 4 4 替换文件替换文件 替换文件 替换到 U8 安装目录 UAP RUNTIME 下 UFIDA U8 Portal UAPFacade dll 3 5 示例源程序代码示例源程序代码 示例源程序 UFIDA U8 UAP Demo PeopleManager rar 3 6 挂接菜单挂接菜单 输入 只能由字母和数 字组成 菜单的多语名称 将在 U8 左树菜单里显示 如果是文件夹这里选否 如果控制功能权限 这里就 选是 这里选择 NET Usercontrol NET Usercontrol 时 此 项无效 形如 用友用友 U8 开发一月通开发一月通 第 22 页 共 279 页 五 可执行文件 五 可执行文件 EXE 如何挂接到门户 如何挂接到门户 1 打开菜单调整工具 2 鼠标选中需要挂接的文件夹 如果没有可以用菜单调整工具新建文件夹 点新增 按钮 3 4 保存后 自动生成一个菜单编号 这里是 UA8 自动生成 菜单的多语名称 将在 U8 左树菜单里显示 如果是文件夹这里选否 如果控制功能权限 这里就 选是 这里选择 EXE EXE 时 参数无效这里输入 EXE 文件的路径 是一个相对于 U8 安装路径的相对路 径 举例 U8 安装在 E U8Soft 这里设置为 EAI U8EAI exe 表示 E U8Soft EAI U8EAI exe 自动生成 菜单的多语名称 将在 U8 左树菜单里显示 如果是文件夹这里选否 如果控制功能权限 这里就 选是 这里选择 EXE EXE 时 参数无效这里输入 EXE 文件的路径 是一个相对于 U8 安装路径的相对路 径 举例 U8 安装在 E U8Soft 这里设置为 EAI U8EAI exe 表示 E U8Soft EAI U8EAI exe 用友用友 U8 开发一月通开发一月通 第 23 页 共 279 页 5 用文本编辑器打开并修改E U8Soft Portal idt dll 文件 这里E U8Soft 为U8 安 装路径 在文件末尾的前面增加一行 六 六 UAP 表单和表单和 UAP 列表如何挂接到门户列表如何挂接到门户 1 挂接UAP 表单 用友用友 U8 开发一月通开发一月通 第 24 页 共 279 页 2 挂接UAP 列表 输入 只能由字母和数 字组成 菜单的多语名称 将在 U8 左树菜单里显示 如果是文件夹这里选否 如果控制功能权限 这里就 选是 这里选择 UAP 表单 UAP 表单时 此项无效 形如 的字符串 这里 UAPTrain 0009 为表单编号 输入 只能由字母和数 字组成 菜单的多语名称 将在 U8 左树菜单里显示 如果是文件夹这里选否 如果控制功能权限 这里就 选是 这里选择 UAP 表单 用友用友 U8 开发一月通开发一月通 第 25 页 共 279 页 七 如何不使用菜单调整工具增加和修改菜单七 如何不使用菜单调整工具增加和修改菜单 7 1 相关表结构相关表结构 7 1 1UA Menu 表结构表结构 字段名数据类型含义 AutoIDuid 自动编号 cMenu IdString 菜单编号 自动产生 不 可修改 cMenu NameString 菜单名称 输入 cMenu EngString 程序类型 cSub IdString 模块标识 程序处理 IGradeInt16 级次 根据当前选中菜单 程序自动处理 cSupMenu IdString 上级菜单编号 根据当前 选中菜单程序自动处理 bEndGradeBoolean 是否末级 输入 cAuth IdString 功能权限编号 程序内部 处理 控制权限时有效 cAuth Id cMenu Id iOrderInt32 显示顺序号 程序处理 iImgIndexInt32 图标索引号 暂不用 ParamtersString 参数 输入 只有末级菜 单才允许录入参数 DependsString 依赖 暂不用 FlagInt 标志 暂不用 7 1 2UFMenu Business Lang 表结构 菜单的多语表 表结构 菜单的多语表 字段名数据类型含义 UAP 列表时 此项无效 形如的字符串 这里 UAPTrain 0009 为表单编号 eea90b20 4a2b 4149 8d00 820818dcd38f 为表单列表 ID 用友用友 U8 开发一月通开发一月通 第 26 页 共 279 页 MenuId菜单标识 对应 UA Menu 表的 cMenu Id 值 Caption菜单显示名称 简体中文名 称显示的是 UA Menu 表的 cMenu Name 值 LocaleId语言区域 ZH CN 简体中文 ZH TW 繁体中文 EN US 英文 注 U8 的系统菜单在UFSystem 库里 UAP 新增或者菜单调整工具新增的菜单在UFData 库 里 二次开发增加的菜单也要求在UFData 库里 7 2 各种程序类型的增加方法各种程序类型的增加方法 7 2 1VB DLL UA Menu ua menu cmenu id UA 顺序号 ua menu csub id null ua menu Paramters null UA Menu cMenu Eng 0 需要 idt dll 中增加记录 id ua menu cmenu id type 0 assembly dll 类名 7 2 2 EXE UA Menu ua menu cmenu id UA 顺序号 ua menu csub id null ua menu Paramters null UA Menu cMenu Eng 1 用友用友 U8 开发一月通开发一月通 第 27 页 共 279 页 需要 idt dll 中增加记录 id ua menu cmenu id type 1 assembly EXE 文件路径 相对于 U8 安装的相对路径 7 2 3 UAP 表单表单 处理 UAP 增加的菜单无意识被删除需要手工添加 或者 需要 UAP 菜单挂接不同 位置 UA Menu ua menu cmenu id UA 顺序号 ua menu csub id UA ua menu Paramters 形如的字 符串 这里 UAPTrain 0009 为表单编号 UA Menu cMenu Eng 2 不需要在 idt dll 中增加记录 7 2 4UAP 列表列表 处理 UAP 增加的菜单无意识被删除需要手工添加 或者 需要 UAP 菜单挂接不同位 置 UA Menu ua menu cmenu id UA 顺序号 ua menu csub id UA ua menu Paramters 形如 的字符串 这里 UAPTrain 0009 为表单编号 eea90b20 4a2b 4149 8d00 820818dcd38f 为表单列表 ID UA Menu cMenu Eng 3 用友用友 U8 开发一月通开发一月通 第 28 页 共 279 页 不需要在 idt dll 中增加记录 7 2 5 Net UserControl 系统定义一个接口 IUserControl 只有两个属性 U8Login 对象和菜单对象 对应的菜 单行数据 如果 Net UserControl 需要 U8Login 对象必须实现这个接口 否则可以不实现 这个接口 UA Menu ua menu cmenu id UA 顺序号 ua menu csub id UA ua menu Paramters dllpath dll 的路径 要用 u8soft 的相对路径 最好放在 uap 目录下 id UserContrl 唯一标识 其值自定 type 属性值必须为 IUserControl 区分大小写 parameters 需要给程序 UserControl 传送的数据 格式自定 UA Menu cMenu Eng 4 不需要在 idt dll 中增加记录 八 应用习题八 应用习题 1 简述菜单调整工具的作用 2 开发一个 VB DLL 并挂接到 U8 门户上 第三节 界面设计与开发第三节 界面设计与开发 3 1 档案开发档案开发 功能介绍 功能介绍 能实现的功能详细介绍能实现的功能详细介绍 用友用友 U8 开发一月通开发一月通 第 29 页 共 279 页 使用环境 使用环境 开发环境的介绍开发环境的介绍 使用说明 使用说明 开发过程详细说明开发过程详细说明 应用案例 应用案例 开发案例 详细说明实现的功能及实现的过程开发案例 详细说明实现的功能及实现的过程 应用技巧 应用技巧 开发技巧介绍开发技巧介绍 应用习题 应用习题 2至至3道习题道习题 相关控件 参照相关控件 参照 列表列表 MDIExtend 3 2 单据开发单据开发 功能介绍 功能介绍 单据控件为实现各业务产品组中各种单据的数据处理 该控件实现数据分层处理 单据控 件以 OCX 提供给各个业务模块使用 包括 WEB 组 业务组在使用前初始化单据控件 最 终业务模块从单据控件取得数据按各自的业务规则检查合法后保存 U870 版本的单据控件有以下新特性 支持 Web 对后台数据实现分层处理 支持各种模版样式 支持无表体单据样式 支持无表头单据样式 数据更新状态智能标记 支持表头 表体附件 用友用友 U8 开发一月通开发一月通 第 30 页 共 279 页 表体汇总 表体批量修改 使用环境 使用环境 支持环境为 U870 以上版本 使用说明 使用说明 在在 VB 中引用单据控件中引用单据控件 在 VB 中点击主菜单中的 工程 部件 或者直接按 Ctrl T 热键 随后出现的 部件 对 话框中选中 UAPVoucherControl85 然后点击 确定 左侧的工具条中将出现该控件的 图标 如下图所示 OCX 文件的方法函数图例如下 用友用友 U8 开发一月通开发一月通 第 31 页 共 279 页 单据控件的主要属性单据控件的主要属性 BackColor BackColorBkg BackColorFixed BackColorSel BackColorTotal 属性 属性 返回或设置单据控件不同的背景颜色 语法语法 voucher BackColor color voucher BackColorBkg color voucher BackColorFixed color voucher BackColorSel color voucher BackColorTotal color 参数说明参数说明 参数参数描述描述 Voucher单据控件名称 Color一个指定的颜色值 备注备注 下图为 Voucher 属性设置效果 用友用友 U8 开发一月通开发一月通 第 32 页 共 279 页 Example Note 如要设置这些属性值 必需在设置完模板数据后再设置才能起作 用 Private Sub Form Load Timer1 Interval 500 End Sub Private Sub Timer1 Timer Voucher1 BackColorBkg QBColor Rnd 15 Voucher1 BackColorFixed QBColor Rnd 10 Voucher1 BackColorSel QBColor Rnd 10 Voucher1 BackColorSelTotal QBColor Rnd 10 End Sub Col Row ColSel RowSel 属性属性 返回或设置当前表体活动单元格的行列坐标 此属性在设计状态不可用 语法 语法 voucher Col number voucher Row number 参数说明参数说明 参数参数描述描述 Voucher单据控件名称 number一个指定的指定活动单元行列的数值 备注 备注 使用 Col Row 属性来指定活动单元格 Col 0 Row 0 Col Cols Row Rows 设置完 Col Row 值后 ColSel 和 RowSel 将自动变更成 Col Row 更说细的 说明 请参照 MSDN Examples Public Sub Command Click Voucher Col 50 Voucher Row 20 Debug Print Voucher1 Col Debug Print Voucher1 Row Debug Print Voucher1 ColSel Debug Print Voucher1 RowSel End Sub 用友用友 U8 开发一月通开发一月通 第 33 页 共 279 页 TitleCaption TitleFont TitleForeColor ToolTipText 返回或设置标题各项属性值 语法 语法 voucher TitleCaption string voucher TitleFont font voucher TitleForeColor color voucher ToolTipText string 参数说明 参数说明 参数参数描述描述 Voucher单据控件名称 Color一个指定的颜色值 string字符串表达式 Font指定的字体对象 注 注 这些属性的赋值操作必须在 setT

温馨提示

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

评论

0/150

提交评论