⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 frmdlcommisionbalence.frm

📁 金算盘软件代码
💻 FRM
📖 第 1 页 / 共 4 页
字号:
    If mclsGrid.ListSet.ListID < 1 Then
       mclsGrid.ListSet.SaveList
    End If
    Filter.ShowFilter mclsGrid.ListSet.ListID, 1
    If msgGrid.Rows > 1 Then
       mclsGrid.ListSet.SaveList
    End If
    mclsGrid.ColOfs = intfixl
    isinit = True
    GetList
    mclsGrid.SetupStyle
    If msgGrid.Rows > 1 Then
       msgGrid.col = 1               '对第一列进行排序
       msgGrid.ColSel = 1
       msgGrid.Row = 1
       msgGrid.RowSel = 1
       msgGrid.Sort = 6
    End If

Exit Sub
Err:
    ShowMsg Me.hwnd, "筛选操作不成功!    ", MB_SYSTEMMODAL + MB_ICONEXCLAMATION, "委托结算"
End Sub
'存盘
Private Sub SaveData(kkk As Integer)         '存盘
Dim i As Integer, j As Integer, temp As Double, strSql As String, GoodsID As Long, ActID As Long
Dim l  As Integer, n As Integer, slh As String, intCount As Integer, k As Integer
Dim blnColse As Boolean, dblje As Double, dblsl As Double, dblhl As Double
'On Error GoTo Err
i = 1
l = intfixl
n = intfixl
    GoodsID = 0
'    MousePointer = vbHourglass
    If msgGrid.Rows > 1 Then
        msgGrid.col = 28
        msgGrid.ColSel = 28
        msgGrid.Row = 1
        msgGrid.RowSel = 1
        msgGrid.Sort = 3
    End If
    While (msgGrid.TextMatrix(0, l) <> "已结金额")
           l = l + 1
    Wend
    While (msgGrid.TextMatrix(0, n) <> "已结数量")
           n = n + 1
    Wend
    
    intCount = mfrmToFormname.grdCol.Rows
    If mfrmToFormname.grdCol.Rows < 2 Then
       mfrmToFormname.InsertARow
       'False
       intCount = intCount + 1
    End If
    j = 1
    Do While j < mfrmToFormname.grdCol.Rows       '=0为未覆盖标志
       mfrmToFormname.grdCol.TextMatrix(j, 41) = "0"
       j = j + 1
    Loop
    j = 1
    While j < msgGrid.Rows
        If (getnumber(j, 8) <> getnumber(j, l) Or getnumber(j, 10) <> getnumber(j, n) Or msgGrid.TextMatrix(j, 1) = "√") Then   '前后有否变化
            k = 1
            Do While k < intCount         '商品是否添加
                  If msgGrid.TextMatrix(j, 28) = mfrmToFormname.grdCol.TextMatrix(k, 28) Then
                     Exit Do
                  End If
                  k = k + 1
            Loop
            If k >= intCount Then
                 If C2Lng(mfrmToFormname.grdCol.TextMatrix(mfrmToFormname.grdCol.Rows - 1, 28)) <> 0 Then    '判断最后一行是否为空行
                    mfrmToFormname.InsertARow
                    'False
                 End If
                 i = mfrmToFormname.grdCol.Rows - 1
                 mfrmToFormname.grdCol.TextMatrix(i, 41) = "1"                     '=1为已覆盖标志
                 msgGrid.TextMatrix(j, 4) = CStr(i)        '记住写入的行号
                 mfrmToFormname.grdCol.TextMatrix(i, 1) = msgGrid.TextMatrix(j, 29)        '商品名称
                 mfrmToFormname.grdCol.TextMatrix(i, 28) = msgGrid.TextMatrix(j, 28)       '商品ID
                 mfrmToFormname.grdCol.TextMatrix(i, 3) = msgGrid.TextMatrix(j, 33)        '货位
                 mfrmToFormname.grdCol.TextMatrix(i, 30) = msgGrid.TextMatrix(j, 32)       '货位ID
                 mfrmToFormname.grdCol.TextMatrix(i, 4) = msgGrid.TextMatrix(j, 30)        '计量单位
                 mfrmToFormname.grdCol.TextMatrix(i, 31) = msgGrid.TextMatrix(j, 17)       '计量单位ID
                 mfrmToFormname.grdCol.TextMatrix(i, 5) = msgGrid.TextMatrix(j, n)         '数量
                 mfrmToFormname.grdCol.TextMatrix(i, 6) = msgGrid.TextMatrix(j, 19)        '单价
 '                mfrmToFormname.grdCol.TextMatrix(i, 9) = CStr(Format(getnumber(j, n) * getnumber(j, 19), ".00"))        '原币金额
                 mfrmToFormname.grdCol.TextMatrix(i, 8) = "100.00"                                         '扣率
                 mfrmToFormname.grdCol.TextMatrix(i, 11) = msgGrid.TextMatrix(j, 31)        '税率
                 mfrmToFormname.grdCol.TextMatrix(i, 32) = msgGrid.TextMatrix(j, 20)        '税率ID
