📄 frmdlcommisionbalence.frm
字号:
If mclsGrid.ListSet.ListID < 1 Then
mclsGrid.ListSet.SaveList
End If
Filter.ShowFilter mclsGrid.ListSet.ListID, 1
If msgGrid.Rows > 1 Then
mclsGrid.ListSet.SaveList
End If
mclsGrid.ColOfs = intfixl
isinit = True
GetList
mclsGrid.SetupStyle
If msgGrid.Rows > 1 Then
msgGrid.col = 1 '对第一列进行排序
msgGrid.ColSel = 1
msgGrid.Row = 1
msgGrid.RowSel = 1
msgGrid.Sort = 6
End If
Exit Sub
Err:
ShowMsg Me.hwnd, "筛选操作不成功! ", MB_SYSTEMMODAL + MB_ICONEXCLAMATION, "委托结算"
End Sub
'存盘
Private Sub SaveData(kkk As Integer) '存盘
Dim i As Integer, j As Integer, temp As Double, strSql As String, GoodsID As Long, ActID As Long
Dim l As Integer, n As Integer, slh As String, intCount As Integer, k As Integer
Dim blnColse As Boolean, dblje As Double, dblsl As Double, dblhl As Double
'On Error GoTo Err
i = 1
l = intfixl
n = intfixl
GoodsID = 0
' MousePointer = vbHourglass
If msgGrid.Rows > 1 Then
msgGrid.col = 28
msgGrid.ColSel = 28
msgGrid.Row = 1
msgGrid.RowSel = 1
msgGrid.Sort = 3
End If
While (msgGrid.TextMatrix(0, l) <> "已结金额")
l = l + 1
Wend
While (msgGrid.TextMatrix(0, n) <> "已结数量")
n = n + 1
Wend
intCount = mfrmToFormname.grdCol.Rows
If mfrmToFormname.grdCol.Rows < 2 Then
mfrmToFormname.InsertARow
'False
intCount = intCount + 1
End If
j = 1
Do While j < mfrmToFormname.grdCol.Rows '=0为未覆盖标志
mfrmToFormname.grdCol.TextMatrix(j, 41) = "0"
j = j + 1
Loop
j = 1
While j < msgGrid.Rows
If (getnumber(j, 8) <> getnumber(j, l) Or getnumber(j, 10) <> getnumber(j, n) Or msgGrid.TextMatrix(j, 1) = "√") Then '前后有否变化
k = 1
Do While k < intCount '商品是否添加
If msgGrid.TextMatrix(j, 28) = mfrmToFormname.grdCol.TextMatrix(k, 28) Then
Exit Do
End If
k = k + 1
Loop
If k >= intCount Then
If C2Lng(mfrmToFormname.grdCol.TextMatrix(mfrmToFormname.grdCol.Rows - 1, 28)) <> 0 Then '判断最后一行是否为空行
mfrmToFormname.InsertARow
'False
End If
i = mfrmToFormname.grdCol.Rows - 1
mfrmToFormname.grdCol.TextMatrix(i, 41) = "1" '=1为已覆盖标志
msgGrid.TextMatrix(j, 4) = CStr(i) '记住写入的行号
mfrmToFormname.grdCol.TextMatrix(i, 1) = msgGrid.TextMatrix(j, 29) '商品名称
mfrmToFormname.grdCol.TextMatrix(i, 28) = msgGrid.TextMatrix(j, 28) '商品ID
mfrmToFormname.grdCol.TextMatrix(i, 3) = msgGrid.TextMatrix(j, 33) '货位
mfrmToFormname.grdCol.TextMatrix(i, 30) = msgGrid.TextMatrix(j, 32) '货位ID
mfrmToFormname.grdCol.TextMatrix(i, 4) = msgGrid.TextMatrix(j, 30) '计量单位
mfrmToFormname.grdCol.TextMatrix(i, 31) = msgGrid.TextMatrix(j, 17) '计量单位ID
mfrmToFormname.grdCol.TextMatrix(i, 5) = msgGrid.TextMatrix(j, n) '数量
mfrmToFormname.grdCol.TextMatrix(i, 6) = msgGrid.TextMatrix(j, 19) '单价
' mfrmToFormname.grdCol.TextMatrix(i, 9) = CStr(Format(getnumber(j, n) * getnumber(j, 19), ".00")) '原币金额
mfrmToFormname.grdCol.TextMatrix(i, 8) = "100.00" '扣率
mfrmToFormname.grdCol.TextMatrix(i, 11) = msgGrid.TextMatrix(j, 31) '税率
mfrmToFormname.grdCol.TextMatrix(i, 32) = msgGrid.TextMatrix(j, 20) '税率ID
' mfrmToFormname.grdCol.TextMatrix(i, 12) = CStr(Format((getnumber(j, l) - getnumber(j, n) * getnumber(j, 19)), ".00")) '原币税额
' mfrmToFormname.grdCol.TextMatrix(i, 14) = msgGrid.TextMatrix(j, l) '原币含税金额
Call mfrmToFormname.WriteGrd(getnumber(j, l), i, 14) '原币含税金额
mfrmToFormname.grdCol.TextMatrix(i, 17) = msgGrid.TextMatrix(j, 41) '生产批号
mfrmToFormname.grdCol.TextMatrix(i, 18) = msgGrid.TextMatrix(j, 2) '生产日期
mfrmToFormname.grdCol.TextMatrix(i, 19) = msgGrid.TextMatrix(j, 3) '到期日期
mfrmToFormname.grdCol.TextMatrix(i, 20) = msgGrid.TextMatrix(j, 42) '保质期
mfrmToFormname.grdCol.TextMatrix(i, 21) = msgGrid.TextMatrix(j, 34) '工程名称
mfrmToFormname.grdCol.TextMatrix(i, 33) = msgGrid.TextMatrix(j, 21) '工程ID
mfrmToFormname.grdCol.TextMatrix(i, 22) = msgGrid.TextMatrix(j, 35) '自定义项目1
mfrmToFormname.grdCol.TextMatrix(i, 23) = msgGrid.TextMatrix(j, 36) '自定义项目2
mfrmToFormname.grdCol.TextMatrix(i, 24) = msgGrid.TextMatrix(j, 37) '自定义项目3
mfrmToFormname.grdCol.TextMatrix(i, 25) = msgGrid.TextMatrix(j, 38) '自定义项目4
mfrmToFormname.grdCol.TextMatrix(i, 26) = msgGrid.TextMatrix(j, 39) '自定义项目5
mfrmToFormname.grdCol.TextMatrix(i, 27) = msgGrid.TextMatrix(j, 40) '自定义项目6
mfrmToFormname.grdCol.TextMatrix(i, 34) = msgGrid.TextMatrix(j, 22) '自定义项目1
mfrmToFormname.grdCol.TextMatrix(i, 35) = msgGrid.TextMatrix(j, 23) '自定义项目2
mfrmToFormname.grdCol.TextMatrix(i, 36) = msgGrid.TextMatrix(j, 24) '自定义项目3
mfrmToFormname.grdCol.TextMatrix(i, 37) = msgGrid.TextMatrix(j, 25) '自定义项目4
mfrmToFormname.grdCol.TextMatrix(i, 38) = msgGrid.TextMatrix(j, 26) '自定义项目5
mfrmToFormname.grdCol.TextMatrix(i, 39) = msgGrid.TextMatrix(j, 27) '自定义项目6
mfrmToFormname.grdCol.TextMatrix(i, 40) = msgGrid.TextMatrix(j, 16) '转换因子
Else
msgGrid.TextMatrix(j, 4) = k '记住写入的行号
If Trim(mfrmToFormname.grdCol.TextMatrix(k, 41)) = "1" Then '=1为已覆盖标志
dblhl = Val(Balance.translate_minsl(mfrmToFormname.grdCol.TextMatrix(k, 5), getnumber(j, 16))) + Val(Balance.translate_minsl(msgGrid.TextMatrix(j, n), getnumber(j, 16)))
mfrmToFormname.grdCol.TextMatrix(k, 5) = Balance.intTodec(dblhl, getnumber(j, 16), True)
' mfrmToFormname.grdCol.TextMatrix(k, 14) = C2Dbl(mfrmToFormname.grdCol.TextMatrix(k, 14)) + getnumber(j, l) '原币含税金额
Call mfrmToFormname.WriteGrd((C2Dbl(mfrmToFormname.grdCol.TextMatrix(k, 14)) + getnumber(j, l)), k, 14)
Else
mfrmToFormname.grdCol.TextMatrix(k, 5) = msgGrid.TextMatrix(j, n)
' mfrmToFormname.grdCol.TextMatrix(k, 14) = msgGrid.TextMatrix(j, l) '原币含税金额
Call mfrmToFormname.WriteGrd(getnumber(j, l), k, 14) '原币含税金额
mfrmToFormname.grdCol.TextMatrix(k, 41) = "1" '=1为已覆盖标志
End If
End If
End If
j = j + 1
Wend
j = 1
Do While j < mfrmToFormname.grdCol.Rows '=0为未覆盖标志
mfrmToFormname.CalcAmount j
If C2Dbl(mfrmToFormname.grdCol.TextMatrix(j, 14)) = 0 Then '原币含税金额
mfrmToFormname.blnDeleteARow j
End If
j = j + 1
Loop
blnColse = mfrmToFormname.SaveBill
'本循环找出本次已结金额所在的列
If blnColse = True Then
i = 1
While i < msgGrid.Rows
If (getnumber(i, 8) <> getnumber(i, l) Or getnumber(i, 10) <> getnumber(i, n)) Then '前后有否变化
GoodsID = getnumber(i, 0)
ActID = CLng(IIf(Len(Trim(mfrmToFormname.grdCol.TextMatrix(getnumber(i, 4), 0))) = 0, "0", mfrmToFormname.grdCol.TextMatrix(getnumber(i, 4), 0)))
dblsl = Balance.translate_minsl(msgGrid.TextMatrix(i, n), getnumber(i, 16))
dblhl = Balance.translate_minsl(msgGrid.TextMatrix(i, 10), getnumber(i, 16))
dblje = getnumber(i, l)
If (getnumber(i, 8) = 0) And (dblje <> 0) Then '新增情况
' If (getnumber(i, 13) = 14 Or getnumber(i, 13) = 25) Then '委托结算或代销调出
' strSQL = "Insert into LendToSale (lngSaleActivityDetailID,dblQuantity,dblCurrAmount) " _
' & " Values(" & GoodsID & "," & dblsl & "," & dblje & " )"
' Else
' strSQL = "Insert into LendToSale (lngLendActivityDetailID,dblQuantity,dblCurrAmount) " _
' & " Values(" & GoodsID & "," & dblsl & "," & dblje & ")"
' End If
strSql = "Insert Into LendToSale (lngLendActivityDetailID,lngSaleActivityDetailID,dblQuantity,dblCurrAmount)" _
& " Values (" & GoodsID & ", " & ActID & ", " & dblsl & ", " & dblje & " ) "
blnColse = gclsBase.ExecSQL(strSql)
strSql = "Update ItemActivityDetail Set dblSettlementQuantity=dblSettlementQuantity + " & dblsl & " - " & dblhl & " ," _
& "dblCurrSettlementAmount = dblCurrSettlementAmount + " & dblje & " - " & getnumber(i, 8) & " " _
& " where lngActivityDetailID=" & GoodsID & ""
blnColse = gclsBase.ExecSQL(strSql)
Else '更新情况
If (getnumber(i, 8) <> dblje) Then '新增情况
' If (getnumber(i, 13) = 14 Or getnumber(i, 13) = 25) Then '委托结算或代销调出
' strSQL = "Update LendToSale Set dblQuantity = " & dblsl & " ,dblCurrAmount=" & dblje & ", " _
' & " Where lngSaleActivityDetailID =" & ActID & " And lngLendActivityDetailID =" & GoodsID & ""
' Else
' strSQL = "Update LendToSale Set dblQuantity = " & dblsl & " ,dblCurrAmount=" & dblje & ", " _
' & " Where lngLendActivityDetailID =" & GoodsID & ""
' End If
strSql = "Update LendToSale Set dblQuantity = " & dblsl & " ,dblCurrAmount=" & dblje & " " _
& " Where lngSaleActivityDetailID =" & ActID & " And lngLendActivityDetailID =" & GoodsID & ""
blnColse = gclsBase.ExecSQL(strSql)
strSql = "Update ItemActivityDetail Set dblSettlementQuantity=dblSettlementQuantity + " & dblsl & " - " & dblhl & ", " _
& "dblCurrSettlementAmount = dblCurrSettlementAmount + " & dblje & " - " & getnumber(i, 8) & " " _
& " where lngActivityDetailID=" & GoodsID & ""
blnColse = gclsBase.ExecSQL(strSql)
End If
End If
End If
i = i + 1
Wend
strSql = "Delete * From LendToSale Where dblQuantity=0 Or dblCurrAmount=0;"
blnColse = gclsBase.ExecSQL(strSql)
End If
'MousePointer = vbDefault
If kkk = 1 Then
Unload Me
End If
'Exit Sub
'Err:
' MousePointer = vbDefault
'ShowMsg Me.hWnd, "委托结算存盘失败! ", MB_SYSTEMMODAL + MB_ICONEXCLAMATION, "委托结算"
End Sub
'关联
Private Sub Cmdall_Click(Index As Integer)
'响应窗体按钮动作
Select Case Index
Case 7 '确定存盘
blnIsCancel = True
If msgGrid.Rows > 1 Then
SaveData (1)
Else
CancelGrid
End If
Case 1 '取消
blnIsCancel = True
CancelGrid
Case 2 '筛选
FilterData
Case 3 '栏目设置
setColumn
Case 4
'BillPublic.ShowBill getnumber(msgGrid.Row, 6), DetailID
Case 5 '全部选择
If msgGrid.Rows > 1 Then
BalenceAll (0)
End If
Case 6
If msgGrid.Rows > 1 Then
BalenceAll (1) '全部取消
End If
End Select
End Sub
'重定窗体中各控件的位置、大小
Private Sub Form_Resize()
If Me.WindowState = 1 Then
Exit Sub
End If
If mblnFormNoRezise Then Exit Sub
On Error Resume Next
If Me.Height < intFormHeight Then Me.Height = intFormHeight
If Me.Width < intFormWidth Then Me.Width = intFormWidth
RedrawForm
End Sub
Private Sub RedrawForm()
'重画MS FlexGrid 控件
Dim leftx As Integer
On Error Resume Next
With msgGrid
.Width = Me.ScaleWidth - DlListFormLeft - DlListFormRight * 2 - DlFormButtonWidth
.Height = Me.ScaleHeight - DlListUpAreaHeight - DlListDownAreaHeight - DlListFormBottom
End With
'重画其余控件
leftx = Me.ScaleLeft + Me.ScaleWidth - DlFormButtonWidth - DlListFormRight + 18
Cmdall(4).Left = leftx
Cmdall(7).Left = leftx
Cmdall(1).Left = leftx
Cmdall(2).Left = leftx
Cmdall(3).Left = leftx
Cmdall(5).Left = leftx
Cmdall(6).Left = leftx
Lbb(1).top = 120
Cmdall(7).top = Me.ScaleTop + Lbb(1).Height + Lbb(1).top
Cmdall(1).top = Cmdall(7).top + 9 + DlFormButtonHeight
Cmdall(2).top = Cmdall(1).top + 133 + DlFormButtonHeight
Cmdall(3).top = Cmdall(2).top + 9 + DlFormButtonHeight
'Cmdall(4).top = Cmdall(3).top + 9 + DlFormButtonHeight
Cmdall(5).top = Cmdall(3).top + 133 + DlFormButtonHeight
Cmdall(6).top = Cmdall(5).top + 9 + DlFormButtonHeight
Label1(0).top = 120
lbdw.top = 120
Label1(0).Left = msgGrid.Left
lbdw.Left = msgGrid.Left + 600
lbdw.Width = Int(msgGrid.Width / 2)
Lbb(0).top = 120
Lbb(1).top = 120
Lbb(1).Width = msgGrid.Width / 7
Lbb(1).Left = msgGrid.Width - Lbb(1).Width
Lbb(0).Left = Lbb(1).Left - Lbb(0).Width
mclsGrid.TotalRowAdjust
Me.Refresh
End Sub
'Flexgrid显示栏目设置
Private Sub setColumn()
Dim i As Integer
On Error GoTo Err
i = 1
strWorkID = ""
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -