资源描述:
《金蝶k3 bos插件开发常见技巧》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、1、如何在工具栏上添加多级审核的按钮?在m_BillInterface_MenuBarInitialize事件里添加如下代码即可。SetoTool=m_BillInterface.MenuBar.BOSTools("mnuEditMultiCheck")WithoTool.Caption="多级审核".ToolTipText="多级审核".Description="多级审核".BeginGroup=False.ToolPicture=App.Path+"Checker.bmp".SetPicture0,vbButtonFaceEndWi
2、thSetoBand=oMenuBar.BOSBands("BandToolBar")oBand.BOSTools.InsertBefore"mnuFilePrint",oTool'将菜单对象插入指定工具栏2、如何在显示一张Bos单据的同时给它赋值?要想在显示Bos单据的同时给它赋值,关键是在显示前要购建m_Billinterface的data包,这样在显示这张同据的时候,程序会解析data包,并将里面的值赋到单据界面上来。DimdctDataAskfo.DictionaryDimdatasrvasobjectDimoTableinfoa
3、sobjectSetDataSrv=m_BillInterface.K3Lib.CreateK3Object("K3ClassTpl.DataSrv")DataSrv.ClassTypeID=lClassTypeID'lClassTypeID需要弹出单据的IDSetoTableInfo=DataSrv.TableInfoSetdctData=DataSrv.GetEmptyBill'然后将当前单据数据包中需要的数据填充到dctdata的对应字段'在以上语句执行后,dctdata(“page2”)里只有一行表结构(即表体只有一行)'赋表头的
4、值dctData("Page1")(oTableinfo("map")("FText"))("FFLD")=m_BillInterface.GetFieldValue("FText")dctData("Page1")(oTableinfo("map")("FDeptID"))("FFLD")=m_BillInterface.GetFieldValue("FDeptID",-1,Enu_ValueType_FFLD)dctData("Page1")(oTableinfo("map")("FDeptID"))("FFND")=m_BillIn
5、terface.GetFieldValue("FDeptID",-1,Enu_ValueType_FFND)dctData("Page1")(oTableinfo("map")("FDeptID"))("FDSP")=m_BillInterface.GetFieldValue("FDeptID",-1,Enu_ValueType_FDSP)'赋表体的值DimoPage2AsObjectFori=1Tom_BillInterface.Data("Page2").UBound-1SetoPage2=dctData("Page2")(1).Cl
6、oneAlldctData("Page2").AddoPage2'添加到dcDatadctData("Page2")(i+1)(oTableinfo("map")("FIndex2"))("FFLD")=i+1'更改分录号NextFori=1Tom_BillInterface.Data("Page2").UBound'物料FItemIDdctData("Page2")(i)(oTableinfo("map")("FItemID"))("FFLD")=m_BillInterface.GetFieldValue("FItemID",i,Enu
7、_ValueType_FFLD)dctData("Page2")(i)(oTableinfo("map")("FItemID"))("FDSP")=m_BillInterface.GetFieldValue("FItemID",i,Enu_ValueType_FDSP)dctData("Page2")(i)(oTableinfo("map")("FItemID"))("FFND")=m_BillInterface.GetFieldValue("FItemID",i,Enu_ValueType_FFND)'物料名称fbaseproperty
8、dctData("page2")(i)(oTableinfo("map")("fbaseproperty"))("FFLD")=m_BillInterface.GetFieldValue("f