'                 mfrmToFormname.grdCol.TextMatrix(i, 12) = CStr(Format((getnumber(j, l) - getnumber(j, n) * getnumber(j, 19)), ".00"))        '原币税额
'                 mfrmToFormname.grdCol.TextMatrix(i, 14) = msgGrid.TextMatrix(j, l)        '原币含税金额
                 Call mfrmToFormname.WriteGrd(getnumber(j, l), i, 14)      '原币含税金额
                 mfrmToFormname.grdCol.TextMatrix(i, 17) = msgGrid.TextMatrix(j, 41)        '生产批号
                 mfrmToFormname.grdCol.TextMatrix(i, 18) = msgGrid.TextMatrix(j, 2)        '生产日期
                 mfrmToFormname.grdCol.TextMatrix(i, 19) = msgGrid.TextMatrix(j, 3)        '到期日期
                 mfrmToFormname.grdCol.TextMatrix(i, 20) = msgGrid.TextMatrix(j, 42)        '保质期
                 mfrmToFormname.grdCol.TextMatrix(i, 21) = msgGrid.TextMatrix(j, 34)        '工程名称
                 mfrmToFormname.grdCol.TextMatrix(i, 33) = msgGrid.TextMatrix(j, 21)        '工程ID
                 mfrmToFormname.grdCol.TextMatrix(i, 22) = msgGrid.TextMatrix(j, 35)        '自定义项目1
                 mfrmToFormname.grdCol.TextMatrix(i, 23) = msgGrid.TextMatrix(j, 36)        '自定义项目2
                 mfrmToFormname.grdCol.TextMatrix(i, 24) = msgGrid.TextMatrix(j, 37)        '自定义项目3
                 mfrmToFormname.grdCol.TextMatrix(i, 25) = msgGrid.TextMatrix(j, 38)        '自定义项目4
                 mfrmToFormname.grdCol.TextMatrix(i, 26) = msgGrid.TextMatrix(j, 39)        '自定义项目5
                 mfrmToFormname.grdCol.TextMatrix(i, 27) = msgGrid.TextMatrix(j, 40)        '自定义项目6
                 mfrmToFormname.grdCol.TextMatrix(i, 34) = msgGrid.TextMatrix(j, 22)        '自定义项目1
                 mfrmToFormname.grdCol.TextMatrix(i, 35) = msgGrid.TextMatrix(j, 23)        '自定义项目2
                 mfrmToFormname.grdCol.TextMatrix(i, 36) = msgGrid.TextMatrix(j, 24)        '自定义项目3
                 mfrmToFormname.grdCol.TextMatrix(i, 37) = msgGrid.TextMatrix(j, 25)        '自定义项目4
                 mfrmToFormname.grdCol.TextMatrix(i, 38) = msgGrid.TextMatrix(j, 26)        '自定义项目5
                 mfrmToFormname.grdCol.TextMatrix(i, 39) = msgGrid.TextMatrix(j, 27)        '自定义项目6
                 mfrmToFormname.grdCol.TextMatrix(i, 40) = msgGrid.TextMatrix(j, 16)        '转换因子
             Else
                 msgGrid.TextMatrix(j, 4) = k       '记住写入的行号
                 If Trim(mfrmToFormname.grdCol.TextMatrix(k, 41)) = "1" Then                    '=1为已覆盖标志
                    dblhl = Val(Balance.translate_minsl(mfrmToFormname.grdCol.TextMatrix(k, 5), getnumber(j, 16))) + Val(Balance.translate_minsl(msgGrid.TextMatrix(j, n), getnumber(j, 16)))
                    mfrmToFormname.grdCol.TextMatrix(k, 5) = Balance.intTodec(dblhl, getnumber(j, 16), True)
