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

📄 frmsalesbill.frm

📁 金算盘软件代码
💻 FRM
📖 第 1 页 / 共 5 页
字号:
    showNotePad C2lng(lblHead(0).Tag)
End Sub
Private Sub CmdPrev_Click()
'    If Not ChangeSaveNote() Then Exit Sub
    Dim lngID As Long
    If IsCanDo(EditNO(C2lng(lblHead(2).Tag), False)) Then
        lngID = lngOtherBill(C2lng(lblHead(2).Tag), C2Date(lblField(2).Caption), lblField(1).Caption, 0)
    Else
        lngID = lngOtherBill(C2lng(lblHead(2).Tag), C2Date(lblField(2).Caption), lblField(1).Caption, 0, C2lng(LblMemo(LblMemo.Count - 1).Tag))
    End If
    If lngID = 0 Then Exit Sub
    ShowAOldBill lngID
End Sub

Private Sub CmdPrint_Click(Optional ByVal blnPrintDetail As Boolean = False)
    If clsBill.blnIsChanged Then
        If Not SaveBill() Then Exit Sub
    End If
    If clsBill.lngNowID = 0 Then
        clsBill.ShowMsgOther Me.hwnd, "单据为空,无可打印信息!", MB_OK + MB_SYSTEMMODAL + MB_ICONINFORMATION, "打印单据"
        Exit Sub
    End If

    
    #If conQuanDisc = -1 Then
      If clsBill.blnPayAll(False) = False Then
         If clsBill.ShowMsgOther(Me.hwnd, "本张单据没有全部核销,您确实要打印吗?", MB_YESNO + MB_SYSTEMMODAL + MB_ICONEXCLAMATION + MB_DEFBUTTON2, "打印单据") <> vbYes Then
            Exit Sub
         End If
      End If
    #End If
    If clsBill.blnIsPrinted Then
      If clsBill.blnPrintPrintedBill Then
         If clsBill.ShowMsgOther(Me.hwnd, "本张" & lblCaption.Caption & "已经打印,您确实要打印吗?", MB_YESNO + MB_ICONQUESTION + MB_SYSTEMMODAL + MB_DEFBUTTON2, "打印单据") = vbNo Then
            Exit Sub
         End If
      Else
         clsBill.ShowMsgOther Me.hwnd, "本张" & lblCaption.Caption & "已经打印,不能再打印!", MB_OK + MB_ICONEXCLAMATION + MB_SYSTEMMODAL + MB_DEFBUTTON2, "打印单据"
         Exit Sub
      End If
    End If
          
    
    Dim myPrintclass As PrintClass
    Set myPrintclass = New PrintClass
    Dim blnTmp As Boolean
    Dim lngTmp As Long
    lngTmp = getPrintIDofTemplateID(C2lng(lblHead(4).Tag), blnTmp)
    If blnPrintDetail Then
        If blnTmp Then
            myPrintclass.PrintSameItemReceipt gclsBase.BaseDB, -8, C2lng(lblHead(2).Tag), CStr(clsBill.lngNowID), lngTmp, True
        Else
            myPrintclass.PrintReceiptSingle gclsBase.BaseDB, -8, C2lng(lblHead(2).Tag), CStr(clsBill.lngNowID), lngTmp, True
        End If
    Else
        If blnTmp Then
          If blnNeedPrintDetail(True) Then
            If myPrintclass.PrintSameItemReceipt(gclsBase.BaseDB, -9, C2lng(lblHead(2).Tag), CStr(clsBill.lngNowID), lngTmp, BillRePrintRight(C2lng(lblHead(2).Tag))) Then
               If chkPrint(0).Value <> 0 Then
                 clsBill.blnChangeEvent = False
                 chkPrint(0).Value = 0
                 clsBill.blnChangeEvent = True
              End If
               clsBill.blnIsPrinted = True
            End If
            If clsBill.ShowMsgOther(Me.hwnd, "本张" & lblCaption.Caption & "可以打印销货清单,您需要打印吗?", MB_YESNO + MB_ICONQUESTION + MB_SYSTEMMODAL + MB_DEFBUTTON1, "打印单据") = vbYes Then
                myPrintclass.PrintSameItemReceipt gclsBase.BaseDB, -8, C2lng(lblHead(2).Tag), CStr(clsBill.lngNowID), lngTmp, True
            End If
          Else
            If myPrintclass.PrintSameItemReceipt(gclsBase.BaseDB, C2lng(ReceiptTypeID), C2lng(lblHead(2).Tag), CStr(clsBill.lngNowID), lngTmp, BillRePrintRight(C2lng(lblHead(2).Tag))) Then
               If chkPrint(0).Value <> 0 Then
                 clsBill.blnChangeEvent = False
                 chkPrint(0).Value = 0
                 clsBill.blnChangeEvent = True
              End If
               clsBill.blnIsPrinted = True
            End If
          End If
        Else
          If blnNeedPrintDetail() Then
            If myPrintclass.PrintReceiptSingle(gclsBase.BaseDB, -9, C2lng(lblHead(2).Tag), CStr(clsBill.lngNowID), lngTmp, BillRePrintRight(C2lng(lblHead(2).Tag))) Then
               If chkPrint(0).Value <> 0 Then
                 clsBill.blnChangeEvent = False
                 chkPrint(0).Value = 0
                 clsBill.blnChangeEvent = True
              End If
               clsBill.blnIsPrinted = True
            End If
            If clsBill.ShowMsgOther(Me.hwnd, "本张" & lblCaption.Caption & "可以打印销货清单,您需要打印吗?", MB_YESNO + MB_ICONQUESTION + MB_SYSTEMMODAL + MB_DEFBUTTON1, "打印单据") = vbYes Then
                myPrintclass.PrintReceiptSingle gclsBase.BaseDB, -8, C2lng(lblHead(2).Tag), CStr(clsBill.lngNowID), lngTmp, True
            End If
          Else
            If myPrintclass.PrintReceiptSingle(gclsBase.BaseDB, C2lng(ReceiptTypeID), C2lng(lblHead(2).Tag), CStr(clsBill.lngNowID), lngTmp, BillRePrintRight(C2lng(lblHead(2).Tag))) Then
               If chkPrint(0).Value <> 0 Then
                 clsBill.blnChangeEvent = False
                 chkPrint(0).Value = 0
                 clsBill.blnChangeEvent = True
              End If
               clsBill.blnIsPrinted = True
            End If
          End If
    End If
   End If
    Set myPrintclass = Nothing

End Sub

Private Sub CmdReceive_Click()
    With FrmPayment
        .Show
        .ZOrder
    End With
End Sub
Private Sub Form_Activate()
    If mclsMainControl Is Nothing Then
        Exit Sub
    End If
    SetHelpID Me.HelpContextID
    ResponseMessage
    If Not clsBill.blnBillCanChange() Then
        blnEdit = False
    Else
        blnEdit = True
    End If
    clsBill.SetBlnSelceted
    If lblHead(4).Tag = "" Or lblHead(4).Tag = "0" Then
        lblHead(4).Tag = 1
        IdToCodeAndName xTemplatE, C2lng(lblHead(4).Tag), " ", lblHead(5).Caption
    End If
    clsBill.UpdateMainEditMenu
    gclsSys.CurrFormName = Me.hwnd
'    If blnFirstIn Then
'        blnFirstIn = False
'        Exit Sub
'    Else
        Form_Resize
'    End If
    
    
    If (Me.Left + Me.width) < 0 Or Me.Left > Screen.width Then
        Me.Left = 300
    End If
    clsBill.ReSetFocus
End Sub
Public Sub ResponseMessage()
    Dim vntMessage As Variant
    '响应消息
    For Each vntMessage In mclsMainControl.Messages
        If vntMessage = Message.msgAccount Then '接收到科目改变消息
            If blnEdit And clsBill.blnMayChange Then
                clsBill.AccountChanged
            End If
            mclsMainControl.Messages.Remove CStr(vntMessage) '清除付款条件改变消息
        End If
        If vntMessage = Message.msgCustomer Then  '接收到单位改变消息
            mclsMainControl.Messages.Remove CStr(vntMessage) '清除付款条件改变消息
            clsBill.setRefer 1
        End If
        If vntMessage = Message.msgItem Then   '接收到商品改变消息
            mclsMainControl.Messages.Remove CStr(vntMessage) '清除付款条件改变消息
            clsBill.setRefer 2
        End If
        If vntMessage = 30 + C2lng(lblHead(2).Tag) Then
            mclsMainControl.Messages.Remove CStr(vntMessage) '清除付款条件改变消息
            clsBill.ReGetBillNO
        End If
    Next
    If clsBill.lngNowID <> 0 And clsBill.blnMayChange = False And C2lng(lblHead(2).Tag) < 15 Then
        clsBill.LoadDiscInfos
    End If

End Sub

Private Sub grdCol_DblClick()
    #If conVersionType <> 16 Then
        If C2lng(lblHead(2).Tag) = 20 Then
'            If C2lng(LblMemo(LblMemo.Count - 1).Tag) = gclsBase.OperatorID Then
            If clsBill.blnMayChange Then
                If UCase(TextOfGrid(GrdCol.Row, 47)) = "TRUE" Then
                    If frmInvoiceSelect.ShowMe(Me, Not clsBill.blnMayChange, GrdCol.Row) Then
                         clsBill.ModiRateReadOnly
                        clsBill.WriteTotalRow
                    End If
                End If
            End If
        End If
    #End If
End Sub

Private Sub GrdCol_Mouseup(Button As Integer, Shift As Integer, x As Single, y As Single)
    clsBill.GrdCol_Mouseup Button, Shift, x, y
    If Button = vbRightButton Then
        MakeListActivityMenu
        clsBill.MenuVisible = True
        PopupMenu frmMain.mnuListActivity
        clsBill.MenuVisible = False
    End If
End Sub
Private Sub grdCol_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
    If Not frmMain.ActiveForm Is Me Then
         On Error Resume Next
        Me.SetFocus
    End If
    clsBill.grdCol_MouseDown Button, Shift, x, y

End Sub

Private Sub grdCol_Scroll()
    clsBill.grdCol_Scroll
End Sub


Private Sub LblBack_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
    If Not frmMain.ActiveForm Is Me Then
         On Error Resume Next
        Me.SetFocus
    End If
    clsBill.LblBack_MouseUp Button
End Sub

Private Sub LblBack_MouseUp(Button As Integer, Shift As Integer, x As Single, y As Single)
    If Button = vbRightButton Then
        MakeListEditMenu
        clsBill.MenuVisible = True
        PopupMenu frmMain.mnuListEdit
        clsBill.MenuVisible = False
    End If

End Sub

Private Sub lblField_MouseDown(Index As Integer, Button As Integer, Shift As Integer, x As Single, y As Single)
    If Not frmMain.ActiveForm Is Me Then
         On Error Resume Next
        Me.SetFocus
    End If
    clsBill.Field_MouseUp Index, Button, x, y
    
End Sub


Private Sub lblField_MouseUp(Index As Integer, Button As Integer, Shift As Integer, x As Single, y As Single)
    If Button = vbRightButton Then
        MakeListEditMenu
        clsBill.MenuVisible = True
        PopupMenu frmMain.mnuListEdit
        clsBill.MenuVisible = False
    End If

End Sub

Private Sub lblFieldCaption_MouseDown(Index As Integer, Button As Integer, Shift As Integer, x As Single, y As Single)
    clsBill.Field_MouseUp Index, Button, x, y
End Sub

Private Sub lblHead_Change(Index As Integer)
    Select Case Index
        Case 5
            refTmpID_Change
        Case 3
            If C2lng(lblHead(2).Tag) = 0 Then Exit Sub
            blnEdit = IsCanDo(EditNO(C2lng(lblHead(2).Tag)))   '设置blnEdit标志
            blnView = IsCanDo(EditNO(C2lng(lblHead(2).Tag), False))   '设置blnView标志
            '设置可修改标志
            If blnEdit And C2lng(LblMemo(5).Tag) = gclsBase.OperatorID Then
                clsBill.blnMayChange = True
            Else
                clsBill.blnMayChange = False
            End If
            chkPrint(0).Enabled = clsBill.blnMayChange      '设置待打印按纽
            chkPrint(1).Enabled = clsBill.blnMayChange And chkPrint(1).Value = 0     '设置作废按纽
            
            clsBill.ReceiptTypeChange
        Case 1
            lblField(0).Caption = strDetailMsg(C2lng(lblHead(0).Tag))
    End Select
End Sub

Private Sub lblHead_MouseDown(Index As Integer, Button As Integer, Shift As Integer, x As Single, y As Single)
    If Not frmMain.ActiveForm Is Me Then
         On Error Resume Next
        Me.SetFocus
    End If
    Select Case Button
        Case vbRightButton
'            clsBill.bytRegion = FHead
'            clsBill.bytIndex = Index
            clsBill.UpdateMainEditMenu
            Exit Sub
        Case vbLeftButton
            If (Index \ 2) * 2 = Index Then Exit Sub
            If x >= lblHead(Index).width - clsBill.DropButtonWidth And _
               x <= lblHead(Index).width And _
               y >= 0 And _
               y <= lblHead(Index).Height Then
                clsBill.Head_Click Index, True
            Else
                clsBill.Head_Click Index, False
            End If
            clsBill.UpdateMainEditMenu
    End Select
End Sub

Private Sub lblHead_MouseUp(Index As Integer, Button As Integer, Shift As Integer, x As Single, y As Single)
    If Button = vbRightButton Then
        MakeListEditMenu
        clsBill.MenuVisible = True
        PopupMenu frmMain.mnuListEdit
        clsBill.MenuVisible = False
    End If

End Sub

Private Sub lblmemo_MouseDown(Index As Integer, Button As Integer, Shift As Integer, x As Single, y As Single)
    If Not frmMain.ActiveForm Is Me Then
         On Error Resume Next
        Me.SetFocus
    End If
    Select Case Button
        Case vbRightButton
            clsBill.bytRegion = FFooter
            clsBill.bytIndex = Index
            clsBill.UpdateMainEditMenu
            Exit Sub
        Case vbLeftButton
            If Index = 3 Then
                    If x >= LblMemo(Index).width - clsBill.DropButtonWidth And _
                       x <= LblMemo(Index).width And _
                       y >= 0 And _
                       y <= LblMemo(Index).Height Then
                        clsBill.Memo_Click Index, True
                    Else
                        clsBill.Memo_Click Index, False
                    End If
            Else
                clsBill.Memo_Click Index
            End If
            clsBill.UpdateMainEditMenu
    End Select
End Sub

Private Sub lblMemo_MouseUp(Index As Integer, Button As Integer, Shift As Integer, x As Single, y As Single)
    If Button = vbRightButton Then
        MakeListEditMenu
        clsBill.MenuVisible = True
        PopupMenu frmMain.mnuListEdit
        clsBill.MenuVisible = False
    End If

End Sub

Private Sub lblNote_MouseDown(Index As Integer, Button As Integer, Shift As Integer, x As Single, y As Single)
    If Not frmMain.ActiveForm Is Me Then
         On Error Resume Next
        Me.SetFocus
    End If
    If Index < 2 Then Exit Sub
    Select Case Button
        Case vbRightButton
            clsBill.bytRegion = FNote
            clsBill.bytIndex = Index
            clsBill.UpdateMainEditMenu
            Exit Sub
        Case vbLeftButton
            If Index = 3 Or Index = 5 Then
                    If x >= lblNote(Index).width - clsBill.DropButtonWidth And _
   

⌨️ 快捷键说明

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