金蝶 k3 BOS开发百问百答(5)

2019-08-30 15:17

【摘要】:文本字段录入完毕回车不跳转 【版本】:K3v10.2SP1+K3vSP2

问题描述: 在 Bos 单据的表体中加入一备注字段,后再加入一文本字段,发现备注字段 敲回车不跳转,后面的文本字段输入完毕回车也不跳转。

解决方法: 备注型字段因为支持回车的录入,所以不支持回车跳转。经测试发现,文本字段放在备注

字段后面,则文本字段录入敲回车,也清空和备注字段的现象一样,这可能是 sp1 和 sp2 的 Bug,可以将备注字段放在行的第后一列,则就没有问题。 客户化开发技术资料——K/3 BOS开发百问百答

【摘要】:不能实现记录选择。 【版本】:K3v10.2SP1+PT0704

问题描述: 新做的 BOS 单据(配置单)在与源单(销售订单)进行选单的时候,出现 在销售定单中选择某一条记录或者某几条记录的时候,会将销售订单所有 的记录都选过来,不能实现记录选择。

解决方法: 沟选了[选单时关联整单]选项导致的,不选上就按分录返回。

【摘要】:如何删除空行。 【版本】: :K3v10.2SP2

问题描述: 在输入信息回车后,系统光标会自动跳到下一行,即新增一行保存时,系 统提示“XXX”字段不运行为空。需要手工删除一行,比较麻烦。我想通过 插件,在点击保存时,判断:如果有空行,就删除该行;如何删除单据体 一行的插件语句,如何调用?

解决方法: 可以不写代码,设置该单据体的[关键字段],保存前将清除最后一行空白行。

【摘要】:数量精度和单价精度 【版本】:K3v10.2SP1&K3v10.2SP2&K3v10.3

问题描述: 在单据体中加上“数量”字段,用 decimal 的后面的小数点位太多位了; 用 integer 的“数量”,不可以指定到“单位”上去,如何解决? 客户化开发技术资料——K/3 BOS开发百问百答

解决方法: 数量和单价的精度是跟着物料的[数量精度]和[价格精度]走的,如果客户只存在整数物

料精度,可以通过[基础资料]-[公共资料]-[核算项目管理]-[004-物料修改]设置物料 精度的缺省值为0。

【摘要】:计算公式如何定义 【版本】:K3v10.2SP1&K3v10.2SP2&K3v10.3

问题描述: 在 BOS 单据设计的时候,进行单据体内单元格计算时,如设数量、单价、 金额,正常应该在“金额”栏设置公式等于“数量”乘于“单价”,但这 样设“金额”栏无法计算。

解决方法: 如果要实现在修改数量列和单价列更新金额,须在“数量”列和“单价”列的

[值更新

事件]分别增加一条计算公式:金额=数量*单价。

【摘要】:如何在插件中获取当前系统字符连接串 【版本】:K310.2 及以后版本

问题描述: 插件中字定义系统中如何获取当前系统字符连接串?一个年结功能,进行 土地数据结转、在vb 中定义了年结功能窗口,要在主控台子系统中调用, 怎样或得当前数据库连接信息,亦无法通过 k3lib 获得,因为没必要去调 用 bos 表单或序时簿。另外,一些复杂报表、也是通过vb 中单独实现、这 些报表也需要获的连接字符串才能调用

解决方法: 1、连接串获取方式: (注意不支持调试,调试的话可以用实际连接串代替) Private Declare Function GetCurrentProcessId Lib \ Alias \ '获取连接串

Public Function GetPropsString() As String Dim lProc As Long Dim spmMgr As Object lProc = GetCurrentProcessId

Set spmMgr = CreateObject(\客户化开发技术资料——K/3 BOS开发百问百答

GetPropsString = spmMgr.GetProperty(lProc, \ End Function

2、 需要申请 MMTS.bas 的源代码,还需要申请 ICKDListener 的接口。另外,如果需要 调试程序,就还需要申请KDMain的源代码。

【摘要】:BOS 单据插件里取分录的合计值 【版本】:K310.2 及以后版本

问题描述: 工业单据自定义里面有个 GetSumGridText 方法取得分录某一列的合计值, 现在BOS单据里面需要取某一列的合计,有什么方法可以调用。 。

解决方法: Object.Sum (dct As Dictionary, [BRow As Long], [ERow As Long]) 参数说明:

dct-字段的模板字典

BRow-合计开始行,可选参数,默认值是1 ERow-合计结束行,可选参数,默认值是最大行

举例(要求税额合计值) :

Set dct = m_BillInterface.GetFieldInfoByKey(\ dblTaxSum = m_BillInterface.Sum(dct)

【摘要】:带有辅助属性的字段的值更新事件中调用辅助属性,计算公式运行有误 【版本】:K310.2 及以后版本

问题描述: 对于已携带辅助属性的字段再定义值更新事件,如果值更新事件里包含该

辅助属性,计算公式无效。也就是值更新事件公式里调用的辅助属性是更 新前的。

解决方法: 在插件中使用更新后事件

客户化开发技术资料——K/3 BOS开发百问百答

【摘要】:事务处理 【版本】:K310.2 及以后版本

问题描述: 1、BOS 的插件开发中,不能直接操作数据库。事务怎样处理 2、在事务完整性处理上,目前的 BOS 插件还有很多需要改进。例如:BOS 是支持多插件的,多插件之间如何保证事务完整性?同样是审核事件,有 2 个插件响应了这个事件,如果第一个插件通过了审核,但是第二个插件却 不能通过,那么第一个插件处理了的数据又如何回滚?

解决方法: 1、 如在插件中编写大量的更新SQL请使用中间层插件, 中间层插件能保证事务的完整性。

2、 如果在客户端希望执行SQL时保证事务一致性, 建议使用 K3Lib.UpdateData 方法, 将希望在同一事务中处理的SQL语句通过它一次性提交, BOS会自动启用事务处理来保 证;如果像多个插件中的审核等操作的一致性问题,解决的方法是制定一个中间层的 审核前插件来判断处理;这类的问题都可以在中间层的相关事件中处理,来保证一致 性。

【摘要】:基本单位数量在录入完数量后仍然为空 【版本】:K310.2 及以后版本

问题描述: 新增 BOS 单据分录中有数量 及基本单位数量 字段, 基本单位数量关联字 段为数量, 但输入完数量后,基本单位数量仍然为空。 解决方法: 保存后基本单位数量就有了。

【摘要】:10.1 单据插件中如何向单据体逐行插入数据 【版本】:K3v10.1

问题描述: 在 BOSV10.2 中,填充新行数据可以用

m_BillInterface.InsertNewRowAndFill 方法实现,但是在BOSV10.1 中不

知道用什么方法可以向单据体逐行插入数据 客户化开发技术资料——K/3 BOS开发百问百答

解决方法: 将10.1的KFO.DLL换成10.2 KFO.DLL,是兼容的。 m_BillInterface.Data(\

【摘要】:BOS 单据选单返回时自动在表体添加一行分录 【版本】:K310.2 后所有版本

问题描述: BOS 开发一张新的单据. 在选单返回时, 希望能在表体自动添加一行分录。 事件测试代码如下:

Private Sub m_BillInterface_AfterSelBillBeforeFillData(ByVal dcData As KFO.IDictionary, ByVal dctLink As KFO.IDictionary)

Dim CoDict As KFO.Dictionary

Set CoDict = dcData(\拷贝第一条分录数据 dcData(\添加到 dcData

dcData(\ = dcData(\更改分录号 'Stop

set CoDict=Nothing End Sub

用 watch 查看 DcData 的值. DcData(\也有增加一条, 但返回后, 新添加的分录并未带到目标单据上? 还要修改哪些地方?

解决方法: 此方法在调试状态下是不能把值传过去的,编译之后就可以了。 你的代码有以下问题:

1、取分录号使用dcData(\; 2、Vect的最大值用UBound,而不是count;

3、字段的key 值使用m_BillInterface.TableInfo(\是字段名。 正确的代码是:

Dim CoDict As KFO.Dictionary

’dcData(\ Set CoDict = dcData(\拷贝第一条分录数据 dcData(\添加到 dcData

dcData(\更改分录号 'Stop

Set CoDict = Nothing

客户化开发技术资料——K/3 BOS开发百问百答

【摘要】:只有工具条及菜单栏的浏览数据窗口 【版本】:K3v10.2SP2 及以后版本

问题描述: 能否在新版 BOS 中提供一个没有数据,只有工具条及菜单栏的浏览数据窗 口,供做插件集成操作窗口用,现在只能用单据窗口实现,打开时还出焦?br/>滤窗口。

解决方法: BOS中有一个自定义序事簿联查接口,可以指定单据类型和过滤条件联查所有新老单序

事簿,不用弹出过滤条件。

金蝶 k3 BOS开发百问百答(转载)1

2011-04-12 14:08:06| 分类: k3 | 标签: |字号大中小 订阅

大力水手 2009-08-01 21:37:59.0 【摘要】:K3Bos表体如何设置合计

【版本】:K310.2SP2

问题描述: K3Bos表体如何设置合计

解决方法: 目前不能在界面上设置合计, (系统对数量和金额默认合计) , 如需对其他字段设置合计,

需更改ICClassTableInfo.FSum的值为1。

【摘要】:收款单的套打设置里面怎么取到通过 Bos 自定义的字段

【版本】:K3v10.2SP2 及以后版本

问题描述: 如何设置通过 BOS 定义的字段的套打?目前在收款单通过 BOS 自定义了一 个字段,那么在收款的套打设置里面怎么取到这个字段 客户化开发技术资料——K/3BOS开发百问百答 解决方法: 在单据中添加一个字段保存后,打开这个套打文件中可以自已添加一个字段,在设置

对象属性时可以指定到单据中的这个字段。

【摘要】:如何隐藏Bos 单据中的层 【版本】:K3v10.2SP2 及以后版本

问题描述: 对 BOS 单据中的层处理。如何做到显示或隐藏单据中某一层

解决方法: 以层为单位的动态显示隐藏现在没有提供方法;

可以在插件中一个一个字段的隐藏,从字段的FLAYER属性可判断其所属的层。

【摘要】:如何调用打印功能

【版本】:K3v10.3

问题描述: 在单据保存后自动打印。请问在Bos 单据插件里如何调用打印功能 解决方法: 在保存后打印Bos单据,请在单据aftersave 事件里添加如下代码:

Private Sub m_BillInterface_AfterSave(bCancel As Boolean)

Dim oPrint As Object

Set oPrint =

m_BillInterface.K3Lib.CreateK3Object(\K3ClassBillPrint.clsNotePrint\

oPrint.DataSrv = m_BillInterface.DataSrv oPrint.Data = m_BillInterface.Data oPrint.TableInfo = m_BillInterface.TableInfo oPrint.PrintBill m_BillInterface.BillCtl.hWnd, False

Set oPrint = Nothing

End Sub

客户化开发技术资料——K/3 BOS开发百问百答

【摘要】:BOS 单据如何控制表体行数

【版本】:K3v10.3

问题描述: BOS 开发的业务单如何控制表体的行数。按月预算的话,在表体中在单据新


金蝶 k3 BOS开发百问百答(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:小学英语三年级下阅读周周练(第七周)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: