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

📄 frmadjustprice.frm

📁 金算盘软件代码
💻 FRM
📖 第 1 页 / 共 5 页
字号:
Attribute mclsMainControl.VB_VarHelpID = -1
Dim lgID As Long
Dim srName As String
Dim srCode As String
Dim blnNotResize As Boolean
Dim blnIsCanEventChk_Click As Boolean       '确定在LOADBILL时是否激活CHK——CLICK事件
Dim lngVoucherID As Long
Dim blnEdit As Boolean  '填制权限
Dim blnView As Boolean  '查询权限
Dim blnNotRaiseEvents As Boolean  '不响应按键事件标志
Dim dblFacter As Double
Dim blnIsLoading As Boolean '正在引入数据标志
Private blnFirstIn As Boolean '首次进入窗体(从SHOWANEWTYPEBILL和showaoldbill)标志
Private blnPrinted As Boolean '已打印标志


Private Sub cmbInput_Click()
    clsBill.SaveInput2Form
    If clsBill.bytRegion = FHead Then
        Dim lngID As Long
        Dim lngT As Long
        Dim strT As String
        Dim strC As String
        lngID = BillPublic.ReceiptNameToTypeID(cmbInput.Text)
        lngT = FirstId(xTemplatE, lngID)
        Call BillPublic.IdToCodeAndName(xTemplatE, lngT, strC, strT)
        lblHead(4).Tag = lngT
        lblHead(5).Caption = strT
    End If
End Sub

Private Sub cmdButton_GotFocus(Index As Integer)
'    clsBill.InputCtrInvisible
'    clsBill.bytRegion = FcmdButton
'    clsBill.bytIndex = Index

End Sub

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
    clsBill.Form_key_Down KeyCode
End Sub

Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer)
    If blnNotRaiseEvents Then Exit Sub
    Dim CtrDown As Integer
    If KeyCode = 93 Then
        If clsBill.bytRegion = FGrid Or clsBill.bytRegion = FGrid1 Or clsBill.bytRegion = FPicture Then
            GrdCol_Mouseup vbRightButton, 0, 0, 0
        Else
            Form_MouseUp vbRightButton, 0, 0, 0
        End If
        Exit Sub
    End If
    CtrDown = Shift And vbCtrlMask
    If CtrDown > 0 Then
        Select Case KeyCode
            Case 33     'Ctr+PageUp
                cmdButton_Click 1
            Case 34    'Ctl-PageDown
                cmdButton_Click 0
            Case 13    'ctr_Enter
                cmdButton_Click 4
        End Select
        Debug.Print KeyCode
'    ElseIf KeyCode = 27 Then 'ESCAPE
'        cmdButton_Click 5
    Else
        clsBill.Form_KeyDown KeyCode, Shift
    End If
End Sub

Private Sub Form_Load()
'   -------------------------------
    ReceiptTypeID = 9    '商品调价单ID
'   -------------------------------
    Dim i As Integer
    lblHead(2).Tag = 29
    Set clsBill = New itemAdjust
    clsBill.ReceiptTypeID = ReceiptTypeID
    Set clsBill.Form = Me
    
    Me.HelpContextID = 10250
    blnNotResize = True
    Set mclsMainControl = gclsSys.MainControls.Add(Me)
    blnNotResize = False
    
    lblHead(2).Tag = 29  '商品调价单
    
'    Me.Hide
'    Me.Left = -30000
    If blnIsLoading = False Then MsgForm.PleaseWait
    If clsBill Is Nothing Then Exit Sub
    clsBill.AddReferOfItem
End Sub

Private Sub Form_MouseUp(Button As Integer, Shift As Integer, x As Single, y As Single)
    If blnNotRaiseEvents = True Then Exit Sub
    clsBill.Form_MouseUp
    If Button = vbRightButton Then
        MakeListEditMenu
        clsBill.blnNotRespondKeyPress = True
        PopupMenu frmMain.mnuListEdit
        If clsBill Is Nothing Then
            blnNotRaiseEvents = False
            Exit Sub
        End If
        clsBill.blnNotRespondKeyPress = False
        blnNotRaiseEvents = True
        DoEvents
        blnNotRaiseEvents = False
    End If
End Sub
'窗体尺寸变化处理程序
Private Sub Form_Resize()
    If Not blnNotResize Then clsBill.Form_Resize