'                    mfrmToFormname.grdCol.TextMatrix(k, 14) = C2Dbl(mfrmToFormname.grdCol.TextMatrix(k, 14)) + getnumber(j, l)        '原币含税金额
                     Call mfrmToFormname.WriteGrd((C2Dbl(mfrmToFormname.grdCol.TextMatrix(k, 14)) + getnumber(j, l)), k, 14)
                 Else
                    mfrmToFormname.grdCol.TextMatrix(k, 5) = msgGrid.TextMatrix(j, n)
'                    mfrmToFormname.grdCol.TextMatrix(k, 14) = msgGrid.TextMatrix(j, l)      '原币含税金额
                    Call mfrmToFormname.WriteGrd(getnumber(j, l), k, 14)      '原币含税金额
                    mfrmToFormname.grdCol.TextMatrix(k, 41) = "1"                  '=1为已覆盖标志
                 End If
             End If
        End If
        j = j + 1
    Wend
    j = 1
    Do While j < mfrmToFormname.grdCol.Rows       '=0为未覆盖标志
       mfrmToFormname.CalcAmount j
       If C2Dbl(mfrmToFormname.grdCol.TextMatrix(j, 14)) = 0 Then    '原币含税金额
          mfrmToFormname.blnDeleteARow j
       End If
       j = j + 1
    Loop
    blnColse = mfrmToFormname.SaveBill
'本循环找出本次已结金额所在的列
If blnColse = True Then
    i = 1
    While i < msgGrid.Rows
          If (getnumber(i, 8) <> getnumber(i, l) Or getnumber(i, 10) <> getnumber(i, n)) Then     '前后有否变化
              GoodsID = getnumber(i, 0)
              ActID = CLng(IIf(Len(Trim(mfrmToFormname.grdCol.TextMatrix(getnumber(i, 4), 0))) = 0, "0", mfrmToFormname.grdCol.TextMatrix(getnumber(i, 4), 0)))
              dblsl = Balance.translate_minsl(msgGrid.TextMatrix(i, n), getnumber(i, 16))
              dblhl = Balance.translate_minsl(msgGrid.TextMatrix(i, 10), getnumber(i, 16))
              dblje = getnumber(i, l)
              If (getnumber(i, 8) = 0) And (dblje <> 0) Then       '新增情况
         '          If (getnumber(i, 13) = 14 Or getnumber(i, 13) = 25) Then                 '委托结算或代销调出
        '               strSQL = "Insert into LendToSale (lngSaleActivityDetailID,dblQuantity,dblCurrAmount)  " _
         '                   & " Values(" & GoodsID & "," & dblsl & "," & dblje & " )"
          '         Else
           '            strSQL = "Insert into LendToSale (lngLendActivityDetailID,dblQuantity,dblCurrAmount)  " _
            '                & " Values(" & GoodsID & "," & dblsl & "," & dblje & ")"
             '      End If
                  strSql = "Insert Into LendToSale (lngLendActivityDetailID,lngSaleActivityDetailID,dblQuantity,dblCurrAmount)" _
                        & " Values (" & GoodsID & ", " & ActID & ", " & dblsl & ", " & dblje & " ) "
                  blnColse = gclsBase.ExecSQL(strSql)
                  strSql = "Update ItemActivityDetail Set dblSettlementQuantity=dblSettlementQuantity + " & dblsl & " - " & dblhl & " ," _
                         & "dblCurrSettlementAmount = dblCurrSettlementAmount + " & dblje & " - " & getnumber(i, 8) & " " _
                         & " where lngActivityDetailID=" & GoodsID & ""
                  blnColse = gclsBase.ExecSQL(strSql)
              Else          '更新情况
                If (getnumber(i, 8) <> dblje) Then       '新增情况
        '           If (getnumber(i, 13) = 14 Or getnumber(i, 13) = 25) Then                                  '委托结算或代销调出
        '               strSQL = "Update LendToSale Set dblQuantity = " & dblsl & " ,dblCurrAmount=" & dblje & ", " _
        '                  & " Where lngSaleActivityDetailID =" & ActID & " And lngLendActivityDetailID =" & GoodsID & ""
        '           Else
        '               strSQL = "Update LendToSale Set dblQuantity = " & dblsl & " ,dblCurrAmount=" & dblje & ", " _
        '                  & " Where lngLendActivityDetailID =" & GoodsID & ""
        '           End If
                   strSql = "Update LendToSale Set dblQuantity = " & dblsl & " ,dblCurrAmount=" & dblje & " " _
                          & " Where lngSaleActivityDetailID =" & ActID & " And lngLendActivityDetailID =" & GoodsID & ""
                   blnColse = gclsBase.ExecSQL(strSql)
                   strSql = "Update ItemActivityDetail Set dblSettlementQuantity=dblSettlementQuantity + " & dblsl & " - " & dblhl & ", " _
                         & "dblCurrSettlementAmount = dblCurrSettlementAmount + " & dblje & " - " & getnumber(i, 8) & " " _
                         & " where lngActivityDetailID=" & GoodsID & ""
                   blnColse = gclsBase.ExecSQL(strSql)
                 End If
              End If
          End If
          i = i + 1
    Wend
    strSql = "Delete *  From LendToSale Where dblQuantity=0 Or dblCurrAmount=0;"
    blnColse = gclsBase.ExecSQL(strSql)
