如何在老单插件开发中提取序时簿中的字段值.doc_第1页
如何在老单插件开发中提取序时簿中的字段值.doc_第2页
如何在老单插件开发中提取序时簿中的字段值.doc_第3页
如何在老单插件开发中提取序时簿中的字段值.doc_第4页
如何在老单插件开发中提取序时簿中的字段值.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

如何在老单插件开发中提取序时簿中的字段值 1接口及参数说明MainFunction(ByVal sKey As string,oList AsObject,Byref bCancel as Boolean)sKey : 菜单的Key值,也就是菜单名oList : K3List控件bCancel:是否取消后继操作标志2使用方法序时薄的二次开发是通过菜单挂接组件来实现的。对于使用者需要按照以下步骤进行:1)在t_BandToolMapping中的FcomName填入需要调用组件的名称,注意:不要覆盖原有内容,要在原有内容上用“| ”分割后加入自己的组件,可以加多个组件。第一个插件前一定要加“|”,因为之前的部分是记录了其他信息。2)二次开发组件必须实现MainFunction(ByVal sKey As string,oList AsObject,Byref bCancel as Boolean)方法。要终止事件,请将bCancel设置为true。3)oList为一个即是ICList,可以使用其中的任何Public方法。比方说 GetSelData 为取得选取的对象3使用范例例如外购入库需要对backMENU做二次开发,则增加应该为Update a set a.FComName=a.FComName+Case When Right(a.FComName,1)=| then K3GMSPTransBill.GMSPTransList| else |K3GMSPTransBill.GMSPTransList| endfrom t_BandToolMapping a left join t_MenuToolBar b on a.FToolID = b.FToolIDwhere FName = Back and FComName not like %K3GMSPTransBill.GMSPTransList% and a.FID=82(FID取iclisttemplate.fmenuID)然后在组件K3GMSPTransBill.GMSPTransList中实现Public的MainFunction方法插件示例:Public Function MainFunction(ByVal sKey As String, oList As Object, ByRef bCancel As Boolean)Dim vectBill As KFO.VectorDim lmul As Long Dim rs As ADODB.RecordsetDim InBatch As FormSet InBatch = New InBatchSet OBJ = CreateObject(K3Connection.AppConnection)菜单响应Select Case sKeyCase FMenuPC 和你在数据库里插入的FNAME一样通过Set vectBill = oList.GetSelected 可以获取当前选中序时薄数据返回记录集方式Set rs = obj.Execute(select * from t_icitem)执行存储过程方式 obj.Execute3 (exec KY_PlanQty)End SelectEnd Function本次开发为金蝶老工业单据开发,附上相关重要源码信息:Public Function MainFunction(ByVal sKey As String, oList As Object, ByRef bCancel As Boolean) Dim vectBill As KFO.Vector Dim lmul As Long Dim rs As ADODB.Recordset Dim InBatch As Form Dim J Dim I Dim Dict As KFO.Dictionary Dim DictCheck As KFO.Dictionary Dim fiterid As Integer Dim fbillno As String Dim sqlUpdate As String Dim sqlSelect As String Dim strList As String Set InBatch = New InBatch 显示窗体 Set OBJ = CreateObject(K3Connection.AppConnection) 老单据里的连接字串 Select Case sKey1 Case PlanUpdate Set vectBill = New KFO.Vector: Set vectBill = oList.GetSelData(FInterID) If vectBill.UBound 0 Then frmUpdate.Show 1 If frmUpdate.dtUpdate = 白班 Then For I = vectBill.LBound To vectBill.UBound 辅助资料内码 40025=白班 Set DictCheck = vectBill(I) sqlUpdate = Update ICMO set FHeadSelfJ0176 =40025 where finterid = & DictCheck.GetValue(FInterID) OBJ.Execute3 (sqlUpdate) Next I SendKeys (F5) MsgBox 生产任务单班别更新成功, vbOKOnly, 金蝶提示 End If If frmUpdate.dtUpdate = 夜班 Then For I = vectBill.LBound To vectBill.UBound 辅助资料内码 40026=夜班 Set DictCheck = vectBill(I) sqlUpdate = Update ICMO set FHeadSelfJ0176 =40026 where finterid = & DictCheck.GetValue(FInterID) OBJ.Execute3 (sqlUpdate) Next I SendKeys (F5) MsgBox 生产任务单班别更新成功, vbOKOnly, 金蝶提示 End If End If Case PlanUpdate2 Set vectBill = oList.GetSelData(FInterID) If vectBill.UBound 0 Then strList = For I = vectBill.LBound To vectBill.UBound 辅助资料内码 40025=白班 Set DictCheck = vectBill(I) strList = strList & DictCheck.GetValue(FInterID) & , Next I strList = Left(strList, Len(Trim(strList) - 1) sqlSelect = select t2.FNumber,t2.FName,sum(t1.FQty) from ICMO t1 inner join t_icitem t2 on t1.FItemID=t2.FItemID where t1.FInterID in ( & strList & ) group by t2.FNumber,t2.FName Set rs = OBJ.Execute(sqlSelect) End Function-在采购订单序时簿上添加工具栏按钮INSERT INTO t_BandToolMapping(FID,FBandID,FToolID,FSubBandID,FIndex,FComName,FBeginGroup)VALUES(81,47,1001,0,1001,&mnuFileUserAdd1,1)INSERT INTO t_MenuToolBar(FToolID,FName,FCaption,FCaption_CHT,FCaption_EN,FImageName,FToolTip,FToolTip_CHT,FToolTip_EN,FControlType,FVisible,FEnable,FChecked,FShortCut,FShortChar,FCBList,FCBList_CHT,F

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论