End Sub

Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
    If gclsSys Is Nothing Then Exit Sub
    If clsBill Is Nothing Then Exit Sub
    If UnloadMode = vbFormControlMenu Then
        If blnNotRaiseEvents = True Then
            gblnCancel = True
            Cancel = 1
            Exit Sub
        End If
    End If
    If clsBill.blnIsChanged Then
        If Not ChangeSaveNote Then
            gblnCancel = True
            Cancel = 1
            Exit Sub
        End If
    End If
    SaveColWidthDefault Me
    gclsSys.MainControls.Remove Me
    
'    frmListAdjustPrice.RefreshList clsBill.lngNowID
    Set mclsMainControl = Nothing
    Set clsBill = Nothing
    Unload MsgForm
    Unload Me
    frmListAdjustPrice.IAmCLosed
End Sub

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

Private Sub chkPrint1_Click()
    Dim intYesNo As Integer
    If chkPrint(1).Value = 1 And blnIsCanEventChk_Click Then
        blnNotRaiseEvents = True
        chkPrint(1).Value = 0
        intYesNo = ShowMsg(Me.hwnd, "该调价单作废后将不能取消作废,您确实要作废吗?", MB_YESNO + MB_SYSTEMMODAL + MB_DEFBUTTON2 + MB_ICONQUESTION, "提示信息")
        If intYesNo = IDYES Then
            chkPrint(1).Value = 1
            clsBill.blnIsChanged = True
        End If
        blnNotRaiseEvents = False
    Else
        clsBill.blnIsChanged = True
    End If
    With GrdCol
        RefreshRect .hwnd, .Left + (.width - 140 * Screen.TwipsPerPixelX) \ 2, .RowHeight(0) + (.Height - .RowHeight(0) - 70 * Screen.TwipsPerPixelY) \ 2, .Left + (.width - 140 * Screen.TwipsPerPixelX) \ 2 + 140 * Screen.TwipsPerPixelX, .RowHeight(0) + (.Height - .RowHeight(0) - 70 * Screen.TwipsPerPixelY) \ 2 + 70 * Screen.TwipsPerPixelY
    End With
    clsBill.SetAFocus

End Sub

Private Sub chkPrint_Click(Index As Integer)
    If blnNotRaiseEvents = True Then Exit Sub
    clsBill.CHK_CLICK Index
    Select Case Index
        Case 0
            chkPrint0_Click
        Case 1
            chkPrint1_Click
    End Select
End Sub

Private Sub cmdButton_Click(Index As Integer)
    If blnNotRaiseEvents = True Then Exit Sub
    blnNotRaiseEvents = True
    clsBill.blnKeyDown = False
    If Index <> 5 Then
        clsBill.cmdButton_Click Index
        If clsBill.bytRegion <> FcmdButton Then
            blnNotRaiseEvents = False
            Exit Sub
        End If
    End If
    Select Case Index
        Case 0
            cmdNext_Click       '下一张
        Case 1
            CmdPrev_Click       '上一张
        Case 2
            cmdHome_Click       '最前
        Case 3
            CmdEnd_Click        '最后
        Case 4
            cmdOK_Click         '确定
            Exit Sub
        Case 5
            CmdCancel_Click     '取消
            Exit Sub
        Case 6 '关联凭证
            Dim lngID As Long
            lngID = ActivityIdToVoucherId(clsBill.lngNowID, True)
            FrmVoucher.ShowAOldBill lngID
        Case 7
            CmdPrint_Click      '打印
            clsBill.SetAFocus
    End Select
    blnNotRaiseEvents = True
    DoEvents
    blnNotRaiseEvents = False
End Sub

Private Sub cmdOK_Click()
    If SaveBill() Then
        blnNotRaiseEvents = False
        Unload Me
    End If
    blnNotRaiseEvents = False
End Sub
Private Sub CmdCancel_Click()
    If clsBill.lngNowID = 0 Then
        clsBill.intAccountYear = gclsBase.FYearOfDate(gclsBase.BaseDate)
        clsBill.bytAccountPeriod = gclsBase.PeriodOfDate(gclsBase.BaseDate)
        blnMaxNODecrease clsBill.intAccountYear, clsBill.bytAccountPeriod, 29, strAlphaOfStr(lblField(1).Caption), BillPublic.strDigitOfStr(lblField(1).Caption)
    End If
    clsBill.blnIsChanged = False
    blnNotRaiseEvents = False
    Unload Me
