📄 i-
字号:
If Lbl_TitleText(0).Tag = "计划价法" Then
.Buttons("mx").Enabled = True
.Buttons("hz").Enabled = True
.Buttons("cy").Enabled = True
.Buttons("zh").Enabled = True
Else
.Buttons("mx").Enabled = False
.Buttons("hz").Enabled = False
.Buttons("cy").Enabled = False
.Buttons("zh").Enabled = False
End If
End With
For Jsqte = Qslz To CxbbGrid.Cols - 1
CxbbGrid.ColHidden(Jsqte) = GridColHide(Jsqte)
Next Jsqte
'加快显示速度
CxbbGrid.Redraw = False
'生成查询结果
Call Sub_Query(0, "")
CxbbGrid.Redraw = True
Xt_Wait.Hide
End Sub
Private Sub Sub_Query(Int_QueryType As Integer, Mnumber As String) '生成查询结果(Define)
'过程参数:Int_QueryType 0-"点确定按钮"查询 1-"刷新"查询
Dim Rec_Query As Recordset '查询结果动态集
Dim Rowjsq As Long '网格行计数器
Dim Coljsq As Long '网格列计数器
Dim Jsqte As Long '临时动态计数器
Dim Str1 As String
Dim NewCombox As ComboItem
Dim FindRow As Long
'以下为自定义部分[
If Int_QueryType = 0 Then '0-"点确定按钮"查询
With Zbfx_ListCond
'生成查询条件
Str_QueryCondi = " where kjyear= " & Xtyear
For Jsqte = 0 To 5
Select Case Jsqte
Case 0 '月份(起始)
Str_QueryCondi = Str_QueryCondi & " And a.period>= '" & .Com_QsMon.ItemData(.Com_QsMon.ListIndex) & "'"
mMon = .Com_QsMon.ItemData(.Com_QsMon.ListIndex)
Case 1 '月份(终止)
Str_QueryCondi = Str_QueryCondi & " And a.period<= '" & .Com_JzMon.ItemData(.Com_JzMon.ListIndex) & "'"
Case 2 '仓库
Str_QueryCondi = Str_QueryCondi & " And a.whcode='" & Trim(.LrText(0).Tag) & "'"
mWhcode = Trim(.LrText(0).Tag)
Case 3 '存货分类(Like)
If Trim(.LrText(1).Text) <> "" Then
Str_QueryCondi = Str_QueryCondi & " And a.invsortcode like '" & Trim(.LrText(1).Tag) & "%'"
End If
Case 4 '查询存货范围(起始)
If Trim(.LrText(2).Text) <> "" Then
Str_QueryCondi = Str_QueryCondi & " And a.mnumber>='" & Trim(.LrText(2).Text) & "'"
End If
Case 5 '查询存货范围(终止)
If Trim(.LrText(3).Text) <> "" Then
Str_QueryCondi = Str_QueryCondi & " And a.mnumber<= '" & Trim(.LrText(3).Text) & "'"
End If
End Select
Next Jsqte
End With
'填充存货列表
SqlStr = "SELECT Distinct Mnumber,Mname,Model FROM Chhs_V_List a " & Trim(Str_QueryCondi)
Xtbmczdm = SqlStr
Com_Mnumber.Enabled = True
Call FillImageCombo(Com_Mnumber, "Chhs_List", 0)
If Com_Mnumber.ComboItems.count > 0 And Xtcdcs = "Chhs_List" Then
Xtcdcs = ""
Mnumber = Mid(Com_Mnumber.ComboItems.Item(Val(Xtcdcsfz)).Key, 2, 20)
Com_Mnumber.ComboItems.Item(Val(Xtcdcsfz)).Selected = True
Lbl_TitleText(0) = Com_Mnumber.ComboItems.Item(Com_Mnumber.SelectedItem.Index).Tag
Lbl_TitleText(1) = Zbfx_ListCond.LrText(0).Text
mMnumber = Mnumber
ElseIf Com_Mnumber.ComboItems.count > 0 Then
Mnumber = Mid(Com_Mnumber.ComboItems.Item(1).Key, 2, 20)
mMnumber = Mnumber
Else
Com_Mnumber.Text = ""
End If
Else
If Str_QueryCondi = "" Then
Str_QueryCondi = " where 1=2"
End If
End If
CxbbGrid.Rows = CxbbGrid.FixedRows
'填充期初数据
SqlStr = "SELECT * FROM Chhs_Mate where kjyear=" & Xtyear & " and period=" & mMon & _
" and whcode='" & mWhcode & "' and mnumber='" & Mnumber & "' "
Set Rec_Query = Cw_DataEnvi.DataConnect.Execute(SqlStr)
CxbbGrid.AddItem ""
Jsqte = CxbbGrid.Rows - 1
CxbbGrid.RowHeight(Jsqte) = Sjhgd
CxbbGrid.TextMatrix(Jsqte, 0) = mMon + 1
CxbbGrid.TextMatrix(Jsqte, 1) = mMon
CxbbGrid.TextMatrix(Jsqte, Sydz("003", GridStr(), Szzls)) = " 期初结存"
If Not Rec_Query.EOF Then
CxbbGrid.TextMatrix(Jsqte, Sydz("010", GridStr(), Szzls)) = Rec_Query.Fields("StartQuan") + 0
If Rec_Query.Fields("StartPrice") <> 0 Then '计划单价
CxbbGrid.TextMatrix(Jsqte, Sydz("011", GridStr(), Szzls)) = Rec_Query.Fields("StartPrice") + 0
End If
CxbbGrid.TextMatrix(Jsqte, Sydz("012", GridStr(), Szzls)) = Rec_Query.Fields("StartMoney") + 0
CxbbGrid.TextMatrix(Jsqte, Sydz("015", GridStr(), Szzls)) = Rec_Query.Fields("StartDiff") + 0
Else
CxbbGrid.TextMatrix(Jsqte, Sydz("010", GridStr(), Szzls)) = "0"
CxbbGrid.TextMatrix(Jsqte, Sydz("012", GridStr(), Szzls)) = "0"
End If
'日常单据
SqlStr = "SELECT * FROM Chhs_V_List a " & Trim(Str_QueryCondi) & _
" and a.mnumber='" & Mnumber & "'and a.startflag=0 Order By a.BillDate,a.InOutflag desc,a.ListId"
Set Rec_Query = Cw_DataEnvi.DataConnect.Execute(SqlStr)
With Rec_Query
Do While Not .EOF
CxbbGrid.AddItem ""
Jsqte = CxbbGrid.Rows - 1
'[>>自定义填充内容
CxbbGrid.TextMatrix(Jsqte, 0) = .Fields("period") + 1
CxbbGrid.TextMatrix(Jsqte, 1) = .Fields("period")
If .Fields("InoutMainId") <> 0 Then
CxbbGrid.TextMatrix(Jsqte, 2) = .Fields("InoutMainId") 'ID(主要用来查询定位用)
Else
CxbbGrid.TextMatrix(Jsqte, 2) = .Fields("InoutAdjustMainId") 'ID(主要用来查询定位用)
End If
CxbbGrid.TextMatrix(Jsqte, 3) = Trim(.Fields("BillCode")) '单据编码
CxbbGrid.TextMatrix(Jsqte, 4) = Trim(.Fields("vouchid")) '单据编码
If Trim(.Fields("billcode")) = "1307" Then
CxbbGrid.RowHidden(Jsqte) = True
End If
CxbbGrid.TextMatrix(Jsqte, Sydz("001", GridStr(), Szzls)) = Trim(.Fields("BillNum") & "") '单据号
CxbbGrid.TextMatrix(Jsqte, Sydz("002", GridStr(), Szzls)) = Format(.Fields("ChalkDate"), "yyyy-mm-dd") '记帐日期
CxbbGrid.TextMatrix(Jsqte, Sydz("003", GridStr(), Szzls)) = Format(.Fields("BillDate"), "yyyy-mm-dd") '入库日期
CxbbGrid.TextMatrix(Jsqte, Sydz("016", GridStr(), Szzls)) = Trim(.Fields("SupplierName") & "") '供应商
CxbbGrid.TextMatrix(Jsqte, Sydz("016", GridStr(), Szzls)) = Trim(.Fields("cusname") & "") '客户
CxbbGrid.TextMatrix(Jsqte, Sydz("017", GridStr(), Szzls)) = Trim(.Fields("Deptname") & "") '部门
CxbbGrid.TextMatrix(Jsqte, Sydz("018", GridStr(), Szzls)) = Trim(.Fields("InoutClassName") & "") '收发类别
CxbbGrid.TextMatrix(Jsqte, Sydz("019", GridStr(), Szzls)) = Trim(.Fields("PersonName") & "") '业务员
CxbbGrid.TextMatrix(Jsqte, Sydz("020", GridStr(), Szzls)) = Trim(.Fields("Maker") & "") '制单人
CxbbGrid.TextMatrix(Jsqte, Sydz("021", GridStr(), Szzls)) = Trim(.Fields("Checker") & "") '审核人
CxbbGrid.TextMatrix(Jsqte, Sydz("022", GridStr(), Szzls)) = Trim(.Fields("ChalkitupMan") & "") '记帐人
CxbbGrid.TextMatrix(Jsqte, Sydz("023", GridStr(), Szzls)) = Trim(.Fields("billname") & "") '备注
CxbbGrid.TextMatrix(Jsqte, Sydz("024", GridStr(), Szzls)) = Trim(.Fields("remark") & "") '备注
If .Fields("inoutFlag") Then '入库
If .Fields("InQuan") <> 0 Then '数量
CxbbGrid.TextMatrix(Jsqte, Sydz("004", GridStr(), Szzls)) = .Fields("InQuan") + 0
End If
If .Fields("InPrice") <> 0 Then '计划单价
CxbbGrid.TextMatrix(Jsqte, Sydz("005", GridStr(), Szzls)) = .Fields("InPrice") + 0
End If
If .Fields("InMoney") <> 0 Then '计划金额
CxbbGrid.TextMatrix(Jsqte, Sydz("006", GridStr(), Szzls)) = .Fields("InMoney") + 0
End If
Else '出库
If Trim(.Fields("billcode")) = "1303" Then
If .Fields("OutQuan") <> 0 Then '数量
CxbbGrid.TextMatrix(Jsqte, Sydz("004", GridStr(), Szzls)) = 0 - .Fields("OutQuan")
End If
If .Fields("OutPrice") <> 0 Then '实际单价
CxbbGrid.TextMatrix(Jsqte, Sydz("005", GridStr(), Szzls)) = .Fields("OutPrice")
End If
If .Fields("OutMoney") <> 0 Then '实际金额
CxbbGrid.TextMatrix(Jsqte, Sydz("006", GridStr(), Szzls)) = 0 - .Fields("OutMoney")
End If
Else
If .Fields("OutQuan") <> 0 Then '数量
CxbbGrid.TextMatrix(Jsqte, Sydz("007", GridStr(), Szzls)) = .Fields("OutQuan") + 0
End If
If .Fields("OutPrice") <> 0 Then '实际单价
CxbbGrid.TextMatrix(Jsqte, Sydz("008", GridStr(), Szzls)) = .Fields("OutPrice") + 0
End If
If .Fields("OutMoney") <> 0 Then '实际金额
CxbbGrid.TextMatrix(Jsqte, Sydz("009", GridStr(), Szzls)) = .Fields("OutMoney") + 0
End If
End If
End If
'差异
If .Fields("JfDiff") <> 0 Then '借方差异
CxbbGrid.TextMatrix(Jsqte, Sydz("013", GridStr(), Szzls)) = .Fields("JfDiff") + 0
End If
If .Fields("DfDiff") <> 0 Then '贷方差异
CxbbGrid.TextMatrix(Jsqte, Sydz("014", GridStr(), Szzls)) = .Fields("DfDiff") + 0
End If
CxbbGrid.TextMatrix(Jsqte, Sydz("015", GridStr(), Szzls)) = Val(CxbbGrid.TextMatrix(Jsqte - 1, Sydz("015", GridStr(), Szzls))) + Val(.Fields("jfdiff")) - Val(.Fields("dfdiff"))
If Val(CxbbGrid.TextMatrix(Jsqte, Sydz("015", GridStr(), Szzls))) = 0 Then
CxbbGrid.TextMatrix(Jsqte, Sydz("015", GridStr(), Szzls)) = ""
End If
'结存
CxbbGrid.TextMatrix(Jsqte, Sydz("010", GridStr(), Szzls)) = Val(CxbbGrid.TextMatrix(Jsqte - 1, Sydz("010", GridStr(), Szzls))) + Val(.Fields("inquan")) - Val(.Fields("outquan"))
CxbbGrid.TextMatrix(Jsqte, Sydz("012", GridStr(), Szzls)) = Val(CxbbGrid.TextMatrix(Jsqte - 1, Sydz("012", GridStr(), Szzls))) + Val(.Fields("inmoney")) - Val(.Fields("outmoney"))
If Val(CxbbGrid.TextMatrix(Jsqte, Sydz("010", GridStr(), Szzls))) <> 0 Then
CxbbGrid.TextMatrix(Jsqte, Sydz("011", GridStr(), Szzls)) = Val(CxbbGrid.TextMatrix(Jsqte, Sydz("012", GridStr(), Szzls))) / Val(CxbbGrid.TextMatrix(Jsqte, Sydz("010", GridStr(), Szzls)))
End If
If Val(CxbbGrid.TextMatrix(Jsqte, Sydz("011", GridStr(), Szzls))) = 0 Then
CxbbGrid.TextMatrix(Jsqte, Sydz("011", GridStr(), Szzls)) = ""
End If
'<<]
'设置数据行高度(Fixed)
CxbbGrid.RowHeight(Jsqte) = Sjhgd
'动态集指针加1,同时将计数器加1(Fixed)
.MoveNext
Jsqte = Jsqte + 1
Loop
End With
'输入合计
With CxbbGrid
If .Rows = .FixedRows + 1 Then Exit Sub
If .TextMatrix(.FixedRows, 1) <> .TextMatrix(.FixedRows + 1, 1) Then
.TextMatrix(.FixedRows, 0) = .TextMatrix(.FixedRows + 1, 0)
.TextMatrix(.FixedRows, 1) = .TextMatrix(.FixedRows + 1, 1)
End If
If Zbfx_ListCond.Che_Sum.Value <> 0 Then
.SubtotalPosition = flexSTBelow
For Jsqte = Qslz To .Cols - 1
If GridBoolean(Jsqte, 4) Then
.Subtotal flexSTSum, 0, Jsqte, , &HF7F3EC, , , , , True
.Subtotal flexSTSum, 1, Jsqte, , &HF7F3EC, , , , , True
End If
Next
For Jsqte = .FixedRows To .Rows - 1
If .IsSubtotal(Jsqte) Then
.TextMatrix(Jsqte, 0) = .TextMatrix(Jsqte - 1, 0)
.TextMatrix(Jsqte, 1) = .TextMatrix(Jsqte - 1, 1)
If .IsSubtotal(Jsqte - 1) Then
.TextMatrix(Jsqte, Sydz("003", GridStr(), Szzls)) = "本年累计"
For Rowjsq = .FixedRows To Jsqte - 1
If .IsSubtotal(Rowjsq) And .TextMatrix(Rowjsq, Sydz("003", GridStr(), Szzls)) = "本年累计" Then
For Coljsq = Qslz To .Cols - 1
If GridBoolean(Coljsq, 4) Then
If .TextMatrix(.FixedRows - 1, Coljsq) = "数量" Then
.TextMatrix(Jsqte, Coljsq) = Val(Format(.TextMatrix(Jsqte, Coljsq), "#####." + String(Xtslxsws, "#"))) + Val(Format(.TextMatrix(Rowjsq - 1, Coljsq), "####." + String(Xtslxsws, "#")))
Else
.TextMatrix(Jsqte, Coljsq) = Val(Format(.TextMatrix(Jsqte, Coljsq), "#####." + String(Xtjexsws, "#"))) + Val(Format(.TextMatrix(Rowjsq - 1, Coljsq), "####." + String(Xtjexsws, "#")))
End If
End If
Next Coljsq
End If
Next Rowjsq
Else
.TextMatrix(Jsqte, Sydz("003", GridStr(), Szzls)) = .TextMatrix(Jsqte, 1) + "月合计"
End If
For Coljsq = Qslz To .Cols - 1
If Val(.TextMatrix(Jsqte, Coljsq)) = 0 And GridBoolean(Coljsq, 4) Then
.TextMatrix(Jsqte, Coljsq) = ""
End If
Next
.RowHeight(Jsqte) = Sjhgd
End If
Next
End If
End With
']以上为用户自
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -