最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

U8_开发单据和单据列表总结_871

来源:动视网 责编:小OO 时间:2025-09-28 19:42:05
文档

U8_开发单据和单据列表总结_871

1、单据页面初始化:点击“部门费用拆分表”执行后台代码块:先定义变量icbc_deptfy,在类模块clsVoucher_CO(clsVoucher_co.cls)中EnumVoucherTypeSAicbc_deptfy'================jiang==============EndEnum定义变量部门预算,在类模块clsVoucherLoad_BO(clsVoucherLoad_BO.cls)中PublicEnumenuSAVType部门费用拆分表="100016"'====
推荐度:
导读1、单据页面初始化:点击“部门费用拆分表”执行后台代码块:先定义变量icbc_deptfy,在类模块clsVoucher_CO(clsVoucher_co.cls)中EnumVoucherTypeSAicbc_deptfy'================jiang==============EndEnum定义变量部门预算,在类模块clsVoucherLoad_BO(clsVoucherLoad_BO.cls)中PublicEnumenuSAVType部门费用拆分表="100016"'====
1、单据页面初始化:

点击“部门费用拆分表”

执行后台代码块:

先定义变量icbc_deptfy,在类模块clsVoucher_CO (clsVoucher_co.cls)中

Enum VoucherTypeSA

icbc_deptfy                     ' ================jiang==============

End Enum

定义变量部门预算,在类模块clsVoucherLoad_BO(clsVoucherLoad_BO.cls)中

Public Enum enuSAVType

    部门费用拆分表 = "100016"      '================jiang==============

End Enum

调用clsproductfacade模块中下面的callFunction方法

Public Function CallFunction(ByVal cMenuId As String, ByVal cMenuName As String, ByVal cAuthId As String, ByVal cCmdLine As String) As Object

Select Case cMenuId

       Case "MT0101", "MT0102", "MT0103", "MT0201", "MT0202"

            gd_frmMain.m_oMenu_OnCommand cMenuId, cMenuName, cAuthId, cCmdLine

    End Select

调用frmMain(主窗体.frm)中下面的m_oMenu_OnCommand方法

Public Sub m_oMenu_OnCommand(ByVal cMenuId As String, ByVal cMenuName As String, ByVal cAuthId As String, ByVal cCmdLine As String)

添加代码:

Select Case cMenuId

        Case "MT0201"                        '部门费用拆分表

            miBJD_Click icbc_deptfy, cAuthId, , strVouchID    

调用方法miBJD_Click

Public Sub miBJD_Click(strVouType As VoucherTypeSA, strTaskId As String, Optional iMode As Integer, Optional SBVID As String, Optional cSBVCode As String, Optional mDom As DOMDocument)

添加代码:

    Select Case strVouType

      Case icbc_deptfy  '================jiang==============

          strFrmCaption = MLRsSvr.GetString("U8.ICBC.Mt.0299") '"部门费用拆分表"

          tmpTaskID = "MT020101"           '权限ID

          sType = "100016"               '模板编号

调用frmVouchNew(单据模板.frm)中ShowVoucher方法

Public Function ShowVoucher(VoucherType As VoucherTypeSA, Optional vVoucherId As Variant, Optional iMode As Integer)

添加代码:

    Select Case VoucherType

         Case icbc_deptfy       '部门费用拆分表

            strVouchType = "100016"

            strCardNum = "KM01"

            Me.caption = MLRsSvr.GetString("U8.ICBC.Mt.0299") '"部门费用拆分表"

调用clsVoucher_CO (clsVoucher_CO.cls)中的GetVouchInf方法

