K3BOS培训—插件

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

BillHeads\BillHead\BillEntrys\ BillEntry\BOSFields\BOSFiel d—单据、单据头、单据体、单据
字段操作
提纲
• • • •
插件开发概述 插件开发基础 使用数据包开发插件 其它
插件开发向导 • VB Addin • 快速构建
– 客户端单据插件 – 客户端序时簿插件 – 中间层插件
– 方法 1
• 先使用 ToolPicture 属性指定一个图标的路径 • 再调用 SetPicture([Index As Long], [MaskColor As Long]) 方 法
– Index 代表了 » 0-Normal, 1-Pressed, 2-Mouse Hover, 3-Disabled
PublicNotCreatable
– 也可直接使用,如:
lUserID = BillEventObject.K3Lib. User.ID
K3Lib 重点
– Function LoadKDString(strGBText As String, [ResourceFile As String]) As String
K/3 BOS进阶培训—插件开发
常州金蝶软件
提纲
• • • •
插件开发概述 插件开发基础 使用数据包开发插件 其它
作用
• 插件的作用
– 实现单据、序时簿、基础资料序时簿中特殊的业务流 程处理 – 中间层数据改变时的特殊处理规则 – 个性化的菜单、外观定制;增加自定义的菜单并响应 其操作 – 对审核、消息流程的自定义控制
– …….
• 完成无法通过 K/3 BOS 标准功能实现 的个性化需求
开发环境 • 插件开发环境
– 金蝶K/3 v11
• 必选安装客户端、K/3 BOS,推荐同时安装中间层
– Microsoft Visual Basic
• 推荐使用 v6.0 版本,并且安装 SP5
– Microsoft Windows 2000 Server(及以上版 本)
总体模型
BOS
K3Lib Net User Account MenuBar BOSBands BOSTools BillHeads BillEntrys BOSFields ListEvents BaseClassEvent BillEvent BOSBand BOSTool BillHead BillEntry BOSField
– Sub UpdateData(SQLCode)
• 通过SQL语句从中间层访问数据库,更新数据 • 参数SQLCode可以是String(单条SQL语句),也可以是String() (多条 SQL语句)
– Function CreateK3Object(ClassString As String) As Object
BOSTools 重点
– Function Add(ToolName As String) As BOSTool
• 与ActiveBar的Tools的Add相比
– 可以在任何的BOSTools对象中调用 – ub InsertBefore(Index, oTool As BOSTool)
– 可以通过 Add 方法来新建BOSBand 对象。
BOSTools\BOSTool
BOSTool Alignment BeginGroup Caption CaptionPosition Checked Description Default Enabled ToolName ShortcutKey Style SubBand Tag ToolID TooltipText Visible ToolPicture
– 是 PublicNotCreatable 对象 – 在BillEvent、ListEvents、 BaseClassEvent对象中包含 MenuBar属性使用。例如:
Dim oMenuBar As K3ClassEvents.MenuBar Set oMenuBar = BillEventObject.Menubar
– 基本和ActiveBar的Tools、Tool对象属性、 方法一致 – BOSTools不能使用 For Each 方法遍历 BOSTool对象
– 可以通过 Add 方法来新建BOSTool对象
PasteToolFace(ByVal Index As Long = 0, ByVal MaskColor As Long) SetPicture(ByVal Index As Long = 0, ByVal MaskColor As Long )
• 通过这个函数在插件中创建K/3的对象,使得插件可以单独调试
练习 • GetData • UpdateData
– 多条SQL
• CreateK3Object
– 创建K3组件K3ClassTpl.DataSrv
BillHeads、BillEntrys
BillEvent BillHeads BillHead BOSFields BillEntrys BillEntry BOSField
插件开发向导 • 演示
MenuBar
• MenuBar、BOSBands、BOSBand、 BOSTools、 BOSTool
– 类似于 ActiveBar 对象的结构
MenuBar BOSTools BOSTool BOSBands BOSBand BOSTools
MenuBar • MenuBar
BOSTools Add(ByVal ToolName As String) As BOSTool InsertBefore(ByVal Index As Variant, oTool As BOSTool) InsertAfter(ByVal Index As Variant, oTool As BOSTool) Remove(ByVal Index As Variant) RemoveAll() Count() As Long Item(ByVal Index As Variant) As BOSTool
MenuBar
ActiveBand BOSBands BOSTools Refresh
– 在BillEvent、ListEvents、BaseClassEvent对象新增事件
• Sub MenuBarInitialize(ByVal oMenuBar As K3ClassEvents.MenuBar) • Sub MenuBarClick(ByVal BOSTool As K3ClassEvents.BOSTool, Cancel As Boolean)
接口对象 BillEvent—单据接口 ListEvents—序时簿接口 BaseClassEvent —基础资 料序时簿 辅助对象 K3Lib\Net\User\Account—
与金蝶K/3 交互
MenuBar\BOSBands\BOSBa nd\BOSTools\BOSTool—新增、
修改菜单和工具栏
• 推荐采用 Server 类操作系统作为开发、调试操作系统 • 注意:如果要使用“金蝶K/3-BOS插件开发向导”工具,需要 采用简体中文操作系统
– Microsoft SQL Server 2000数据库
注意事项 • 插件开发注意事项
– 合理的单据设计和流程设计 – 尽量使用BOS的内部逻辑
• • • • • • • • • • • 携带当前字段相关基础资料属性到指定列 计算定义公式的值并填写到指定列 计量单位变化后自动换算数量或单价 物料为非批号管理时锁定批号对应列 根据物料上数量单价精度设置数量单价精度 表达式为真/假时显示/隐藏字段 表达式为真/假时锁定/解锁字段 单据合法性校验 单据被引用后锁定字段 条件成立时锁定菜单项,否则解锁菜单项 合法性检查,检查字段唯一性
– Index 可以是数字,以表示当前BOSBand上的BOSTool的顺 序(与ActiveBar中的方法一致) – 也可以是一个BOSTool的Name(字符串)
– Sub InsertAfter(Index, oTool As BOSTool)
– 新增方法,特性与上相同
BOSTool 重点 • 如何给菜单添加图标
K3Lib
–是 对象 – 在BillEvent、ListEvents、 BaseClassEvent对象 中包含K3Lib属性使 用。例如:
Dim oK3 As K3ClassEvents.K3Lib Set oK3 = BillEventObject.K3Lib
K3Lib Net CommitMutex BeginMutex QueryFunc QuerySubSys Name User ID AccountName Account SetupType AccountID LoadKDString CreateK3Object GetData UpdateData GetK3Language
BOSBand Caption CurrentTool DockingArea DockingOffset DockLine Flags
– 基本和ActiveBar的Bands、Band对象 属性、方法一致 – BOSBands不能使用 For Each 方法遍 历BOSBand对象
BandName BOSTools BandType Visible Wrappable Refresh()
BillEntrys\BillEntry
分录相关信息
• 单据体对象
– 包含了和单据体相关 的属性 – 通过这些属性可以在 运行时操作单据体
• 功能
– 修改BOS默认菜单 – 新增菜单 – 处理事件标记 – 函数、事件、方法查询
注册文件 • VB注册BOS插件向导方法
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\Visual Basic\6.0\Addins\K3BOSPLUGINSADDIN.Connect] "FriendlyName"="K/3 BOS PlugIns Maker VB AddIn" "Description"="K/3 BOS PlugIns Maker VB AddIn" "LoadBehavior"=dword:00000003 "CommandLineSafe"=dword:00000000
– 方法 2
• 先调用 Clipboard.SetData 方法将图片复制到剪贴板 • 再调用PasteToolFace([Index As Long], [MaskColor As Long]) 方法
练习 • 在检斤单中添加“皮重”和“毛重”。 • 隐藏“插入一行”、“删除一行”和复制 行 • 更改mnuDataLookUp的标题为“查看”
– 是 PublicNotCreatable 对象 – 在BillEvent对象中包含使用。例如:
Dim oHead As K3ClassEvents.BillHead Set oHead = BillEventObject.BillHeads(1)
BOSFields BOSField
– BillHeads、BillEntrys、BOSFields不能使用 For Each 方法遍历对象
• 根据K3的语言,从指定的K3语言资源包中返回多语言化的资源 • 可以通过 ResourceFile 参数指定多语言资源包。默认使用BOS的语言资 源包
– Function GetData(SQLCode As String) As Object
• 通过SQL语句从中间层访问数据库,返回数据。返回值是 ADODB.Recordset 类型
BOSBands\BOSBand
BOSBands Add(ByVal BandName As String) As BOSBand Remove(ByVal Index As Variant) RemoveAll() Count() As Long Item(ByVal Index As Variant) As BOSBand
相关文档
最新文档