K3BOS插件开发常见技巧.docx

上传人:b****6 文档编号:3457244 上传时间:2022-11-23 格式:DOCX 页数:5 大小:16.84KB
下载 相关 举报
K3BOS插件开发常见技巧.docx_第1页
第1页 / 共5页
K3BOS插件开发常见技巧.docx_第2页
第2页 / 共5页
K3BOS插件开发常见技巧.docx_第3页
第3页 / 共5页
K3BOS插件开发常见技巧.docx_第4页
第4页 / 共5页
K3BOS插件开发常见技巧.docx_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

K3BOS插件开发常见技巧.docx

《K3BOS插件开发常见技巧.docx》由会员分享,可在线阅读,更多相关《K3BOS插件开发常见技巧.docx(5页珍藏版)》请在冰豆网上搜索。

K3BOS插件开发常见技巧.docx

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的源代码。

  

  

最后,小编希望文章对您有所帮助,如果有不周到的地方请多谅解,更多相关的文章正在创作中,希望您定期关注。

谢谢支持!

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 语文

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

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