ImageVerifierCode 换一换
格式:DOCX , 页数:22 ,大小:59.19KB ,
资源ID:19958304      下载积分:12 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/19958304.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(金蝶Bos基础二次开发Word格式文档下载.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

金蝶Bos基础二次开发Word格式文档下载.docx

1、组件部署:客户端%Kdsystem%程序名:KdLogin.clsLogin方法名:GetAccountList参数描述GetAccountList() As ADODB.Recordset参数:无返回值类型:ADODB.Recordset,包含字段:序号字段名描述1FAcctID账套ID2FAcctNumber账套代码3FAcctName账套名称5) 测试登录参数设置是否成功的接口KdLogin.NoUILoginLoginUserPublic Function LoginUser(ByVal sLoginType As String _ , ByVal sAcctNumber As Str

2、ing _ , ByVal sOrgPass As String _ , ByVal sUserName As String _ , ByVal sUserPass As String) As String参数:参数类型sLoginTypeString登录方式:-LoginWin 域用户身份登录-LoginUser 命名用户身份登录sAcctNumbersOrgPass组织机构密码例如:账套代码为:10.02,则为组织机构10的密码.4sUserName用户名,域用户身份登录时为空5sUserPass用户密码,域用户身份登录时为空String,空字符串代表登录成功,否则登陆不成功,内容为登录不

3、成功的原因。1.3 基础资料的图片读写1.显示图片1.1)从数据库取得图片的二进制数据 Dim bytFile() As Byte 根据取数SQL生成记录集:select FFile from t_Accessory bytFile= rs.Fields(FFILE)1.2)保存到文件 Dim smFile As adodb.Stream Set smFile = New adodb.Stream smFile.Type = adTypeBinary smFile.Open smFile.Write bytFile smFile.SaveToFile m_sTempFileName, adSa

4、veCreateOverWrite1.3)解压缩 Dim ozip As Object Set ozip = CreateObject(KDZIP.ZIP) ozip.DeCompress m_sTempFileName, sFileName1.4)显示出来 Set Img.Picture = LoadPicture(sFileName)1. 保存图片2.1)对图片进行压缩,压缩强度为 6 Set dzip = CreateObject( dzip.Compress App.Path & 1.bmp, App.Path &1.zip, 62.2)读取文件 Set mstream = New A

5、DODB.Stream mstream.Type = adTypeBinary mstream.Open mstream.LoadFromFile App.Path & Dim varFile() As Byte varFile = mstream.Read()2.3)修正字节数,必须是偶数个(从0到奇数) lFileSize = UBound(varFile) + 1 - (UBound(varFile) Mod 2) ReDim Preserve varFile(0 To lFileSize) As Byte2.4)把压缩后的图片导入到t_accessory表中 con = Persist

6、 Security Info=True;Provider=SQLOLEDB.1;User ID=sa;Password=;Data Source=?;Initial Catalog=AIS20091116094820 sql1 = select * from t_accessory where FID=1 Set rs = New ADODB.Recordset rs.Open sql1, con, adOpenDynamic, adLockOptimistic rs.Fields(FFile).AppendChunk varFile() rs.Update1.4 K/3自定义认证开发方法目的

7、:提供用户可定义的K/3主控台登陆方法,用户可以按自己的方式验证,例如:实现指纹认证,声音认证。适用于K/3V10.3及以后版本。:1. 新建VB工程:SelfIdentity.VBP2. 添加一个窗体Form.frm3. 添加一个模块Module1.mod包含以下定义:Public g_strAcctName As StringPublic g_UserName As StringPublic g_UserPassWord As String4. 添加类ClsIdentity.cls包含以下两个接口Public Function SeftClientSign(strAcctName As S

8、tring, UserName As String, UserPassWord As String, ErrMsg As String) As Long If UserName = g_UserName And g_strAcctName = strAcctName And g_UserPassWord = Trim(UserPassWord) Then SeftClientSign = 1 End IfEnd FunctionPublic Function GetSelfPassWord(ByVal strAcctName As String, ByRef UserPassWord As S

9、tring) As String 弹出指纹任证界面,直到GetSelfPassWord返回值不为空 Form1.Show vbModal GetSelfPassWord = test UserPassWord = 123 g_strAcctName = strAcctName g_UserName = GetSelfPassWord g_UserPassWord = UserPassWord5. 在账套管理账套参数设置,选择“自定义认证方式”6. 在用户管理,设置用户test属性为“自定义认证方式”7. 以test用户登陆。1.5 基础资料插件化开发基础资料-插件接口由K3BaseDataEv

10、ents.dll提供:1、 概述要使用插件,需要写一个插件的DLL,引用K3BaseDataEvents.dll,处理其提供的接口即可。 编写好插件DLL后,需要在数据库表中增加该插件的注册记录,如下:表名:t_ThirdPartyComponent关键字段及意义: FTypeID:101 FTypeDetailID:1-19,=2000,核算项目类别IDFComponentName:客户端插件类的ProgIDFComponentSrv: 服务端插件类的ProgID 未实现FDescription: 描述注: 其中FTypeDetailID为0时表示该插件对所有核算项目都有效,比如对所有核算项

11、目指定统一的编码规则、自定义某个通用行的名称等。2、 K3BaseDataEvents.ItemEvents 类该类定义了核算项目编辑界面所有的事件。 Public Event AfterGridLoad()加载各字段后触发,可以在该事件中处理界面初始化、默认编码等等 Public Event GridChange(ByVal lRow As Long) 某一行单元格值更新后触发 Public Event EnterGrid(ByVal lRow As Long) 焦点进入某一行触发 - 如判断使用后不允许修改 Public Event OnPressF7 (ByVal lRow As Lon

12、g, ByRef RetCol As KDVBF.ReturnCollection, ByRef Cancel As Boolean)按F7时触发,可以在该事件中自己处理弹出F7操作 Public Event BeforeList(ByVal lRow As Long, ByRef strSqlReturn As String) 弹出下拉列表前触发,用strSqlReturn返回查询列表的SQL语句,要求包括FNumber、FName等字段。 Public Event BeforeSave(Cancel As Boolean) 保存前触发 自定义校验数据3、 K3BaseDataEvents.

13、 ItemEditInterface 类该类定义了对核算项目编辑操作的一些属性、接口和方法 属性 Public Property Get PropsString() As String 功能未公开(Reserved) Public Property Get Grid() As Object Public Property Get ItemObject() As EBCGL.Item获得当前的核算项目对象,可以访问其属性 Public Property Get ItemClass() As EBCGL.ItemClass 获取核算项目类别对象,如类别为物料 Public Property Get

14、 ItemClassId() As Long 获取核算项目类别ID,如物料类别ID为4 Public Property Get ParentID() As Long 获取核算项目上级组ID,为0则没有上级组 Public Property Get ParentItemObject() As EBCGL.Item 获取上级组对象,通过该对象可访问上级组代码、名称等属性方法 Public Function GetRowNumber(FieldName As String) As Long 根据字段名称查找行号。 Public Function GetRowFieldProp(ByVal lRow

15、As Long) As CustomProperty根据行号 获得字段属性 Public Sub SetRowFocus(ByVal lRow As Long) 设置焦点 Public Sub SetRowLock(ByVal Row As Long) 设置单元只读。 Public Sub SetRowUnLock(ByVal Row As Long) 设置单元为缺省非只读 Public Sub SetRowNotNull(ByVal Row As Long) 设置为必录项 Public Sub SetRowBeNull(ByVal Row As Long) 设置为非必录项 Public Su

16、b SetRowValue(ByVal Row As Long, Optional NewVal As Variant = , Optional NewID As Variant = 0) 设置行的值 Public Function ReadCellText(ByVal lCol As Long, ByVal lRow As Long) As String读取Text Public Function ReadID(ByVal Row As Long) As Long读取内部ID Public Function ReadValue(ByVal Row As Long) As Variant读取数

