📄 frmbudgetanalize.frm
字号:
Private Sub lstAll_DblClick()
cmdToRight = True
End Sub
Private Sub lstSelectedItem_Click()
cmdToLeft.Enabled = True
If lstSelectedItem.ListIndex = 0 Then
cmdUpWard.Enabled = False
Else
cmdUpWard.Enabled = True
End If
If lstSelectedItem.ListIndex = lstSelectedItem.ListCount - 1 Then
cmdDownWard.Enabled = False
Else
cmdDownWard.Enabled = True
End If
End Sub
Private Sub lstSelectedItem_DblClick()
Dim blnIsIn As Boolean
Dim intFixedCount As Integer
cmdToLeft = True
If lstSelectedItem.ListCount <= 0 Then
cmdToLeft.Enabled = False
End If
End Sub
Private Sub ReferText1_KeyPress(KeyAscii As Integer)
mclsFilter.ReferText1_KeyPress Me, KeyAscii
End Sub
Private Sub ReferText2_KeyPress(KeyAscii As Integer)
mclsFilter.ReferText2_KeyPress Me, KeyAscii
End Sub
Private Sub tabWizardPages_Click(PreviousTab As Integer)
mlngStepNum = tabWizardPages.Tab + 1
If mlngStepNum = 2 Then
If txtReportName.Text = "" Then
ComEnabled
mlngStepNum = 1
ShowStep
cmdNextStep.Enabled = False
txtReportName.SetFocus
Exit Sub
End If
End If
ComEnabled
End Sub
Private Sub tvwFilter_Collapse(ByVal Node As msComctlLib.Node)
mclsFilter.tvwFilter_Collapse Me, Node
End Sub
Private Sub TxtFrom_KeyDown(KeyCode As Integer, Shift As Integer)
mclsFilter.TxtFrom_KeyDown Me, KeyCode, Shift
End Sub
Private Sub txtReportName_GotFocus()
txtReportName.SelStart = 0
txtReportName.SelLength = Len(txtReportName.Text)
End Sub
Private Sub txtReportName_Change()
If Trim(txtReportName) <> "" Then
cmdNextStep.Enabled = True
Else
txtReportName.Text = Trim(txtReportName)
mlngStepNum = 1
ShowStep
ComEnabled
cmdNextStep.Enabled = False
End If
End Sub
Private Sub txtReportName_LostFocus()
txtReportName = Trim(txtReportName)
End Sub
'计算数据类型的值(权值)
Private Function CountDatatype(Optional blnCheckedType As Boolean) As Byte
Dim intArrayIndex As Integer
Dim bytType As Byte
'数据类型
bytType = 0
If chkType(0) = 1 Then '本币
bytType = bytType + 8
End If
If chkType(1) = 1 Then '数量
bytType = bytType + 16
End If
If chkType(2) = 1 Then '原币
bytType = bytType + 32
End If
If chkType(3) = 1 Then '含税本币
bytType = bytType + 1
End If
If chkType(4) = 1 Then '含税原币
bytType = bytType + 2
End If
If bytType = 0 Then
blnCheckedType = False
' bytType = 8
Else
blnCheckedType = True
End If
CountDatatype = bytType
End Function
'初始化数据来源和数据类型以及帐务类型
Private Sub GetDataSource()
Dim intRowIndex As Integer
Dim intCount As Integer
Dim rs As rdoResultset
Dim strSql As String
Dim strTempString As String
Dim strTempString1 As String
Dim strTempString2 As String
Dim bytDataType As Byte
Dim bytData(5) As Byte
Dim bytTemp As Byte
Dim Index As Byte
Dim bytDataSource As Byte
cboCond.ListIndex = mclsFinanceRptWiz.CondShow
If mclsFinanceRptWiz.ReportIsFromWizard = False Then
strSql = "Select * From ReportAnalysisData Where ReportAnalysisData.lngReportID = " & mclsFinanceRptWiz.ReportID
Set rs = gclsBase.BaseDB.OpenResultset(strSql, rdOpenStatic)
With rs
If .EOF = True Then
rs.Close
Exit Sub
End If
'数据来源
mbytSelectedBudgetObjectID = !bytDataSource
'预算方案名称
If !strBudgetName <> "" Then
comBudgetName.Text = !strBudgetName
strTempString = !strBudgetName
End If
If mclsFinanceRptWiz.ViewId <> 321 Then
strTempString2 = !strBudgetObject
mstrSelectedBudgetIsTax = IIf(!blnIsTax = 1, True, False)
End If
grdChooseBudget.col = 2
For intRowIndex = 1 To grdChooseBudget.Rows - 1
grdChooseBudget.Row = intRowIndex
If Trim(grdChooseBudget.TextMatrix(intRowIndex, 2)) = Trim(strTempString) Then
grdChooseBudget_Click
Exit For
End If
Next
chkIncludeUnPosted.Value = !IncludeUnPosted
If !intBudgetYear <> 0 Then
comBudgetYear.Text = !intBudgetYear
End If
'数据类型
If mclsFinanceRptWiz.ViewId = 321 Then '财务预算分析
bytDataType = !bytDataType
For Index = 3 To 5
bytTemp = 2 ^ Index
bytTemp = bytDataType And bytTemp
If bytTemp <> 0 Then
If chkType(Index - 3).Enabled Then
chkType(Index - 3).Value = 1
Else
chkType(Index - 3).Value = 0
End If
Else
chkType(Index - 3).Value = 0
End If
Next
For Index = 3 To 4
bytTemp = 2 ^ (Index - 3)
bytTemp = bytDataType And bytTemp
If bytTemp <> 0 Then
If chkType(Index).Enabled Then
chkType(Index).Value = 1
Else
chkType(Index).Value = 0
End If
Else
chkType(Index).Value = 0
End If
Next
Else '经营预算分析
intCount = 1
Index = 1
strTempString1 = GetNoXString(strTempString2, intCount, ",")
Do While strTempString1 <> ""
For Index = 0 To 2
If chkType(Index).Caption = strTempString1 Then
chkType(Index).Value = 1
Exit For
End If
Next
intCount = intCount + 1
strTempString1 = GetNoXString(strTempString2, intCount, ",")
Loop
mstrSelectedBudgetObjectName = strTempString2
End If
End With
rs.Close
Else
'数据来源
mbytSelectedBudgetObjectID = mclsFinanceRptWiz.DataSource
'预算方案名称
If mclsFinanceRptWiz.BudgetName <> "" Then
comBudgetName.Text = mclsFinanceRptWiz.BudgetName
strTempString = mclsFinanceRptWiz.BudgetName
End If
If mclsFinanceRptWiz.ViewId <> 321 Then
strTempString2 = mclsFinanceRptWiz.BudgetObject
mstrSelectedBudgetIsTax = IIf(mclsFinanceRptWiz.IsTax = 1, True, False)
End If
grdChooseBudget.col = 2
For intRowIndex = 1 To grdChooseBudget.Rows - 1
grdChooseBudget.Row = intRowIndex
If Trim(grdChooseBudget.TextMatrix(intRowIndex, 2)) = Trim(strTempString) Then
grdChooseBudget_Click
Exit For
End If
Next
chkIncludeUnPosted.Value = mclsFinanceRptWiz.IncludeUnPosted
If mclsFinanceRptWiz.BudgetYear <> 0 Then
comBudgetYear.Text = mclsFinanceRptWiz.BudgetYear
End If
'数据类型
If mclsFinanceRptWiz.ViewId = 321 Then '财务预算分析
bytDataType = mclsFinanceRptWiz.DataType
For Index = 3 To 5
bytTemp = 2 ^ Index
bytTemp = bytDataType And bytTemp
If bytTemp <> 0 Then
chkType(Index - 3).Value = 1
Else
chkType(Index - 3).Value = 0
End If
Next
For Index = 3 To 4
bytTemp = 2 ^ (Index - 3)
bytTemp = bytDataType And bytTemp
If bytTemp <> 0 Then
chkType(Index).Value = 1
Else
chkType(Index).Value = 0
End If
Next
Else '经营预算分析
intCount = 1
Index = 1
strTempString1 = GetNoXString(strTempString2, intCount, ",")
Do While strTempString1 <> ""
For Index = 0 To 2
If chkType(Index).Caption = strTempString1 Then
chkType(Index).Value = 1
Exit For
End If
Next
intCount = intCount + 1
strTempString1 = GetNoXString(strTempString2, intCount, ",")
Loop
mstrSelectedBudgetObjectName = strTempString2
End If
End If
End Sub
'涮新按钮的 Enabled 属性
Private Sub ComEnabled(Optional blnIsComplete As Boolean)
Dim strErrString As String
If mlngStepNum = 1 Then
cmdPriorStep.Enabled = False
Else
cmdPriorStep.Enabled = True
End If
If mlngStepNum = mintTempMaxStep Then
cmdNextStep.Enabled = False
Else
cmdNextStep.Enabled = True
End If
If mlngStepNum = mintTempMaxStep Then
cmdComplete.Enabled = True
Else
cmdComplete.Enabled = False
End If
If mlngStepNum >= 2 Then
If txtReportName = "" Then
ShowMsg Me.hwnd, "报表名不能为空!", vbExclamation + vbOKOnly, App.title
cmdNextStep.Enabled = False
txtReportName.SetFocus
mlngStepNum = 1
ShowStep
blnIsComplete = False
Exit Sub
End If
If NameIsErr(txtReportName, strErrString) = True Then
ShowMsg Me.hwnd, "报表名称中包含非法字符" & strErrString & "!", vbExclamation + vbOKOnly, App.title
cmdNextStep.Enabled = False
txtReportName.SetFocus
mlngStepNum = 1
ShowStep
blnIsComplete = False
cmdComplete.Enabled = False
Exit Sub
End If
mblnHasDeleted = False
End If
If mlngStepNum = 1 Then
cmdComplete.Enabled = False
End If
If mlngStepNum = 3 Then
' If MsgFilter.Rows <= 3 Then
' cmdComplete.Enabled = False
' End If
CmdReset.Visible = True
mstrReferPeriodType = ""
mstrAnalyPeriodType = ""
Else
CmdReset.Visible = False
End If
' If CanComplete = False Then
' cmdComplete.Enabled = False
' mblnIsComplete = False
' Else
' cmdComplete.Enabled = True
' mblnIsComplete = True
' End If
If mlngStepNum = 4 Then
If mblnHasChooseBudget = False And mclsFinanceRptWiz.IsNewReport = True Then
lstSelectedItem.Clear
End If
End If
If lstSelectedItem.ListCount = 0 Or CountDatatype = 0 Then
cmdComplete.Enabled = False
End If
End Sub
'条件是否合法.
Private Function CondIsValid() As Boolean
Dim blnIsTrue As Boolean
Dim intResponseID As Integer
Dim strMessage As String
Dim blnIscheckedType As Boolean
Dim lngPositionLine As Long
If mlngStepNum = 3 Then
mblnIsPeriodOver = PeriodCond
blnIsTrue = JudgeIsInPeriod
If mblnIsPeriodOver = False Then
strMessage = "必须选择对比期。" & Chr(13) & "请重新设置条件。"
ShowMsg Me.hwnd, strMessage, vbExclamation + vbOKOnly, App.title
mlngStepNum = 3
ShowStep
ComEnabled
CondIsValid = False
Exit Function
End If
If blnIsTrue = False Then
strMessage = "预算数的期间(对比
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -