📄 frmdlpurchase.frm
字号:
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, 16) = 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, 2) = i '保存数据所赋予对方Grid所在的行
mfrmToFormname.grdCol.TextMatrix(i, 1) = msgGrid.TextMatrix(j, 29) '商品名称
mfrmToFormname.grdCol.TextMatrix(i, 28) = msgGrid.TextMatrix(j, 16) '商品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) = 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) = Format((getnumber(j, l) - getnumber(j, n) * getnumber(j, 19)), ".00") '原币税额
'WriteGrd(ByVal strText As String, ByVal lngRow As Long, ByVal lngCol As Long)
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, 14) '生产日期
mfrmToFormname.grdCol.TextMatrix(i, 19) = msgGrid.TextMatrix(j, 15) '到期日期
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, 28) '转换因子
Else
msgGrid.TextMatrix(j, 2) = k '保存数据所赋予对方Grid所在的行
If Trim(mfrmToFormname.grdCol.TextMatrix(k, 41)) = "1" Then '=1为已覆盖标志
dblhl = Val(Balance.translate_minsl(mfrmToFormname.grdCol.TextMatrix(k, 5), getnumber(j, 28))) + Val(Balance.translate_minsl(msgGrid.TextMatrix(j, n), getnumber(j, 28)))
mfrmToFormname.grdCol.TextMatrix(k, 5) = Balance.intTodec(dblhl, getnumber(j, 28), True)
Call mfrmToFormname.WriteGrd((C2Dbl(mfrmToFormname.grdCol.TextMatrix(k, 14)) + getnumber(j, l)), k, 14) '原币含税金额
' mfrmToFormname.grdCol.TextMatrix(k, 12) = Format((C2Dbl(mfrmToFormname.grdCol.TextMatrix(k, 14)) - getnumber(j, n) * getnumber(j, 19)), ".00") '原币税额
Else
mfrmToFormname.grdCol.TextMatrix(k, 5) = msgGrid.TextMatrix(j, n)
' mfrmToFormname.grdCol.TextMatrix(k, 9) = Format((getnumber(j, n) * getnumber(j, 19)), ".00") '原币金额
' mfrmToFormname.grdCol.TextMatrix(k, 14) = getnumber(j, l) '原币含税金额
Call mfrmToFormname.WriteGrd(getnumber(j, l), k, 14) '原币含税金额
' mfrmToFormname.grdCol.TextMatrix(k, 12) = Format((getnumber(j, l) - getnumber(j, n) * getnumber(j, 19)), ".00") '原币税额
mfrmToFormname.grdCol.TextMatrix(k, 41) = "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
SaveData1
End If
MousePointer = vbDefault
If kkk = 1 Then
Unload Me
End If
'Exit Sub
'Err:
MousePointer = vbDefault
' ShowMsg Me.hWnd, "系统出错! ", MB_SYSTEMMODAL + MB_ICONEXCLAMATION, "受托结算"
' Update Cancel
End Sub
'存盘
Private Sub SaveData1() '存盘
Dim i As Integer, j As Integer, temp As Double, strSql As String, dblje As Double
Dim recc As rdoResultset, reci As rdoResultset, GoodsID As Long, dblsl As Double, ActID As Long
Dim l As Integer, n As Integer, isOk As Boolean, dblhl As Double
'On Error GoTo Err
i = 1
l = intfixl
n = intfixl
'本循环找出本次结算金额及本次折扣所在的列
While (msgGrid.TextMatrix(0, l) <> "结算金额")
l = l + 1
Wend
While (msgGrid.TextMatrix(0, n) <> "结算数量")
n = n + 1
Wend
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, 2), 0))) = 0, "0", mfrmToFormname.grdCol.TextMatrix(getnumber(i, 2), 0)))
dblsl = Balance.translate_minsl(msgGrid.TextMatrix(i, n), getnumber(i, 28))
dblhl = Balance.translate_minsl(msgGrid.TextMatrix(i, 10), getnumber(i, 28))
dblje = getnumber(i, l)
If (getnumber(i, 8) = 0 And getnumber(i, 10) = 0) And (getnumber(i, l) <> 0 Or getnumber(i, 10) <> 0) Then '新增情况
strSql = "Insert Into BorrowToPurchase (lngBorrowActivityDetailID,lngPurchaseActivityDetailID,dblQuantity,dblCurrAmount) " _
& " Values(" & GoodsID & "," & ActID & "," & dblsl & "," & dblje & ")"
isOk = gclsBase.ExecSQL(strSql)
Else
strSql = "Update BorrowToPurchase Set dblQuantity = " & dblsl & ",dblCurrAmount = " & dblje & " Where lngBorrowActivityDetailID =" & GoodsID & " And lngPurchaseActivityDetailID =" & ActID & ""
isOk = gclsBase.ExecSQL(strSql)
End If
strSql = "Update ItemActivityDetail Set dblSettlementQuantity=dblSettlementQuantity + " & dblsl & " - " & dblhl & ", " _
& "dblCurrSettlementAmount = dblCurrSettlementAmount + " & dblje & " - " & getnumber(i, 8) & " Where lngActivityDetailID=" & GoodsID & ""
isOk = gclsBase.ExecSQL(strSql)
End If
i = i + 1
Wend
strSql = "Delete * From BorrowToPurchase Where dblQuantity=0 Or dblCurrAmount=0;"
isOk = gclsBase.ExecSQL(strSql)
'Exit Sub
'Err:
' ShowMsg Me.hwnd, "存盘失败! ", MB_SYSTEMMODAL + MB_ICONEXCLAMATION, "受托结算存盘"
End Sub
'关联
'按钮动作响应
Private Sub Cmdall_Click(Index As Integer)
If msgGrid.Rows > 1 Then
Select Case Index
Case 0
BalanceAll (0) '完全结算
Case 1
BalanceAll (1) '完全取消
End Select
End If
End Sub
'按钮动作响应
Private Sub cmdOK_Click(Index As Integer)
'响应窗体按钮动作
'If msgGrid.Rows > 1 Then
Select Case Index
Case 5 '确定存盘
blnIsCancel = True
If msgGrid.Rows > 1 Then
SaveData (1) '存盘
Else
ExitGrid
End If
Case 1
blnIsCancel = True
ExitGrid '退出结算窗体
Case 2
FilterData '筛选
Case 3
setColumn '栏目设置
Case 4
' BillPublic.ShowBill getnumber(msgGrid.Row, 13), DetailID 'relate
End Select
'Else
' ExitGrid
'End If
End Sub
'重定窗体中各控件的位置、大小
Private Sub Form_Resize()
If mblnFormNoRezise Then Exit Sub
If Me.WindowState = 1 Then
Exit Sub
End If
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
cmdOk(4).Left = leftx
cmdOk(5).Left = leftx
cmdOk(1).Left = leftx
cmdOk(2).Left = leftx
cmdOk(3).Left = leftx
'cmdOK(4).Left = leftx
Cmdall(0).Left = leftx
Cmdall(1).Left = leftx
Lbbz(1).top = 120
cmdOk(5).top = Me.ScaleTop + Lbbz(1).Height + Lbbz(1).top
cmdOk(1).top = cmdOk(5).top + 9 + DlFormButtonHeight
cmdOk(2).top = cmdOk(1).top + 133 + DlFormButtonHeight
cmdOk(3).top = cmdOk(2).top + 9 + DlFormButtonHeight
'cmdOK(4).top = cmdOK(3).top + 9 + DlFormButtonHeight
Cmdall(0).top = cmdOk(3).top + 133 + DlFormButtonHeight
Cmdall(1).top = Cmdall(0).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)
Lbbz(0).top = 120
Lbbz(1).Width = Int(msgGrid.Width / 7)
Lbbz(1).Left = msgGrid.Width - Lbbz(1).Width
Lbbz(0).Left = Lbbz(1).Left - Lbbz(0).Width + 135
mclsGrid.TotalRowAdjust
Me.Refresh
End Sub
'Flexgrid显示栏目设置
Private Sub setColumn()
Dim i As Integer
On Error GoTo Err
'If msgGrid.Rows > 1 Then
i = 1
strWorkID = ""
Do While i < msgGrid.Rows
If msgGrid.TextMatrix(i, 1) = "√" Then
If Len(strWorkID) > 0 Then
strWorkID = strWorkID & "," & CStr(getnumber(i, 0))
Else
strWorkID = CStr(getnumber(i, 0))
End If
End If
i = i + 1
Loop
strWorkID = "( " & strWorkID & " )"
If msgGrid.Rows > 1 Then
If ShowMsg(Me.hwnd, "栏目设置后,你刚刚做的结算将被取消,需要先存盘吗", MB_YESNO + MB_ICONQUESTION + MB_DEFBUTTON2 + MB_SYSTEMMODAL, "受托结算") = IDYES Then
SaveData (0)
End If
End If
mclsGrid.GridToListSet
mclsGrid.ListSet.SaveList
If mclsGrid.ListSet.ShowListSet(mclsGrid.ListSet.ViewId) Then
GetList
mclsGrid.SetupStyle
End If
isinit = True
If msgGrid.Rows > 1 Then
msgGrid.col = 1 '对第一列进行排序
msgGrid.ColSel = 1
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -