K3BOS插件开发常见技巧Word格式文档下载.docx
《K3BOS插件开发常见技巧Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《K3BOS插件开发常见技巧Word格式文档下载.docx(5页珍藏版)》请在冰豆网上搜索。
![K3BOS插件开发常见技巧Word格式文档下载.docx](https://file1.bdocx.com/fileroot1/2022-11/23/f7fdfaa7-dad0-4732-86b3-33da11e7be82/f7fdfaa7-dad0-4732-86b3-33da11e7be821.gif)
lclassTypeID需要弹出单据的IDsetoTableInfo=Datasrv.TableInfo
setdctData=Datasrv.getemptybill'
然后将当前单据数据包中需要的数据填充到dctdata的对应字段
'
在以上语句执行后,dctdata(“page2”)里只有一行表结构(即表体只有一行)'
赋表头的值
dctData(\m_billInterface.getFieldValue(\
dctData(\
m_billInterface.getFieldValue(\dctData(\
m_billInterface.getFieldValue(\
赋表体的值
Dimopage2Asobject
====
Fori=1Tom_billInterface.Data(\
setopage2=dctData(\
dctData(\添加到dcData
dctData(\更改分录号next
物料FItemID
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
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序时簿并返回选中的值'
privateFunctionshowListbyReturn(byVallclassTypeIDAsLong)Asobject
DimoDatasrvAsobjectDimobjLookupAsobject
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
setoDatasrv=m_billInterface.K3Lib.createK3object(\oDatasrv.classTypeID=lclassTypeIDsetoTableInfo=oDatasrv.TableInfosetoData=oDatasrv.getemptybill
setopage2=oData(\
oData(\添加到dcData
oData(\更改分录号next
oData(\
m_billInterface.getFieldValue(\oData(\
以下是为大家整理的K3bos插件开发常见技巧
(2)的相关范文,本文关键词为K3bos,插件,开发,常见,技巧,何在,工具栏,添加,多级,您可以从右上方搜索框检索更多相关文章,如果您觉得有用,请继续关注我们并推荐给您的好友,您可以在教育文库中查看更多范文。
setosrv=createobject(\
i=osrv.save(mmTs.propsstring,oDatasrv.classType,oDatasrv.classTypeentry,
oDatasrv.TableInfo,oData,oDatasrv.dctLink)setoDatasrv=nothingsetobill=nothing
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的源代码。
最后,小编希望文章对您有所帮助,如果有不周到的地方请多谅解,更多相关的文章正在创作中,希望您定期关注。
谢谢支持!