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

📄 frmtakestock.frm

📁 金算盘软件代码
💻 FRM
📖 第 1 页 / 共 5 页
字号:
    ReceiptTypeID = 12    '商品盘点单ID
'   -------------------------------
    lblHead(2).Tag = 33
    lblHead(4).Tag = 0
    Dim i As Integer
    
    Set clsBill = New TakeStock
    clsBill.ReceiptTypeID = ReceiptTypeID
    Set clsBill.Form = Me
    Set clsList = New clsStockTaking
    clsList.SethWnd Me.hwnd
    
    blnNotResize = True
    Set mclsMainControl = gclsSys.MainControls.Add(Me)
    LoadFormSetting Me
    blnNotResize = False
'    SetHelpID 50010
    If GrdCol.Rows > 2 Then
        GrdCol.Rows = 2
    End If
'    FirstReceiptTypeIDAndName ReceiptTypeID, lgID, srName
'    lblHead(2).Tag = lgID
'    lblHead(3).Caption = srName
   
'    grdCol.CellAlignment = flexAlignLeftCenter
End Sub

Private Sub Form_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
    If Not blnEdit And Button <> vbRightButton Then Exit Sub
    clsBill.Form_MouseUp Button
End Sub
'窗体尺寸变化处理程序

Private Sub Form_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 Form_Resize()
If clsBill Is Nothing Then Exit Sub
'If grdCol.Visible = False Then Exit Sub
If Not blnNotResize Then clsBill.Form_Resize
End Sub

Private Sub Form_Unload(Cancel As Integer)
    On Error Resume Next
    If gclsSys Is Nothing Or clsBill Is Nothing Then
        Set clsList = Nothing
        frmListStockTaking.IAmCLosed
        Set clsBill = Nothing
        Set mclsMainControl = Nothing      '主控对象
        Unload Me
        Exit Sub
    End If
 
    If Not ChangeSaveNote() Then
        gblnCancel = True
        Cancel = True
        Exit Sub
    End If

    Set clsList = Nothing
    clsBill.MySaveColWidthDefault
    gclsSys.MainControls.Remove Me
'    gclsSys.CurrFormName = ""
    frmListStockTaking.IAmCLosed
    
    Set clsBill = Nothing
    Set mclsMainControl = Nothing      '主控对象
    Unload Me
End Sub

Private Sub chkPrint0_Click()
'    frmMain.mnuEditShowAll.Checked = chkPrint(0).Value
    clsBill.blnIsChanged = True
End Sub

Private Sub chkPrint1_Click()
    If Not clsBill.blnChangeEvent Then Exit Sub
    Dim intYesNo As Integer
   
    If chkPrint(1).Value = 0 Then
        'GrdCol.Refresh
        RefreshRect Me.hwnd, lblCaption.Left + lblCaption.width, GrdCol.top + GrdCol.RowHeight(0), lblCaption.Left + lblCaption.width + 151 * Screen.TwipsPerPixelX, GrdCol.top + GrdCol.RowHeight(0) + 70 * Screen.TwipsPerPixelY
        If IsCanDo(EditNO(C2lng(lblHead(2).Tag))) Then
            blnEdit = True
            clsBill.mblnEdit = blnEdit
        End If
    Else
        clsBill.blnChangeEvent = False
        chkPrint(1).Value = 0
        clsBill.blnChangeEvent = True
        If blnBillIsClosed(33, clsBill.lngNowID) Then
            clsBill.ShowMsgOther Me.hwnd, "本张" & lblCaption.Caption & "已经结帐,不能作废!", MB_OK + MB_ICONEXCLAMATION + MB_SYSTEMMODAL, "作废单据"
            Exit Sub
        End If
        If blnIsPost Then
             intYesNo = clsBill.ShowMsgOther(Me.hwnd, "本张已盘点处理的" & lblCaption.Caption & "保存后将不能取消作废,您确实要作废吗?", MB_YESNO + MB_ICONQUESTION + MB_SYSTEMMODAL + MB_DEFBUTTON2, "作废单据")
        ElseIf blnEdit Then
             intYesNo = clsBill.ShowMsgOther(Me.hwnd, "本张" & lblCaption.Caption & "保存后将不能取消作废,您确实要作废吗?", MB_YESNO + MB_ICONQUESTION + MB_SYSTEMMODAL + MB_DEFBUTTON2, "作废单据")
'        Else
'            intYesNo = clsbill.showmsgother(Me.hwnd, "本张已盘点处理的" & lblCaption.Caption & "保存后将不能取消作废,您确实要作废吗?", MB_YESNO + MB_ICONQUESTION + MB_SYSTEMMODAL + MB_DEFBUTTON2, "作废单据")
        End If
        If intYesNo = vbNo Then
            Exit Sub
        End If
        clsBill.blnChangeEvent = False
        chkPrint(1).Value = 1
        clsBill.blnChangeEvent = True
        DrawAIcon GrdCol.hwnd, lblCaption.Left + lblCaption.width, GrdCol.RowHeight(0), 1024
        Utility.RemoveFormResPicture (1024)
        blnEdit = False
        clsBill.mblnEdit = blnEdit
    End If
    clsBill.UpdateMainEditMenu
'    frmMain.mnuEditInActive.Checked = chkPrint(1).Value
    clsBill.cmdButtonEnabled(6) = IIf(chkPrint(1).Value = 0 And Not blnIsPost, True, False)
End Sub

Private Sub chkPrint_Click(Index As Integer)
    If Index > 0 And Not IsCanDo(EditNO(C2lng(lblHead(2).Tag))) Then Exit Sub
    If Not IsCanDo(EditNO(C2lng(lblHead(2).Tag))) Then Exit Sub
    clsBill.CHK_CLICK Index
    Select Case Index
        Case 0
            chkPrint0_Click
        Case 1
            chkPrint1_Click
        Case 3  '冲销
    End Select
End Sub

Private Sub cmdButton_Click(Index As Integer)
    If blnNoClick Then
        Exit Sub
    End If
    blnNoClick = True
    If gclsSys Is Nothing Or clsBill Is Nothing Then
        blnNoClick = False
        Unload MsgForm
        Unload Me
        Exit Sub
    End If
    clsBill.cmdButton_Click Index
    Select Case Index
        Case 1
            CmdPrev_Click
        Case 0
            cmdNext_Click
        Case 2
            cmdHome_Click
        Case 3
            CmdEnd_Click
        Case 4
            If SaveBill() Then
                DoEvents
                blnNoClick = False
                Unload Me
                Exit Sub
            End If
        Case 5
            blnNoClick = False
            CmdCancel_Click
            Exit Sub
        Case 6
            If lngSpecialAccountID(1) = 0 Then
                clsBill.ShowMsgOther Me.hwnd, "请先在主菜单“文件(F)”的“帐套属性-特殊科目”中设置好“待处理流动资产损益”科目后再进行“盘点处理”!", MB_OK + MB_ICONEXCLAMATION + MB_SYSTEMMODAL, "错误信息"
                blnNoClick = False
                GoTo EndProc
            End If
            If SaveBill() Then
                If cmdButton(6).Enabled Then
                    Me.MousePointer = vbHourglass
                    If MakeBill() Then
                        If gclsSys Is Nothing Then
                           blnNoClick = False
                            Exit Sub
                        End If
                        Me.MousePointer = vbDefault
                        Screen.MousePointer = vbDefault
                        clsBill.cmdButtonEnabled(6) = False
'                        cmdButton(7).Enabled = False
                        chkPrint(1).Enabled = False
                        blnIsPost = True
                        blnEdit = False
                        clsBill.mblnEdit = blnEdit
                        blnNoClick = False
                        Unload Me
                        Exit Sub
                    Else
                        If gclsSys Is Nothing Then
                           blnNoClick = False
                            Exit Sub
                        End If
                        If clsBill Is Nothing Then
                           blnNoClick = False
                            Exit Sub
                        End If
                        Me.MousePointer = vbDefault
                        Screen.MousePointer = vbDefault
                        clsBill.ShowMsgOther Me.hwnd, "无法生成相应的盘盈、盘亏单,不能盘点处理!", MB_ICONINFORMATION + MB_OK + MB_SYSTEMMODAL, "盘点处理"
'                        cmdButton(6).Enabled = True
'                        cmdButton(7).Enabled = True
                        blnEdit = IsCanDo(EditNO(C2lng(lblHead(2).Tag)))
                        clsBill.mblnEdit = blnEdit
                    End If
                End If
            End If
        Case 7              '重新计算
            reCalculate
        Case 8
            CmdPrint_Click
            
    End Select
EndProc:
    If Index <> 5 Then
        DoEvents
        blnNoClick = False
        If Not clsBill Is Nothing Then
            clsBill.ReSetFocus
        End If
    End If
End Sub
Private Sub CmdCancel_Click()
    clsBill.blnIsChanged = False
    Unload Me
End Sub

Private Sub CmdEnd_Click()
    If Not ChangeSaveNote() Then Exit Sub
    Dim lngID As Long
    If blnView Then
        lngID = lngOtherBill(C2lng(lblHead(2).Tag), C2Date(lblField(2).Caption), lblField(1).Caption, 3)
    Else
        lngID = lngOtherBill(C2lng(lblHead(2).Tag), C2Date(lblField(2).Caption), lblField(1).Caption, 3, C2lng(LblMemo(LblMemo.Count - 1).Tag))
    End If
    If lngID = 0 Then Exit Sub
    ShowAOldBill lngID
End Sub

Private Sub cmdHome_Click()
    If Not ChangeSaveNote() Then Exit Sub
    Dim lngID As Long
    If blnView Then
        lngID = lngOtherBill(C2lng(lblHead(2).Tag), C2Date(lblField(2).Caption), lblField(1).Caption, 2)
    Else
        lngID = lngOtherBill(C2lng(lblHead(2).Tag), C2Date(lblField(2).Caption), lblField(1).Caption, 2, C2lng(LblMemo(LblMemo.Count - 1).Tag))
    End If
    If lngID = 0 Then Exit Sub
    ShowAOldBill lngID
End Sub

Private Sub cmdNext_Click()
    If clsBill.lngNowID <> 0 Then
        If clsBill.blnIsChanged Then
            If Not SaveBill() Then Exit Sub
        End If
        Dim lngID As Long
        If blnView Then
            lngID = lngOtherBill(C2lng(lblHead(2).Tag), C2Date(lblField(2).Caption), lblField(1).Caption, 1)
        Else
            lngID = lngOtherBill(C2lng(lblHead(2).Tag), C2Date(lblField(2).Caption), lblField(1).Caption, 1, C2lng(LblMemo(LblMemo.Count - 1).Tag))
        End If
    
        If lngID < 1 And clsBill.lngNowID <> 0 Then
            If Not IsCanDo(EditNO(C2lng(lblHead(2).Tag))) Then Exit Sub
            ShowANewBill
    '        clsBill.GetANewBill C2Lng(lblHead(5 - 1).Tag), C2Lng(lblHead(3 - 1).Tag), lblField(1).Caption
            blnIsPost = False
            Exit Sub
        ElseIf lngID > 0 Then
            ShowAOldBill lngID
        End If
    Else
        If clsBill.blnIsChanged Then
            If Not SaveBill() Then Exit Sub
        End If
        ShowANewBill
    End If
End Sub

Private Sub CmdPrev_Click()
'    If Not ChangeSaveNote() Then Exit Sub
    Dim lngID As Long
    If blnView 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()
    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 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 blnTmp Then
         If myPrintclass.PrintSameItemReceipt(gclsBase.BaseDB, -4, 33, CStr(clsBill.lngNowID), lngTmp, BillRePrintRight(33)) Then
            If chkPrint(0).Value <> 0 Then
                clsBill.blnChangeEvent = False
                chkPrint(0).Value = 0
                clsBill.blnChangeEvent = True
            End If
            clsBill.blnIsPrinted = True
         End If
    Else
         If myPrintclass.PrintReceipt(gclsBase.BaseDB, -4, 33, CStr(clsBill.lngNowID), lngTmp, BillRePrintRight(33)) 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
    Set myPrintclass = Nothing
End Sub
Private Sub Form_Activate()
    If mclsMainControl Is Nothing Then
        Exit Sub
    End If
    SetHelpID Me.HelpContextID
    gclsSys.CurrFormName = Me.hwnd
    ResponseMessage
    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
    If blnFirstIn Then
        blnFirstIn = False

⌨️ 快捷键说明

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