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

📄 frmdlpurchase.frm

📁 金算盘软件代码
💻 FRM
📖 第 1 页 / 共 4 页
字号:
       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, 16) = 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, 2) = i                   '保存数据所赋予对方Grid所在的行
             mfrmToFormname.grdCol.TextMatrix(i, 1) = msgGrid.TextMatrix(j, 29)        '商品名称
             mfrmToFormname.grdCol.TextMatrix(i, 28) = msgGrid.TextMatrix(j, 16)       '商品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) = 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) = Format((getnumber(j, l) - getnumber(j, n) * getnumber(j, 19)), ".00")       '原币税额
             'WriteGrd(ByVal strText As String, ByVal lngRow As Long, ByVal lngCol As Long)
             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, 14)        '生产日期
             mfrmToFormname.grdCol.TextMatrix(i, 19) = msgGrid.TextMatrix(j, 15)        '到期日期
             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, 28)        '转换因子
         Else
             msgGrid.TextMatrix(j, 2) = k                   '保存数据所赋予对方Grid所在的行
             If Trim(mfrmToFormname.grdCol.TextMatrix(k, 41)) = "1" Then                    '=1为已覆盖标志
                dblhl = Val(Balance.translate_minsl(mfrmToFormname.grdCol.TextMatrix(k, 5), getnumber(j, 28))) + Val(Balance.translate_minsl(msgGrid.TextMatrix(j, n), getnumber(j, 28)))
                mfrmToFormname.grdCol.TextMatrix(k, 5) = Balance.intTodec(dblhl, getnumber(j, 28), True)
                Call mfrmToFormname.WriteGrd((C2Dbl(mfrmToFormname.grdCol.TextMatrix(k, 14)) + getnumber(j, l)), k, 14)     '原币含税金额
'                mfrmToFormname.grdCol.TextMatrix(k, 12) = Format((C2Dbl(mfrmToFormname.grdCol.TextMatrix(k, 14)) - getnumber(j, n) * getnumber(j, 19)), ".00")        '原币税额
             Else
                mfrmToFormname.grdCol.TextMatrix(k, 5) = msgGrid.TextMatrix(j, n)
'                mfrmToFormname.grdCol.TextMatrix(k, 9) = Format((getnumber(j, n) * getnumber(j, 19)), ".00")  '原币金额
'                mfrmToFormname.grdCol.TextMatrix(k, 14) = getnumber(j, l)        '原币含税金额
                Call mfrmToFormname.WriteGrd(getnumber(j, l), k, 14)        '原币含税金额
'                mfrmToFormname.grdCol.TextMatrix(k, 12) = Format((getnumber(j, l) - getnumber(j, n) * getnumber(j, 19)), ".00")        '原币税额
                mfrmToFormname.grdCol.TextMatrix(k, 41) = "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
       SaveData1
    End If
    MousePointer = vbDefault
If kkk = 1 Then
   Unload Me
End If
'Exit Sub
'Err:
     MousePointer = vbDefault
'    ShowMsg Me.hWnd, "系统出错!    ", MB_SYSTEMMODAL + MB_ICONEXCLAMATION, "受托结算"
'    Update Cancel
End Sub


'存盘
Private Sub SaveData1()        '存盘
Dim i As Integer, j As Integer, temp As Double, strSql As String, dblje As Double
Dim recc As rdoResultset, reci As rdoResultset, GoodsID As Long, dblsl As Double, ActID As Long
Dim l  As Integer, n As Integer, isOk As Boolean, dblhl As Double
'On Error GoTo Err
i = 1
l = intfixl
n = intfixl
'本循环找出本次结算金额及本次折扣所在的列
While (msgGrid.TextMatrix(0, l) <> "结算金额")
       l = l + 1
Wend
While (msgGrid.TextMatrix(0, n) <> "结算数量")
       n = n + 1
Wend
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, 2), 0))) = 0, "0", mfrmToFormname.grdCol.TextMatrix(getnumber(i, 2), 0)))
            dblsl = Balance.translate_minsl(msgGrid.TextMatrix(i, n), getnumber(i, 28))
            dblhl = Balance.translate_minsl(msgGrid.TextMatrix(i, 10), getnumber(i, 28))
            dblje = getnumber(i, l)
            If (getnumber(i, 8) = 0 And getnumber(i, 10) = 0) And (getnumber(i, l) <> 0 Or getnumber(i, 10) <> 0) Then       '新增情况
                strSql = "Insert Into BorrowToPurchase (lngBorrowActivityDetailID,lngPurchaseActivityDetailID,dblQuantity,dblCurrAmount) " _
                       & " Values(" & GoodsID & "," & ActID & "," & dblsl & "," & dblje & ")"
                isOk = gclsBase.ExecSQL(strSql)
            Else
                strSql = "Update BorrowToPurchase Set dblQuantity = " & dblsl & ",dblCurrAmount = " & dblje & " Where lngBorrowActivityDetailID =" & GoodsID & " And lngPurchaseActivityDetailID =" & ActID & ""
                isOk = gclsBase.ExecSQL(strSql)
            End If
                strSql = "Update ItemActivityDetail Set dblSettlementQuantity=dblSettlementQuantity + " & dblsl & " - " & dblhl & ", " _
                     & "dblCurrSettlementAmount = dblCurrSettlementAmount + " & dblje & " - " & getnumber(i, 8) & " Where lngActivityDetailID=" & GoodsID & ""
                isOk = gclsBase.ExecSQL(strSql)
      End If
      i = i + 1
Wend
strSql = "Delete *  From BorrowToPurchase Where dblQuantity=0 Or dblCurrAmount=0;"
isOk = gclsBase.ExecSQL(strSql)
'Exit Sub
'Err:
'    ShowMsg Me.hwnd, "存盘失败!    ", MB_SYSTEMMODAL + MB_ICONEXCLAMATION, "受托结算存盘"
End Sub
'关联
'按钮动作响应
Private Sub Cmdall_Click(Index As Integer)
If msgGrid.Rows > 1 Then
  Select Case Index
    Case 0
         BalanceAll (0)                 '完全结算
    Case 1
         BalanceAll (1)                 '完全取消
  End Select
End If
End Sub
'按钮动作响应
Private Sub cmdOK_Click(Index As Integer)
'响应窗体按钮动作
'If msgGrid.Rows > 1 Then
  Select Case Index
    Case 5                                    '确定存盘
        blnIsCancel = True
        If msgGrid.Rows > 1 Then
            SaveData (1)                    '存盘
        Else
           ExitGrid
        End If
    Case 1
         blnIsCancel = True
         ExitGrid                           '退出结算窗体
    Case 2
         FilterData                         '筛选
    Case 3
         setColumn                          '栏目设置
    Case 4
'         BillPublic.ShowBill getnumber(msgGrid.Row, 13), DetailID         'relate
  End Select
'Else
'  ExitGrid
'End If

End Sub

'重定窗体中各控件的位置、大小
Private Sub Form_Resize()
    If mblnFormNoRezise Then Exit Sub
    If Me.WindowState = 1 Then
       Exit Sub
    End If
    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
    cmdOk(4).Left = leftx
    cmdOk(5).Left = leftx
    cmdOk(1).Left = leftx
    cmdOk(2).Left = leftx
    cmdOk(3).Left = leftx
    'cmdOK(4).Left = leftx
    Cmdall(0).Left = leftx
    Cmdall(1).Left = leftx
    
    Lbbz(1).top = 120
    cmdOk(5).top = Me.ScaleTop + Lbbz(1).Height + Lbbz(1).top
    cmdOk(1).top = cmdOk(5).top + 9 + DlFormButtonHeight
    cmdOk(2).top = cmdOk(1).top + 133 + DlFormButtonHeight
    cmdOk(3).top = cmdOk(2).top + 9 + DlFormButtonHeight
    'cmdOK(4).top = cmdOK(3).top + 9 + DlFormButtonHeight
    Cmdall(0).top = cmdOk(3).top + 133 + DlFormButtonHeight
    Cmdall(1).top = Cmdall(0).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)
    
    Lbbz(0).top = 120
    Lbbz(1).Width = Int(msgGrid.Width / 7)
    Lbbz(1).Left = msgGrid.Width - Lbbz(1).Width
    Lbbz(0).Left = Lbbz(1).Left - Lbbz(0).Width + 135
    mclsGrid.TotalRowAdjust
    Me.Refresh
End Sub
'Flexgrid显示栏目设置
Private Sub setColumn()
Dim i As Integer
On Error GoTo Err
'If msgGrid.Rows > 1 Then
    i = 1
    strWorkID = ""
    Do While i < msgGrid.Rows
       If msgGrid.TextMatrix(i, 1) = "√" Then
          If Len(strWorkID) > 0 Then
              strWorkID = strWorkID & "," & CStr(getnumber(i, 0))
          Else
              strWorkID = CStr(getnumber(i, 0))
          End If
       End If
       i = i + 1
    Loop
    strWorkID = "( " & strWorkID & " )"
    If msgGrid.Rows > 1 Then
       If ShowMsg(Me.hwnd, "栏目设置后,你刚刚做的结算将被取消,需要先存盘吗", MB_YESNO + MB_ICONQUESTION + MB_DEFBUTTON2 + MB_SYSTEMMODAL, "受托结算") = IDYES Then
          SaveData (0)
       End If
    End If
    mclsGrid.GridToListSet
    mclsGrid.ListSet.SaveList
    If mclsGrid.ListSet.ShowListSet(mclsGrid.ListSet.ViewId) Then
        GetList
        mclsGrid.SetupStyle
    End If
    isinit = True
    If msgGrid.Rows > 1 Then
       msgGrid.col = 1               '对第一列进行排序
       msgGrid.ColSel = 1

⌨️ 快捷键说明

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