首页 > 其他 > 详细

基础档案后台CO应用实例_存货档案自动同步功能

时间:2020-09-23 13:46:04      阅读:90      评论:0      收藏:0      [点我收藏+]

存货档案自动同步功能

toolbar按钮二开插件预置:直接在原存货档案卡片的“保存”按钮进行实现同步功能。

--meta库
delete from AA_CustomerButton  where cButtonKey =‘InvCOtoSync‘
insert into AA_CustomerButton (cButtonKey,cButtonType,cProjectNO,cFormKey,cVoucherKey,cKeyBefore,iOrder,cGroup,cCustomerObjectName,cCaption,cLocaleID,cImage,cToolTip,cHotKey,bInneralCommand,cVariant,cVisibleAsKey,cEnableAsKey,cSubID,DependenceSubIdList,iheightRow ,iSetGroupRow )                        values(‘InvCOtoSync‘,‘system‘,‘U870‘,‘Inventory_Edit‘,‘Inventory_Edit‘,‘SaveRs‘,0,‘bj‘,‘U8ArchiveSyn_inv.clsToolbarCommon‘,‘存货同步‘,‘ZH-CN‘,‘SaveRs‘,‘调用基础档案后台CO同步更新存货档案‘,‘‘,‘1‘,‘调用基础档案后台CO同步更新存货档案‘,‘SaveRs‘,‘SaveRs‘,‘‘,‘‘,1,2)

二开插件代码实现:

Public g_oLogin As Object ‘UFLoginSQL.Login  ‘设置Login对象
Public SrvDB As Object ‘ U8SrvTrans.IClsCommon ‘设置公共数据库事务处理对象
Private Function Init(ologin As Object) As Boolean
    On Error Resume Next
    Set g_oLogin = ologin
    If g_oLogin Is Nothing Then
        ShowMsg g_oPub.GetResString("U8.AA.ARCHIVE.COMMON.nologin") ‘"没有传入Login对象!"
        Exit Function
    End If
    Set SrvDB = CreateObject("U8SrvTrans.IClsCommon")
    If SrvDB Is Nothing Then
        ShowMsg g_oPub.GetResString("U8.AA.ARCHIVE.COMMON.loadsrvdbfail") ‘"创建CO对象失败!"
        Exit Function
    End If
    SrvDB.Init Replace(ologin.UfDbName, "ufdata_001_2019", "ufdata_002_2019") ‘001 是源账套,002是目标账套
    SrvDB.SetLogin ologin
    If SrvDB.Status = False Then
        ShowMsg g_oPub.GetResString("U8.AA.ARCHIVE.COMMON.dbconnectfail") ‘"数据连接失败!"
        Exit Function
    End If
    Init = True
End Function

Public Function AfterRunSysCommand(ByVal objLogin As Object, ByVal objForm As Object, ByVal objVoucher As Object, _
                            ByVal sKey As String, ByVal VarentValue As Variant, ByRef Cancel As Boolean, ByVal other As String)
    Dim sErrTmp As String
    Dim succeed As Boolean
    ‘objForm.m_SaveXML 串可以再次加工
    If objForm.OperationType = 1 Then ‘新增保存
        succeed = SrvDB.Add(objForm.m_SaveXML, "Inventory", sErrTmp)
    Else                              ‘修改保存
        succeed = SrvDB.Modify(objForm.m_SaveXML, "Inventory", sErrTmp)
    End If
    
End Function

注:如上是直接通过预置存货档案的系统按钮“保存”的插件机制实现了从一个账套调用基础档案CO自动同步到另外一个账套的过程,如果是其他应用场景则需要自行创建U8Login对象、XML串;

基础档案后台CO应用实例_存货档案自动同步功能

原文:https://www.cnblogs.com/lothar/p/13717740.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!