欢迎来到天天文库
浏览记录
ID:20445072
大小:40.00 KB
页数:6页
时间:2018-10-11
《如何在老单插件开发中提取序时簿中字段值》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、如何在老单插件开发中提取序时簿中的字段值1.接口及参数说明MainFunction(ByValsKeyAsstring,oListAsObject,ByrefbCancelasBoolean)sKey:菜单的Key值,也就是菜单名oList:K3List控件bCancel:是否取消后继操作标志2.使用方法序时薄的二次开发是通过菜单挂接组件来实现的。对于使用者需要按照以下步骤进行:1).在t_BandToolMapping中的FcomName填入需要调用组件的名称,注意:不要覆盖原有内容,要在原有内容上用“
2、”分割后加入自己的组件,可以加多个组件。第一个插件前一定要加“
3、”,因为之前的
4、部分是记录了其他信息。2).二次开发组件必须实现MainFunction(ByValsKeyAsstring,oListAsObject,ByrefbCancelasBoolean)方法。要终止事件,请将bCancel设置为true。3).oList为一个即是ICList,可以使用其中的任何Public方法。比方说GetSelData为取得选取的对象3.使用范例例如外购入库需要对"back"MENU做二次开发,则增加应该为Updateaseta.FComName=a.FComName+CaseWhenRight(a.FComName,1)='
5、'then'K3GMSPTransBil
6、l.GMSPTransList
7、'else'
8、K3GMSPTransBill.GMSPTransList
9、'endfromt_BandToolMappingaleftjoint_MenuToolBarbona.FToolID=b.FToolIDwhereFName='Back'andFComNamenotlike'%K3GMSPTransBill.GMSPTransList%'anda.FID=82(FID取iclisttemplate.fmenuID)然后在组件K3GMSPTransBill.GMSPTransList中实现Public的MainFunction方法插件示例:Pub
10、licFunctionMainFunction(ByValsKeyAsString,oListAsObject,ByRefbCancelAsBoolean)DimvectBillAsKFO.VectorDimlmulAsLong'DimrsAsADODB.RecordsetDimInBatchAsFormSetInBatch=NewInBatchSetOBJ=CreateObject("K3Connection.AppConnection")'菜单响应SelectCasesKeyCase"FMenuPC"'和你在数据库里插入的FNAME一样'通过SetvectBill=oList.G
11、etSelected可以获取当前选中序时薄数据'返回记录集方式'Setrs=obj.Execute("select*fromt_icitem")'执行存储过程方式'obj.Execute3("execKY_PlanQty")EndSelectEndFunction本次开发为金蝶老工业单据开发,附上相关重要源码信息:PublicFunctionMainFunction(ByValsKeyAsString,oListAsObject,ByRefbCancelAsBoolean)DimvectBillAsKFO.VectorDimlmulAsLongDimrsAsADODB.Records
12、etDimInBatchAsFormDimJDimIDimDictAsKFO.DictionaryDimDictCheckAsKFO.DictionaryDimfiteridAsIntegerDimfbillnoAsStringDimsqlUpdateAsStringDimsqlSelectAsStringDimstrListAsString'SetInBatch=NewInBatch显示窗体SetOBJ=CreateObject("K3Connection.AppConnection")'老单据里的连接字串SelectCasesKey1Case"PlanUpdate"'Setvec
13、tBill=NewKFO.Vector:SetvectBill=oList.GetSelData("FInterID")IfvectBill.UBound>0ThenfrmUpdate.Show1IffrmUpdate.dtUpdate="白班"ThenForI=vectBill.LBoundTovectBill.UBound'辅助资料内码40025=白班SetDictCheck=vectBill(I)sqlUpdate="UpdateICMOsetFHe
此文档下载收益归作者所有