Public Function GetVouchInf(m_enmVoucherType As VoucherTypeSA, _

   Select Case m_enmVoucherType  

        Case icbc_deptfy                    '部门费用拆分表

            sVouchType = "100016"

            sCardNum = "KM01"

            bVouchFirst = False

            strTable = "icbc_acv"

调用frmVouchNew(单据模板.frm)中SetButtonStatus方法

Private Sub SetButtonStatus(ButtonKey As String)

Select Case LCase(ButtonKey)

        Case "modify"

            Select Case LCase(strVouchType)

                  Case "100016"

                    tbrvoucher.buttons("Modify").Enabled = False

                    tbrvoucher.buttons("Save").Enabled = True

                    tbrvoucher.buttons("Cancel").Enabled = True

                    tbrvoucher.buttons("AddRow").Enabled = True

                    tbrvoucher.buttons("DelRow").Enabled = True

                    tbrvoucher.buttons("Erase").Enabled = False

                    tbrvoucher.buttons("Add").Enabled = False

                    tbrvoucher.buttons("UnSure").Enabled = False

                    tbrvoucher.buttons("Sure").Enabled = False

                    tbrvoucher.buttons("ToFirst").Enabled = False

                    tbrvoucher.buttons("ToPrevious").Enabled = False

                    tbrvoucher.buttons("ToNext").Enabled = False

                    tbrvoucher.buttons("ToLast").Enabled = False

End Select

        Case "add"

            Select Case LCase(strVouchType)

                Case "100016"

                    tbrvoucher.buttons("Add").Enabled = False

                    tbrvoucher.buttons("Save").Enabled = True

                    tbrvoucher.buttons("Cancel").Enabled = True

                    tbrvoucher.buttons("AddRow").Enabled = True

                    tbrvoucher.buttons("DelRow").Enabled = True

                    tbrvoucher.buttons("Modify").Enabled = False

                    tbrvoucher.buttons("Erase").Enabled = False

                    tbrvoucher.buttons("UnSure").Enabled = False

                    tbrvoucher.buttons("Sure").Enabled = False

                    tbrvoucher.buttons("ToFirst").Enabled = False

                    tbrvoucher.buttons("ToPrevious").Enabled = False

                    tbrvoucher.buttons("ToNext").Enabled = False

                    tbrvoucher.buttons("ToLast").Enabled = False

           End Select

        Case "cancel", "save"

            Select Case LCase(strVouchType)

                Case "100016"

                    ComboVTID.Visible = True

                    ComboDJMB.Visible = True

                    Labeldjmb.caption = MLRsSvr.GetString("U8.ICBC.Mt.0302") '"打印模版:"

                    tbrvoucher.buttons("ToFirst").Visible = True

                    tbrvoucher.buttons("ToPrevious").Visible = True

                    tbrvoucher.buttons("ToNext").Visible = True

                    tbrvoucher.buttons("ToLast").Visible = True

                    tbrvoucher.buttons("Save").Visible = True

                    tbrvoucher.buttons("Cancel").Visible = True

                    tbrvoucher.buttons("DelRow").Visible = True

                    tbrvoucher.buttons("AddRow").Visible = True

                    tbrvoucher.buttons("Output").Visible = True     '输出

                    tbrvoucher.buttons("Modify").Visible = True     '修改

                    tbrvoucher.buttons("Save").Enabled = False

                    tbrvoucher.buttons("Cancel").Enabled = False

                    tbrvoucher.buttons("AddRow").Enabled = False

                    tbrvoucher.buttons("DelRow").Enabled = False

                    tbrvoucher.buttons("Modify").Enabled = True

                    tbrvoucher.buttons("Erase").Enabled = True

                    tbrvoucher.buttons("Add").Enabled = True

                    tbrvoucher.buttons("Ordercode").Visible = False

                    tbrvoucher.buttons("ImportPur").Visible = False

                    tbrvoucher.buttons("ImportExcel").Visible = False

                    tbrvoucher.buttons("MakeFACardNumber").Visible = False

                    tbrvoucher.buttons("MakeFACard").Visible = False

                    tbrvoucher.buttons("UnSure").Enabled = True

                    tbrvoucher.buttons("Sure").Enabled = True

                    tbrvoucher.buttons("ToFirst").Enabled = True

                    tbrvoucher.buttons("ToPrevious").Enabled = True

                    tbrvoucher.buttons("ToNext").Enabled = True

                    tbrvoucher.buttons("ToLast").Enabled = True

             End Select

调用ClsVoucher_CO (clsVoucher_ CO.cls)中的 GetVoucherData方法

Public Function GetVoucherData(DomHead As DOMDocument, DomBody As DOMDocument, Optional VouchID As Variant) As String

添加代码:

    Select Case m_enmVoucherType

        Case icbc_deptfy          '部门费用拆分表

            clsVouchDMO.GetVoucherDataWEB domhead, dombody, m_Conn, 部门费用拆分表, False, strErrMsg, VouchID

调用clsVouchDMO(clsVouchDMO.cls)中的 getkey方法

Private Function getkey(ByVal uvdVouchType As enuSAVType, ByVal bReturn As Boolean, CN As ADODB.Connection) As Boolean

添加代码:

    Select Case uvdVouchType    

        '================jiang==============

        Case 部门费用拆分表

            strVouchType = "100016"

            sKeyHead = "id"

            sKeyBody = "id"

            sMViewHead = "icbc_acv"

            sMViewBody = "icbc_acvs"

            sViewHead = "v_icbc_acv"

            sViewBody = "v_icbc_acvs"

            sBodyID = "autoid"

调用ModVoucher(ModVoucher.bas)中的GetVouchInfo方法

Public Function GetVouchInfo(strVouchType As String, strMainIDName As String, _

strSubIDName As String, Optional errMsg As String, Optional cMainTable As String, _

Optional cSubTable As String) As Boolean

添加代码:

    Select Case strVouchType 

        '================jiang==============

        Case "100016"               '部门费用拆分表

            strMainIDName = "id"

            strSubIDName = "id"

            cMainTable = "icbc_acv"

            cSubTable = "icbc_acvs"

调用frmVouchNew(单据模板.frm)中ChangeButtonsState方法

注:根据单据的要求,设置工具栏按钮的初始化时的状态

''改变button的状态

Private Sub ChangeButtonsState()

添加代码:

   Select Case strVouchType 

       '================jiang==============

         Case "100016", "300016", "100018"

                '已审核

If .headerText("auditinguser") <> "" Then

                    Me.tbrvoucher.buttons("UnSure").Visible = True

                    Me.tbrvoucher.buttons("Sure").Visible = False

                    Me.tbrvoucher.buttons("Modify").Enabled = False

                    Me.tbrvoucher.buttons("Erase").Enabled = False

                '未审核

                Else

                    Me.tbrvoucher.buttons("Sure").Visible = True

                    Me.tbrvoucher.buttons("UnSure").Visible = False

                    Me.tbrvoucher.buttons("Modify").Enabled = True

                    Me.tbrvoucher.buttons("Erase").Enabled = True

                End If

        Select Case strVouchType

            Case "100016", "300016"

                If voucher.headerText("archiveno") = "" Then

                    Me.tbrvoucher.buttons("Modify").Enabled = False

                    Me.tbrvoucher.buttons("Erase").Enabled = False

                    Me.tbrvoucher.buttons("MakeFACard").Enabled = False

                End If

        End Select

调用ModVoucher(ModVoucher.bas)中的GetstrCardNum方法

Public Function GetstrCardNum(strVouchType As String, Optional bRed As Boolean = False, Optional bGetTrue As Boolean = False) As String

添加代码:

Select Case strVouchType

            '================jiang==============

        Case "100016"             '部门费用拆分表

            GetstrCardNum = "KM01"

End Select

2、点击“新增”按钮

调用frmVouchNew(单据模板.frm)中的VoucherTask方法

Private Function VoucherTask(sKey As String) As Boolean

Select Case strVouchType

        '部门费用拆分表

        Case "100016"

            Select Case sKey

                Case MLRsSvr.GetString("U8.ICBC.Mt.0013")

                    strID = "MT020102"

                Case MLRsSvr.GetString("U8.ICBC.Mt.0014")

                    strID = "MT020103"

                Case MLRsSvr.GetString("U8.ICBC.Mt.0018")

                    strID = "MT020104"

Case MLRsSvr.GetString("U8.ICBC.Mt.0026"), MLRsSvr.GetString("U8.ICBC.Mt.0027")

                    strID = "MT020105"

            End Select

End Select

调用clsSystem(clsSystem.cls)中的GetVoucherTaskID方法

Public Function GetVoucherTaskID(sKey As String, sVouchType As String, Optional bRed As Boolean) As String

添加代码:

    Select Case sVouchType

        '================jiang==============start'20061230

       '部门费用拆分表

        Case "100016"

            Select Case sKey

                Case GetResString("U8.ICBC.Mt.0013")

                    strID = "MT020102"

                Case GetResString("U8.ICBC.Mt.0014")

                    strID = "MT020103"

                Case GetResString("U8.ICBC.Mt.0018")

                    strID = "MT020104"

          Case  GetResString("U8.ICBC.Mt.0026"),GetResString("U8.ICBC.Mt.0027")

                    strID = "MT020105"

            End Select

调用frmVouchNew(单据模板.frm)中getVoucherCodeName方法

Private Function getVoucherCodeName() As String

添加代码:

    Select Case strVouchType

         Case "100016", "300016"

            KeyCode = "archiveno"

    

3、录入数据,点击“保存”按钮,保存单据

调用ClsVoucher_CO (clsVoucher_CO.cls)中的 Save方法

Public Function Save(ByVal DomHead As DOMDocument, ByVal DomBody As DOMDocument, ByVal VoucherState As Integer, Optional vNewID As Variant, Optional DomConfig As DOMDocument) As String

添加代码:

     ‘================jiang==============验证单据表体记录是否为0

Select Case m_enmVoucherType

        Case icbc_deptfy

            clsVouchLoad.VouchSave m_Conn, 部门费用拆分表, domhead, dombody, VoucherState, strError, vNewID, DomConfig

End Select

   

调用ClsVouchLoad_BO(clsVouchLoad_BO.cls)中VouchSave的方法

Public Function VouchSave(m_Conn As Connection, ByVal uvdVouchType As enuSAVType, _ByVal DomHead As DOMDocument, ByVal domBody As DOMDocument, _

ByVal VoucherState As Integer, sErrMsg As String, Optional vNewID As Variant, Optional DomConfig As DOMDocument) As Boolean

添加代码:

    Select Case uvdVouchType

        '================jiang==============

        Case "100016"

            bSuccess = True

            strMTblName = "icbc_acv"

            strSTblName = "icbc_acvs"  

4、单据的删除功能

点击“删除”按钮

调用clsVouchload_bo(clsVouchload_bo.cls)中的VouchDelete方法

Public Function VouchDelete(strVouchType As String, ByVal DBConn As ADODB.Connection, sTableName As String, DomHead As DOMDocument) As String

添加代码:

Select Case strVouchType   

     '================jiang==============

      Case "100016"            '部门费用拆分表

            sTableName = "icbc_acvs"

            VouchDelete = clsCommSave.DeleteVoucher(strVouchType, DBConn, sTableName, DomHead)

5、单据的修改功能

点击“修该”按钮,录入数据,点击“保存”按钮,保存单据

调用frmVouchNew(单据模板.frm)中ButtonClick方法

Case "save"                  '保存

                Screen.MousePointer = vbHourglass

                voucher.ProtectUnload2

                bClickCancel = False

                bClickSave = True

                '删除空白行

                Select Case strVouchType

                    Case "100016"

                        '部门和所占比例为空

                        For i = voucher.BodyRows To 1 Step -1

                            If (voucher.bodyText(i, "cdepcode") = "" And voucher.bodyText(i, "rate") = "") Or _

                                voucher.bodyText(i, "rate") = 0 Then

                                Me.voucher.DelLine i

                            End If

                        Next

                    

                End Select

6单据的审核功能

调用clsVouchload_bo(clsVouchload_bo.cls)中的VouchVerify方法

Public Function VouchVerify(CN As ADODB.Connection, sflag As Boolean, sType As String, DomHead As DOMDocument, TotalMsg As String) As Boolean

Select Case strVouchType

Case "100016"

                   sqltemp = "select isnull(auditinguser,'') as auditinguser from icbc_acv where id = " & tmpId

二、单据列表总结

打开“单据列表工具”

填写sheet:Rpt_GlbDEF_BASE,AA_ColumnDic_BASE,aa_busobject 对应单据列表的内容,具体字段意思可以参考数据字典。

把数据导入,生成单据列表模板。

例如点击:“批量生成待摊费用凭证”

调用clsproductfacade模块中下面的callFunction方法

Public Function CallFunction(ByVal cMenuId As String, ByVal cMenuName As String, ByVal cAuthId As String, ByVal cCmdLine As String) As Object

Case "MT0205"

            gd_frmMain.m_oMenu_OnCommand cMenuId, cMenuName, "MT020501", cCmdLine

程序执行到工程ICBCMainView 的窗体 frmMain 窗体的方法 m_oMenu_OnCommand方法,在方法中添加代码块:

       Case "MT0205"                        '批量生成待摊费用凭证

            OpenVouch1ist cAuthId, "MT", "pzsc01", icbc_pzsc

在窗体 frmMain添加方法:OpenVouch1ist

Private Sub OpenVouch1ist(strAuthId As String, sysID As String, Vouchlist_Key As String, ByVal VoucherTypes As String)

Select Case VoucherTypes

      Case icbc_pzsc

                       .VouchType = "300016"

                       .caption = MLRsSvr.GetString("U8.ICBC.Mt.0308") '"批量生成待摊费用凭证"

End Select

在窗体 clsvouchlist添加方法: GetFrom

代码块:

Private Function GetFrom(ByVal sKey As String, ByVal Conn As ADODB.Connection, ByRef sTableKey As String, ByVal VouchType As String) As String

  Case "pzsc01"   '批量生成待摊费用凭证

            GetFrom = "v_plscpz"

            sTableKey = "id"

End Select

在窗体 clsvouchlist添加方法:GetVchListData

代码块:

Public Function GetVchListData(ByVal sysID As String, ByVal cKey As String, login As Object, _

     ByVal bListAll As Boolean, ByVal nPageSize As Long, ByVal nCurrentPage As Long, ByRef nPageCount As Long, _

     ByRef rs As ADODB.Recordset, Optional ByRef rsSum As Variant, Optional ByRef ocolSet As Object, _

    Optional ByVal sWhere As String = "", Optional ByRef sErrRet As String, Optional sTableName As String, _

    Optional ByVal bRenew As Boolean = False, Optional nRecordCount As Long, Optional strVouchType As String) As Boolean

Select Case cKey

        Case "pzsc01"   '批量生成待摊费用凭证

            strSql = "select id from icbc_arice_bak where iperiod =" & Format(login.CurDate, "mm")

            oRs.Open strSql, m_conn, adOpenForwardOnly, adLockReadOnly

            If oRs.EOF Then

sWhere = sWhere & " and begindate <= '" & Format(login.CurDate, "yyyy-mm-dd") & "' and enddate >= '" & Format(login.CurDate, "yyyy-mm-dd") & "'"

            Else

                sWhere = sWhere & " and id not in (select id from icbc_arice_bak where iperiod =" & Format(login.CurDate, "mm") & ")" _

& " and begindate <= '" & Format(login.CurDate, "yyyy-mm-dd") & "' and enddate >= '" & Format(login.CurDate, "yyyy-mm-dd") & "'"

            End If

        Case Else

    End Select

End Select

frmVoucherList 的方法 GetFrom中添加代码块:

Private Function GetFrom(ByVal sKey As String, ByVal Conn As ADODB.Connection, ByRef sTableKey As String, ByVal VouchType As String) As String

    Select Case sKey

      Case "pzsc01"   '批量生成待摊费用凭证

            GetFrom = "v_plscpz"

             sTableKey = "id"

    End Select

在窗体frmVoucherList 的方法 initToolBar 中添加代码块:

        If cKey = "17" And m_bPushMo Then

            Me.Toolbar.buttons("pushmo").Visible = True

            Me.Toolbar.buttons(strKSelectAll).Visible = True

            Me.Toolbar.buttons(strKUnSelectAll).Visible = True

            LabMoCode.Visible = False

            txtMoCode.Visible = False

        ElseIf strVouchType = "300016" Or strVouchType = "300018" Then  '批量生成待摊费用凭证

            Me.Toolbar.buttons("make_sure").Visible = False

        End If

            Me.Toolbar.buttons("SelectAll").Visible = True

            Me.Toolbar.buttons("UnSelectAll").Visible = True

            Me.Toolbar.buttons("selected_mode").Visible = True

'            Me.Toolbar.buttons("make_sure").Visible = True

执行结束就可以调出单据列表

文档

U8_开发单据和单据列表总结_871

1、单据页面初始化:点击“部门费用拆分表”执行后台代码块:先定义变量icbc_deptfy,在类模块clsVoucher_CO(clsVoucher_co.cls)中EnumVoucherTypeSAicbc_deptfy'================jiang==============EndEnum定义变量部门预算,在类模块clsVoucherLoad_BO(clsVoucherLoad_BO.cls)中PublicEnumenuSAVType部门费用拆分表="100016"'====
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top