End Sub

Private Sub CmdPrev_Click()
    Dim i As Integer
    If Not ChangeSaveNote Then Exit Sub
    Dim lngID As Long
    lngID = lngOtherBill(C2lng(lblHead(2).Tag), C2Date(lblField(2).Caption), lblField(1).Caption, 0)
    If lngID <= 0 Then
        Exit Sub
    End If
    ShowAOldBill lngID
End Sub

Private Sub cmdNext_Click()
    Dim lngID As Long
    lngID = clsBill.lngNowID
    If clsBill.blnIsChanged Then
        If Not SaveBill() Then Exit Sub
        If clsBill.lngNowID = 0 Then
            Exit Sub
        End If
    ElseIf clsBill.lngNowID = 0 Then
        Exit Sub
    End If
    If lngID > 0 Then
        lngID = lngOtherBill(C2lng(lblHead(2).Tag), C2Date(lblField(2).Caption), lblField(1).Caption, 1)
    End If
    If lngID < 1 Then
        If blnEdit Then ShowANewBill
    Else
        ShowAOldBill lngID
    End If
End Sub

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

Private Sub cmdHome_Click()
    Dim i As Integer
    If Not ChangeSaveNote Then Exit Sub
'    For i = 0 To 3
'        cmdButton(i).Enabled = True
'    Next i
    Dim lngID As Long
    lngID = lngOtherBill(C2lng(lblHead(2).Tag), C2Date(lblField(2).Caption), lblField(1).Caption, 2)
    If lngID = 0 Then
'        cmdButton(1).Enabled = False
'        cmdButton(2).Enabled = False
        Exit Sub
    End If
    ShowAOldBill lngID
End Sub

Private Sub mclsMainControl_FilePrint()
    CmdPrint_Click
End Sub
Private Sub mclsMainControl_FilePrintReceipt()
    If clsBill.lngNowID > 0 Then
        If clsBill.blnIsChanged Then
            If SaveBill() = False Then Exit Sub
        End If
    End If
    PrintReceipt 29
End Sub

Private Sub CmdPrint_Click()
    If clsBill.lngNowID = 0 And clsBill.blnIsChanged = False Then
        ShowMsg Me.hwnd, "单据为空,无可打印信息!", MB_OK + MB_ICONEXCLAMATION + MB_SYSTEMMODAL, "提示"
        Exit Sub
    ElseIf GrdCol.Rows <= 1 Then
        ShowMsg Me.hwnd, "单据体为空,不能打印!", MB_OK + MB_ICONEXCLAMATION + MB_SYSTEMMODAL, "提示"
        Exit Sub
    End If

    Dim intReturnID As Integer
    If clsBill.blnIsChanged Then
        If Not SaveBill Then
            Exit Sub
        End If
        ShowAOldBill clsBill.lngNowID
    End If
    If clsBill.lngNowID <= 0 Then Exit Sub

    clsBill.blnMayChange = False '旧调价单不允许修改
    
    Dim myPrintclass As PrintClass
    Set myPrintclass = New PrintClass
    If myPrintclass.PrintReceipt(gclsBase.BaseDB, C2lng(lblHead(2).Tag), C2lng(lblHead(2).Tag), CStr(clsBill.lngNowID), getPrintIDofTemplateID(C2lng(lblHead(5).Tag)), BillRePrintRight(29)) Then
        If cmdButton(7).Enabled And BillRePrintRight(C2lng(lblHead(2).Tag)) = False Then
            cmdButton(7).Enabled = False
        End If
        If WanNeng Then
            tblReceipt.Buttons(8).Enabled = cmdButton(7).Enabled
        End If
        clsBill.UpdateMainEditMenu
    End If
    Set myPrintclass = Nothing
    clsBill.SetAFocus
End Sub

Private Sub Form_Activate()
    SetHelpID C2lng(Me.HelpContextID)
    gclsSys.CurrFormName = Me.hwnd
    clsBill.UpdateMainEditMenu
    If blnFirstIn Then
        blnFirstIn = False
        Exit Sub
    End If
    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
    Form_Resize
    If Me.Left + Me.width < 0 Or Me.Left > Screen.width Then
        Me.Left = 300
    End If
End Sub

⌨️ 快捷键说明

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