K3BOS插件开发常见技巧.docx
- 文档编号:3457244
- 上传时间:2022-11-23
- 格式:DOCX
- 页数:5
- 大小:16.84KB
K3BOS插件开发常见技巧.docx
《K3BOS插件开发常见技巧.docx》由会员分享,可在线阅读,更多相关《K3BOS插件开发常见技巧.docx(5页珍藏版)》请在冰豆网上搜索。
K3BOS插件开发常见技巧
K3BOS插件开发常见技巧
以下是为大家整理的K3bos插件开发常见技巧的相关范文,本文关键词为K3bos,插件,开发,常见,技巧,何在,工具栏,添加,多级,您可以从右上方搜索框检索更多相关文章,如果您觉得有用,请继续关注我们并推荐给您的好友,您可以在教育文库中查看更多范文。
1、如何在工具栏上添加多级审核的按钮?
在m_billInterface_menubarInitialize事件里添加如下代码即可。
setoTool=m_billInterface.menubar.bosTools(\withoTool
.caption=\多级审核\.ToolTipText=\多级审核\.Description=\多级审核\
.begingroup=False
.Toolpicture=App.path+\.setpicture0,vbbuttonFaceendwith
setoband=omenubar.bosbands(\
oband.bosTools.Insertbefore\将菜单对象插入指定工具栏
2、如何在显示一张bos单据的同时给它赋值?
要想在显示bos单据的同时给它赋值,关键是在显示前要购建m_billinterface的data包,这样在显示这张同据的时候,程序会解析data包,并将里面的值赋到单据界面上来。
DimdctDataAskfo.DictionaryDimdatasrvasobjectDimoTableinfoasobject
setDatasrv=m_billInterface.K3Lib.createK3object(\Datasrv.classTypeID=lclassTypeID'lclassTypeID需要弹出单据的IDsetoTableInfo=Datasrv.TableInfo
setdctData=Datasrv.getemptybill'然后将当前单据数据包中需要的数据填充到dctdata的对应字段
'在以上语句执行后,dctdata(“page2”)里只有一行表结构(即表体只有一行)'赋表头的值
dctData(\m_billInterface.getFieldValue(\
dctData(\
m_billInterface.getFieldValue(\dctData(\
m_billInterface.getFieldValue(\dctData(\
m_billInterface.getFieldValue(\
'赋表体的值
Dimopage2Asobject
====
Fori=1Tom_billInterface.Data(\
setopage2=dctData(\
dctData(\添加到dcData
dctData(\更改分录号next
Fori=1Tom_billInterface.Data(\
'物料FItemID
dctData(\
FItemID
\
m_billInterface.getFieldValue(\dctData(\FItemID\m_billInterface.getFieldValue(\dctData(\FItemID\m_billInterface.getFieldValue(\
'物料名称fbaseproperty
dctData(\m_billInterface.getFieldValue(\dctData(\m_billInterface.getFieldValue(\dctData(\m_billInterface.getFieldValue(\
'计量单位FunitID
dctData(\FunitID\m_billInterface.getFieldValue(\dctData(\FunitID\m_billInterface.getFieldValue(\dctData(\FunitID\m_billInterface.getFieldValue(\
'数量FQty
dctData(\m_billInterface.getFieldValue(\
next
setobj=createobject(\withobj
.datasrv=datasrv
===
===
====.IscheckRight=True.show,,,dctDataendwith
3、如何在插件中实现选单的功能?
调用bos单据
m_billInterface.billctl.DoselbilllclassTypeID'(原单的classTypeID)调用工业单据
m_billInterface.billctl.DoseloldbilllclassTypeID'(原单的classTypeID)
4、在插件中以新增、修改和查看方式打开另一单据'********************************************
'功能:
显示bos单据,显示的方式为新增、修改和浏览'参数:
lclassTypeID—显示bos单据的ID'
'********************************************
privatesubshowbill(byVallclassTypeIDAsLong)
DimoDatasrvAsobjectDimobillAsobject
onerrorgoToerr_ctr
setoDatasrv=m_billInterface.K3Lib.createK/3object(\oDatasrv.classTypeID=lclassTypeID
setobill=createobject(\withobill
.Datasrv=oDatasrv.Isnetcontrol=True.IscheckRight=True.show
'**********************'show参数类型
'第一个参数optionalbyVallIDAsLong=0;描述修改或查看的单据ID'第二个参数optionalbyValbshowgroupAsboolean=False;如是基础资料时,
是否显示分组'第三个参数optionalbyValbillstatusAsLong=enu_billstatus_new;显示
方式0—查看;1—新增;2—修改'第四个参数optionalbyValdctDataAsKFo.Dictionary'单据初始值'**********************endwith
setoDatasrv=nothingsetobill=nothing
exitsuberr_ctr:
setoDatasrv=nothingsetobill=nothingendsub
5、显示bos序时簿并返回选中的值
'********************************************
'功能:
显示bos序时簿并返回选中的值'参数:
lclassTypeID—显示bos单据的ID'
'********************************************
privateFunctionshowListbyReturn(byVallclassTypeIDAsLong)Asobject
DimoDatasrvAsobjectDimobjLookupAsobject
onerrorgoToerr_ctr
setoDatasrv=m_billInterface.K3Lib.createK3object(\oDatasrv.classTypeID=lclassTypeID
IfoDatasrv.showfilterThen
setobjLookup=createobject(\objLookup.classTypeID=lclassTypeIDsetobjLookup.Datasrv=oDatasrv
objLookup.Lookup
setshowListbyReturn=objLookup.VectReturnendIf
setoDatasrv=nothingsetobjLookup=nothing
exitFunctionerr_ctr:
setoDatasrv=nothing
setobjLookup=nothing
endFunction
6、如何在序事簿中得到选中行的记录集值?
Dimvectselectaskfo.vector
Dimrsasadodb.recordset
setvectselect=m_Listinterface.getselectedbillInfo
setrs=m_Listinterface.datasrv.getbillDetail(vectselect
(1)(\
7、将当前单据转化为另一单据,并无界面保存数据'********************************************
'功能:
将当前单据转化为另一单据,并无界面保存数据'参数:
lclassTypeID—显示bos单据的ID
'********************************************
privatesubnouIsavebill(byVallclassTypeIDAsLong)
DimoDatasrvAsobject
DimoTableInfoAsobjectDimobillAsobjectDimoDataAsobjectDimosrvAsobjectDimopage2AsobjectDimiAsLong
onerrorgoToerr_ctr
setoDatasrv=m_billInterface.K3Lib.createK3object(\oDatasrv.classTypeID=lclassTypeIDsetoTableInfo=oDatasrv.TableInfosetoData=oDatasrv.getemptybill
Fori=1Tom_billInterface.Data(\
setopage2=oData(\
oData(\添加到dcData
oData(\更改分录号next
Fori=1Tom_billInterface.Data(\
oData(\
m_billInterface.getFieldValue(\oData(\
m_billInterface.getFieldValue(\
oData(\
以下是为大家整理的K3bos插件开发常见技巧
(2)的相关范文,本文关键词为K3bos,插件,开发,常见,技巧,何在,工具栏,添加,多级,您可以从右上方搜索框检索更多相关文章,如果您觉得有用,请继续关注我们并推荐给您的好友,您可以在教育文库中查看更多范文。
m_billInterface.getFieldValue(\
next
setosrv=createobject(\
i=osrv.save(mmTs.propsstring,oDatasrv.classType,oDatasrv.classTypeentry,
oDatasrv.TableInfo,oData,oDatasrv.dctLink)setoDatasrv=nothingsetobill=nothing
exitsuberr_ctr:
msgboxerr.Description
setoDatasrv=nothingsetobill=nothingendsub【备注】
1、K/3bos保存方法save的参数描述:
'publicFunctionsave(byValsDsnAsstring,_
'byValdctclassTypeAsKFo.Dictionary,_'byValvctclassTypeentryAsKFo.Vector,_'byValdctTableinfoAsKFo.Dictionary,_
'byRefdctDataAsKFo.Dictionary,_
'byValdctLinksAsKFo.Dictionary)AsLong
'/********************************************************************/'/*描述:
单据保存
'/*参数:
'/*@dctclassTypeKFo.Dictionary单据整体信息模板'/*@dctDataKFo.Dictionary单据数据包
'/*@dctLinkKFo.Dictionary选单关系模板,无选单为nothing'/*@dctTableInfoKFo.Dictionary单据字段模板信息'/*@sDsnstringK/3标准数据库连接串
'/*@vctclassTypeentryKFo.Vector单据体模板信息
'/*备注:
'/********************************************************************/2、使用此方法时插件要添加mmTs。
8、如何在插件中获取当前系统字符连接串?
一、连接串获取方式:
(注意不支持调试,调试的话可以用实际连接串代替)privateDeclareFunctiongetcurrentprocessIdLib\
\'获取连接串
publicFunctiongetpropsstring()Asstring
DimlprocAsLong
DimspmmgrAsobject
lproc=getcurrentprocessId
setspmmgr=createobject(\
getpropsstring=spmmgr.getproperty(lproc,\endFunction
二、需要申请mmTs.bas的源代码,还需要申请IcKDListener的接口。
另外,如果需要调
试程序,就还需要申请KDmain的源代码。
最后,小编希望文章对您有所帮助,如果有不周到的地方请多谅解,更多相关的文章正在创作中,希望您定期关注。
谢谢支持!
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- K3BOS 插件 开发 常见 技巧