17、据 Public Function GetAnyRecordset(ByVal SQL As String) As ADODB.Recordset保留的 Public Function IsItemInUsed() As Boolean判断该项目是否被使用 -wScan Public Function GetDecimalDigits(ByVal dblVal As Double) As Long计算一个数值的小数位数 Public Function GetSystemProfileValue(ByVal sCagegory As String, ByVal sKey As String, O

18、ptional ByVal sDefault As String = ) As String获得系统参数信息 Public Function ItemIsDetail() As Boolean获得该核算项目是否是明细,还是上级组 Public Sub SetRowCaption(ByVal lRow As Long, sCaption As String)设置行标题4、 K3BaseDataEvents.ItemEditInterface对象 该对象不可直接创建,需由K3BaseDataEvents.ItemEvents的属性获得:Public Property Get EditInterfa

19、ce() As ItemEditInterface5、 插件编写方法内部引用,初始化,并实现事件接口即可,(请参考组件K3BaseItemPlugin.dll的实现)步骤如下:a) 新建DLL工程如Test.dll,并引用插件类库K3BaseItemPlugin.dllb) 新建类如MeterialPlug(物料插件)c) 定义WithEvents的K3BaseDataEvents.ItemEvents对象,并处理其事件d) 编写接口函数Public Sub Show(ByVal oEvents As ItemEvents),在该函数中初始化插件对象,必须的!e) 可以使用K3BaseData

20、Events.ItemEditInterface中提供的方法f) 插件写好后,编译成Test.dll,向数据库表中插入数据注册该插件即可,如下SQL:insert into t_ThirdPartyComponent(FTypeID, FTypeDetailID, FIndex, FComponentName) values (101,4, 1, Test. MeterialPlug- 101表示基础资料,4表示物料- 该sql表示当编辑物料时,加载Test.MeterialPlug插件,若要该插件在所有核算项目编辑中都加载,只要将FTypeDetailID设为0即可g) 测试、发布物料 -

21、插件Private Const ID_ITEMCLASSID = 4 物料Private WithEvents BaseItemEvents As K3BaseDataEvents.ItemEvents 事件引擎Private m_EditInterface As K3BaseDataEvents.ItemEditInterface API接口该函数为接口函数,调用该函数进行初始化Public Sub Show(ByVal oEvents As ItemEvents) If oEvents.EditInterface.ItemClassID ID_ITEMCLASSID Then Exit S

22、ub Set BaseItemEvents = oEvents Set m_EditInterface = BaseItemEvents.EditInterfaceEnd Sub/*/*函数名称 : BaseItemEvents_AfterGridLoad/*日期 : 2009-06-11 14:18/*作者 : wScan/*描述 : 数据加载后触发,方便根据系统参数做某些特殊控制/*参数 :Private Sub BaseItemEvents_AfterGridLoad()加载各字段后触发。6、 实例:实现客户需要功能的代码a) 定义插件对象并初始化b) 实现: 录入物料的时候,不需要录入

23、上级组代码。系统自动带出上级组代码; 核算项目录入界面的前两个字段是代码和名称,对任何核算项目都是这样。客户要求加上前缀,如物料代码,客户代码。 Dim lRow As Long Dim sParentNumber As String On Error GoTo Err_Handler lRow = m_EditInterface.GetRowNumber(FNumber If m_EditInterface.ParentID 0 Then sParentNumber = m_EditInterface.ParentItemObject.Number自动根据上级组编码填入前缀 If m_Edi

24、tInterface.ItemObject.ItemID = 0 And m_EditInterface.ParentID 0 Then 新增 m_EditInterface.SetRowValue lRow, sParentNumber &.设置个性化的行标题,如 物料代码、物料名称等 m_EditInterface.SetRowCaption 1, m_EditInterface.ItemClass.Name &代码 m_EditInterface.SetRowCaption 2, m_EditInterface.ItemClass.Name &名称 m_EditInterface.SetRowCaption 3, m_EditInterface.ItemClass.Name &全名 Exit SubErr_Handler:c) 自动编码实现和上面原理一样,指定一个规则,自动生成代码,并锁定不允许修改即可。d) 客户要求自动带出上级组代码,由于按上面的方法上级组代码仍然可以被修改掉,因此一种方法是:可以让客户只录最后一级代码,在保存前自动加上其上级组代码,处理BeforeSa

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1