End If
'MousePointer = vbDefault
If kkk = 1 Then
   Unload Me
End If
'Exit Sub
'Err:
'    MousePointer = vbDefault
    'ShowMsg Me.hWnd, "委托结算存盘失败!    ", MB_SYSTEMMODAL + MB_ICONEXCLAMATION, "委托结算"
End Sub
'关联

Private Sub Cmdall_Click(Index As Integer)
'响应窗体按钮动作
   Select Case Index
    Case 7                                    '确定存盘
        blnIsCancel = True
        If msgGrid.Rows > 1 Then
           SaveData (1)
        Else
           CancelGrid
        End If
    Case 1                                    '取消
         blnIsCancel = True
         CancelGrid
    Case 2                                    '筛选
         FilterData
    Case 3                                    '栏目设置
         setColumn
    Case 4
         'BillPublic.ShowBill getnumber(msgGrid.Row, 6), DetailID
    Case 5                                   '全部选择
        If msgGrid.Rows > 1 Then
           BalenceAll (0)
        End If
    Case 6
        If msgGrid.Rows > 1 Then
           BalenceAll (1)                    '全部取消
        End If
  End Select

End Sub

'重定窗体中各控件的位置、大小
Private Sub Form_Resize()
    If Me.WindowState = 1 Then
        Exit Sub
    End If
    If mblnFormNoRezise Then Exit Sub
    On Error Resume Next
    If Me.Height < intFormHeight Then Me.Height = intFormHeight
    If Me.Width < intFormWidth Then Me.Width = intFormWidth
    RedrawForm
End Sub
Private Sub RedrawForm()
    '重画MS FlexGrid 控件
    Dim leftx As Integer
    On Error Resume Next
    With msgGrid
        .Width = Me.ScaleWidth - DlListFormLeft - DlListFormRight * 2 - DlFormButtonWidth
        
        .Height = Me.ScaleHeight - DlListUpAreaHeight - DlListDownAreaHeight - DlListFormBottom
    End With
    
    '重画其余控件
    leftx = Me.ScaleLeft + Me.ScaleWidth - DlFormButtonWidth - DlListFormRight + 18
    Cmdall(4).Left = leftx
    Cmdall(7).Left = leftx
    Cmdall(1).Left = leftx
    Cmdall(2).Left = leftx
    Cmdall(3).Left = leftx
    Cmdall(5).Left = leftx
    Cmdall(6).Left = leftx
    
    Lbb(1).top = 120
    Cmdall(7).top = Me.ScaleTop + Lbb(1).Height + Lbb(1).top
    Cmdall(1).top = Cmdall(7).top + 9 + DlFormButtonHeight
    Cmdall(2).top = Cmdall(1).top + 133 + DlFormButtonHeight
    Cmdall(3).top = Cmdall(2).top + 9 + DlFormButtonHeight
    'Cmdall(4).top = Cmdall(3).top + 9 + DlFormButtonHeight
    Cmdall(5).top = Cmdall(3).top + 133 + DlFormButtonHeight
    Cmdall(6).top = Cmdall(5).top + 9 + DlFormButtonHeight
    
    Label1(0).top = 120
    lbdw.top = 120
    Label1(0).Left = msgGrid.Left
    lbdw.Left = msgGrid.Left + 600
    lbdw.Width = Int(msgGrid.Width / 2)

    Lbb(0).top = 120
    Lbb(1).top = 120
    Lbb(1).Width = msgGrid.Width / 7
    Lbb(1).Left = msgGrid.Width - Lbb(1).Width
    Lbb(0).Left = Lbb(1).Left - Lbb(0).Width
    mclsGrid.TotalRowAdjust
    Me.Refresh
End Sub
'Flexgrid显示栏目设置
Private Sub setColumn()
Dim i As Integer
On Error GoTo Err
    i = 1
    strWorkID = ""

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -