📄 frmsalesbill.frm
字号:
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 + -