金蝶k3BOS开发百问百答要点.docx
《金蝶k3BOS开发百问百答要点.docx》由会员分享,可在线阅读,更多相关《金蝶k3BOS开发百问百答要点.docx(85页珍藏版)》请在冰豆网上搜索。
金蝶k3BOS开发百问百答要点
金蝶k3BOS开发百问百答
一、基础资料篇
单据自定义无法看到bos定义的基础资料
在调出基础资料序时簿时,过滤出需要的基础资料
插件实现过滤从过去时间到现在的所有基础资料
查找某个物料在某个仓库中的数量和精度
插件中K3Lib.GetStockQty函数的使用
二、业务单据篇
K3BOS单据(新)中的数量字段怎样才能控制到两个小数
单据上显示各级审核人和审核日期
多层的BOS单据,能否将人员权限按层划分
自动启动审核和自动选单
只能删除和修改本人制作的单据。
获取Bos单据单据体已录信息的条数
插件中获取单据上控件的位置、尺寸信息
关联自定义核算项目
是否允许插件自定义查询条件
填充分录行
在Bos单据按F7查询供应商信息,按F9查询采购价格管理信息。
如何可以取到单据编号的组件
是否可以直接在数据库表中直接修改Bos单据中的字段类型
锁定单据字段
删除符合条件的单据
动态过滤基础资料
单据保存出错
标准序时簿过滤条件对话框(和K3老单据一样)
如何再次添加新插件
单据分录数达到3000条,单据保存会不会出错
文本字段录入完毕回车不跳转
不能实现记录选择。
如何删除空行。
数量精度和单价精度
计算公式如何定义
批次过滤
应收应付系统合同是否能超额执行
基础资料录入代码时不马上显示相关的列表
在插件中以新增、修改和查看方式打开另一单据
显示BOS序时簿并返回选中的值
将当前单据转化为另一单据,并无界面保存数据
隐藏选单时序时簿不需的菜单和工具栏
在单据体中让下一条分录自动携带上一条分录的数据
在Bos插件中如何处理隐身的二次登录
如何在插件中获取当前系统字符连接串
BOS单据插件里取分录的合计值
带有辅助属性的字段的值更新事件中调用辅助属性,计算公式运行有误
事务处理
基本单位数量在录入完数量后仍然为空
10.1单据插件中如何向单据体逐行插入数据
BOS单据选单返回时自动在表体添加一行分录
只有工具条及菜单栏的浏览数据窗口
K3Bos表体如何设置合计
收款单的套打设置里面怎么取到通过Bos自定义的字段
如何隐藏Bos单据中的层
如何调用打印功能
BOS单据如何控制表体行数
如何在Bos单据中引用自定义核算项目
关于核算项目字段[相关属性]为核算项目类型的值更新携带变通处理方案
如何调用BOS单据序事簿的刷新事件
关于因网络控制导致BOS单据无法并发运行的问题的解决办法
关于插件取值报类型不匹配的答复31
如何实现在Bos单据中物料多选31
如何实现在Bos单据中物料多选32
如何在Bos单据的工具栏上显示“复制”按钮32
bos分录值合计33
BOS单据物料字段信息没显示全33
BOS颜色控制33
从BOS如何能调用VB控件(MSCOMM)34
序时簿工具栏新增一个按钮,如何编写插件实现审核后对单据修改功能34
销售订单下推生成BOS单据,无法制定流程35
BOS序事簿插件调用数据库35
客户端单据打不开36
BOS老单据,新增核算项目,增加自定义字段相关属性为部门,在BOSIDE中值更新事件中无法更新指定部门=自定义核算项目.部门36
关于如何在销售发票业务审核后仍能修改摘要字段的做法
调拨单中的调拨类型无法单据中显示
序时簿查件分录中,如何通过插件取其中一个时间字段。
新单中如何写删行的函数
如何自定义金额字段的“小数位长度”
新单增加的单据如何携带到老单据(典型问题)
新单据如何从Excel批量引入单元格数据
新增bos单据怎么会无法保存.提示拒绝的权限.
设定的实数数量精度在参与值更新事件计算时没有精度控制
大文本字段怎么就能录入这么几个字符,有什么方案没有?
BOS单据自定义后新增或查询反映太慢
生产领料单单据体上无法自定义成本对象代码
(工业老单据)生产任务单批量维护中加入BOS开发字段
如何在修改单据的时候把制单人刷新为修改人?
复杂的计算Action应该如何处理?
为什在中文输入的时候会出现清除已输入内容,并跳出当前输入框的问题?
通过修改元数据实现动态过滤基础资料
10.4版本以前手动删除已发布到主控台的功能
如何删除发布到主控台的功能以不存在的单据或者报表
如何设置单据体字段的字体颜色和背景色
在查看模式下,怎样修改某个字段(比如销售普通发票-摘要修改)的值并保存
V10.3版本实现“审核人和制单人不可为同一人”
如何在插件中调用BOS基础资料的F7功能
如何在插件中调用BOS基础资料的F7功能
如何单据插件中实现基础资料F7动态过滤
如何在插件中响应BOS控件KDInputTool的事件
三、多级审核篇
批量审核。
设置为一级审核的Bos单据反审核后不能修改。
能否使administrator对任何人审核的BOS单据进行反审核。
实现多级审批同时需要更改审批的数量与单价。
BOS字段多级审核后可以修改。
有关多级审核的问题。
中间层的多级审核事件。
BOS审核权限
不同级次驳回功能存在问题,审核流程不流畅
在打开单据的情况下点击审核菜单,显示XX单据审核成功,但单据并未立即切换到字段锁定状态,即此时单据内容(如分录中的各项信息等)均可修改,关闭单据后再次打开,正常。
反审核也如此。
59
四、单据转换流程篇
新单推老单不能实现钩稽功能
新单推老单不能实现钩稽功能
未审核的老单据不能下推Bos单据
未审核的老单据不能下推Bos单据
自定义的bos单据无法下推生成销售费用发票
无物料编码时,下推报错
下标越界
下推发货通知单的时候,所有自定义字段中的文本字段在发货通知单都变成了0
10.2sp1钩稽后设过滤条件不起作用
关联复制
老单下推新单过滤条件的设定
在老单据中选取新单如何选取多张单据
BOS单据下推到外购入库单时无法选择红字单据
如何用BOS单据体字段推成目的单据(老单)的单据头字段
如何使Bos单据表体的字段对应到老单的表头上的字段
单价和金额携带不过来
Bos单据如何同时选择两张老工业单据
新单下老单,如果是钩稽关系,怎么判断新单是否已关闭
BOS新单据到老供应链单据的转换流程,在新单据上可以关闭吗
付款单选单关联其他应付单时无法携带其他应付单上的自定义核算项目信息
单据体的每条分录如何可以对应多个源单类型
新老单据在流程转换的时候为什么出现提示“请设置关联原单内码保存”?
单据下推怎么会出现“数据溢出”的问题
老单(退料通知单)下推生成BOS自定义意据时,无法实现勾稽关系!
老单(工序计划单)与BOS开发新单据建立关联关系(钩稽,关联复制)后错误
通过BOS单据做关联,由开发的BOS单据(其他费用单)关联生产其他费用单,提示:
付款计划的金额等于单据金额。
即和现有的K/3系统单据业务相冲突的解决方法13
销售订单下推到生产任务单,可否一次选择多条分录生成多张生产任务单
五、套打篇
如何进行BOS单据打印次数控制
应收应付销售发票如何携带出地址,其他系统的信息可以类似处理
BOS单据套打设置问题的重复设置问题15
如何进行BOS单据打印次数控制16
应收应付销售发票如何携带出地址,其他系统的信息可以类似处理16
BOS单据套打设置问题的重复设置问题17
六、报表篇17
交叉分析报表17
直接SQL报表18
关于直接SQL报表的支持长日期的变通解决方案18
为什么bos中发布交叉分析报表与二次开发的报表的小数点设置不起作用?
18
报表分析平台中,自己做的报表如何发布K3中打开,或者有无此项功能?
19
七、部署发布篇20
发布功能的名称如何更改20
编码规则丢失20
怎样将旧单改造数据结构的动作打包到Bos安装包中20
中间层上发布插件后,客户端的插件dll文件没有被更新21
发布的BOS单据如何删除21
关于BOS发布的单据和报表删除工具的问题22
Bos单据发布后主控台没有显示23
BOS部署客户端智能升级失败23
打包应用程序是否有类似的InstallShield的脚本参考24
如何将应收应付BOS单据修改的内容打包成安装程序24
BOS生成的部署文件需要部署到所有的客户端25
如何获取软件特征码25
布署安装包时提示BuildFile无效过程错误或未找到路径错误25
八、其他27
关于BOS的加密问题
在使用citrix客户端时,调用出BOS过滤界面后,选择下拉列表后出错27
关于Bos已过期问题的处理2
中间层插件
BOS插件调用工资系统汇总表28
bos插件中如果发生任何错误,在k3界面中不会出现任何提示29
以Administrator主控台设置刷新其他用户主控台设置29
系统帮助文件的挂靠
图纸管理
外贸报价单
如何在单据中做一个可以选择,又可以随意录入的字段31
如何将BOS单据的税率携带到下游老单据31
客户的车间管理的单据与我们K310.2的差异很大,可否用Bos开发32
修改应收应付模板
客户在正式上线使用时,需如何购买站点数33
在K/3BOS中能否打印一张复杂的单据33
恢复K/3BOS插件开发向导菜单按钮34
438:
对象不支持属性或方法34
主控台中,Bos单据可以查询,但不能新增35
Bos自动关闭
BOS在主控台组件中所属的系统标36
在插件中如何得到序事簿界面上所有数据36
客户端无法打开BOS设计平台开发的业务单据36
SQL自动停止37
防火墙可能会对K/3的接口造成中断的影响37
如何在插件中获取某个单元格的锁定状态38
beforesendmessage事件在什么状态下触发的?
38
工业单据(老单据)的客户端插件为何无法起作用?
39
工业单据(老单据)的中间层插件为何无法起作用?
39
如何为工业单据(老单据)的开发插件?
41
------------------------------------------------------
百问回答:
一、基础资料篇
【摘要】:
单据自定义无法看到bos定义的基础资料
【版本】:
K3v10.2SP2
问题描述:
在单据自定义中增加自定义字段时,需要选择用bos定义的基础资料,如何
设置。
单据自定义的高级页签上选择基础资料下拉框中无法看到bos定义
的基础资料;跟踪Sql,在ICChatBillTitle中有自定义字段属性的相关
设置,如FTableName、FLookUpClassID等字段。
把记录改成BOS基础资料
对应的信息,但是无法生效。
解决方法:
在10.2里工业单据自定义工具不能使用BOS单据的基础资料,建议使用核算项目来定义
基础资料,即可在工业单据中使用,也可在BOS单据中使用。
【摘要】:
在调出基础资料序时簿时,过滤出需要的基础资料
【版本】:
K3v10.2SP1&v10.2SP1&v10.3
问题描述:
能否对BOS基础资料做过滤,即:
在调出基础资料序时簿时,过滤出需要
的基础资料。
解决方法:
1、在ICClasstypeentry的FFilter字段增加过虑条件;
2、在ICClassTableInfo的FFilter中填写条件。
下例能完成只显示“01”组的物料,FFilter的值应是“x2.FNumberlike'01.%'”
SELECTt1.FItemIDFROMt_Itemt1with(index(uk_Item2))LEFTJOINt_ICItem
x2ONt1.FItemID=x2.FItemIDWHEREFItemClassID=4ANDt1.FDetail=1AND
(x2.FNumberlike'01.%')ANDt1.FDeleteD=0ORDERBYt1.FNumber
【摘要】:
插件实现过滤从过去时间到现在的所有基础资料
【版本】:
K3V10.3以上
问题描述:
如何实现在打开BOS基础资料序时薄时仅显示从过去某一时间到现在的所
有基础资料?
客户化开发技术资料——K/3BOS开发百问百答
解决方法:
假设有个基础资料,其为基础资料200000003表头表为t_BOS200000003
其表头上有个日期字段FDate,
由于基础资料中数据非常多,现想在序时簿上展示2008-01-07到现在的基础资料,则主
要插件代码如下:
PrivateSubm_BaseListInterface_MenuBarInitialize(ByValoMenuBarAs
K3ClassEvents.MenuBar)
DimdctAsDictionary
Setdct=NewDictionary
dct(""FFilter"")=""t_BOS200000003.FDate>='2008-01-07'and
t_BOS200000003.FDate<=""&Now
Setm_BaseListInterface.BrowseCtl.ExternalCondition=dct
Setdct=Nothing
EndSub
【摘要】:
查找某个物料在某个仓库中的数量和精度
【版本】:
K3V11.0多语言及以下版本
问题描
述:
如何查找某个物料在某个仓库中的数量和精度?
解决方
法:
ICInventory为实仓库POInventory为虚仓库StockID仓库IDItemID为物料ID
select
sum(Round(t1.FQty,t2.FQtyDecimal)),SUM(Round(ISNULL(t1.FSecQty,0),t2.FQtyDecimal))
ASFSecQtyfromICInventoryt1INNERjoint_IcItemt2ONt1.FItemID=t2.FItemIDINNER
JOINt_StocktsONt1.FStockID=ts.FItemIDWHEREt1.FStockID=""&StockID&""AND
t1.FItemID=""&ItemID
【摘要】:
插件中K3Lib.GetStockQty函数的使用
【版本】:
K3V11.0多语言及以下版本
问题描述:
如何查找某个物料在某个仓库中的数量和精度?
解决方法:
GetStockQty这个方法是不分虚仓和实仓。
dctParams应该这样封装:
DimdctParasAsKFO.Dictionary
DimlngQtyDecimalAsLong
dctParas(""AuxPropID"")=该物料的辅助属性ID号'在表ICItemAuxProp中可以查客户化开发技术资料——K/3BOS开发百问百答
到
dctParas(""FQtyDecimal"")=0'该项会在函数GetStockQty调用后,赋上该物料的
数量精度,即物料的数量含有多少位小数位
m_BillInterface.K3Lib.GetStockQtylngItemID,lngUnitID,dctParas
lngQtyDecimal=val(dctParas(""FQtyDecimal""))客户化开发技术资料——K/3BOS开发百问百答
客户化开发技术资料——K/3BOS开发百问百答
二、业务单据篇
【摘要】:
K3BOS单据(新)中的数量字段怎样才能控制到两个小数
【版本】:
K3v10.2SP1&vSP2&v10.3
问题描述:
用K3BOS设计的单据中的数量字段小数位默认是10位,怎样才能控制到两
个小数?
解决方法:
通过以下方式增加字段时:
物料->计量单位->数量,数量将按照物料定义的精度来处理,否则缺省按照十
位处理,如果需要定义字段为某个固定的精度,可以使用小数字段,通过该字
段的小数位属性来控制
【摘要】:
单据上显示各级审核人和审核日期
【版本】:
K3v10.2SP2
问题描述:
多级审核栏目不分成第二个Label,而是在单据上有每级审核人和日期显
示。
解决方法:
如果用系统的多级审核流程就会有多级审核的业签。
可以在单据上增加多几个
审核人、审核日期,在单据插件的AfterMultiCheck事件中反写单据上的审核人、
审核日期。
【摘要】:
多层的BOS单据,能否将人员权限按层划分
【版本】:
K3v10.2SP1&K3v10.2SP2&K3v10.3
问题描述:
直销单据分为采购和销售两个页,采购内勤组的成员只能看到采购页而不
能看到销售页,而销售内勤组的成员只能看到销售页而不能看到采购页客户化开发技术资料——K/3BOS开发百问百答
解决方法:
Bos单据不能按层进行授权,可以通过数据授权和字段授权的方式变通实现此
类需求.
【摘要】:
自动启动审核和自动选单
【版本】:
K3v10.2SP
问题描述:
打开一个新单据的同时,能自动弹出选单的界面,同时显示要选择的单据。
10.2SP1在单据保存后,自动启动审核。
如何在插件中调用“选单”和“启
动审核”的BOS的内部处理事件。
解决方法:
1、自动启动审核:
在AfterSave事件中使用以下代码
DimbStatusAsBoolean
bStatus=
m_BillInterface.MultiCheckMgr.MultiCheckBill(m_BillInterface.Data("FID"))
2、选单调用:
BOS单据
m_BillInterface.BillCtl.DoSelBilllClassTypeID'(原单的ClassTypeID)
工业单据
【摘要】:
只能删除和修改本人制作的单据。
【版本】:
K3v10.2SP1
问题描述:
如果实现只能删除和修改本人制作的单据.
解决方法:
PrivateSubm_ListInterface_MenuBarClick(ByValBOSToolAs
K3ClassEvents.BOSTool,CancelAsBoolean)
DimlBillerIDAsLong
DimstrSQLAsString
SelectCaseBOSTool.ToolName
Case"mnuEditDelete","mnuEditModify"
strSQL="SelectFBiller(当前单据制单人)Fromt_Sales(当前单据主
表名)WhereFID(当前单据主键子段)="
&m_ListInterface.GetCurrentSelRowInfo("FID")
lBillerID=m_ListInterface.K3Lib.GetData(strSQL)(0)
Ifm_ListInterface.K3Lib.User.UserID<>lBillerIDThen
MsgBox"只能删除和修改本人的单据",vbExclamation,"提示"客户化开发技术资料——K/3BOS开发百问百答
Cancel=True
EndIf
CaseElse
EndSelect
EndSub
【摘要】:
获取Bos单据单据体已录信息的条数
【版本】:
K3v10.2SP1
问题描述:
写插件时,如何得到单据体的已录信息的条数
解决方法:
单据体的已录的条数用下面的方法可得到。
m_BillInterface.Data("Page2").UBound
注意:
最后一条可能是空记录,要判断(if分录关键子段或必填字段
<>""then.....)。
【摘要】:
插件中获取单据上控件的位置、尺寸信息
【版本】:
K3v10.2SP1
问题描述:
插件开发中,如何获取BOS单据上某个控件的位置、尺寸信息?
能否用代
码动态修改它们的位置?
解决方法:
在K/3BOS插件中获取控件的位置的方法:
m_BillInterface.BillHeads
(1).BOSFields("FDate").FieldTop,其中“FDate”是控件
的名称,也可以用它来改变控件的位置。
【摘要】:
关联自定义核算项目
【版本】:
K3v10.2SP2客户化开发技术资料——K/3BOS开发百问百答
问题描述:
新建的BOS单或原有的BOS单上如何关联自定义的核算项目基础资料
解决方法:
修改ICClassTableInfo中
FLookupClassID,FSRCFieldName,FSRCTableName,FDSPFieldName,FFNDFieldName。
【摘要】:
是否允许插件自定义查询条件
【版本】:
K3v10.2SP2
问题描述:
需要在序事簿查询过程,根据人员角色不同,自动将所能看到的数据进行
过滤,请问此类问题怎么实现,BOS序事簿是否允许插件自定义查询条件
解决方法:
可以通过在序事簿插件的show中直接修改ListFilterString属性的值来自定义查询条件.
示例如下:
Withm_listinterface
Iflen(.listfilterstring)>0then
.listfilterstring=.listfilterstring&“andFDeptID=984”
Else
.listfilterstring=”FDeptID=984”
Endif
Endwith
【摘要】:
填充分录行
【版本】:
K3v10.2SP2
问题描述:
一张单据有几百条分录,每条分录数据都是通过插件填入的.如果使用
setFieldValue方法一个字段一个字段填入,速度非常慢.是不是有更好
的方法填充行数据
解决方法:
可以试试用insertnewrowandfill方法插入一新行。
示例如下:
'批量插入行数据
DimiAsLong
Fori=1To10
m_BillInterface.InsertNewRowAndFill2,i,"FBase","01.001","FPrice",
"100.001","FAmount","50000"
Next
需要注意的是查找类型的字段只要给出编码即可,基础资料属性(如物料名称等)不客户化开发技术资料——K/3BOS开发百问百答
需要赋值。
【摘要】:
在Bos单据按F7查询供应商信息,按F9查询采购价格管理信息。
【版本】:
K3v10.2SP1&PT0704
问题描述:
在新增采购申请单时,在分录中的供应商按F7能选择供应商信息,按F9能
选到采购价格管理