📄 frmstockinfo.frm
字号:
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
'---------------------------------
'采购单回款资料
'王兴元
'1998年7月
'提供给外部调用的方法
' SetList(frmName,ActivityID)
'---------------------------------
Private WithEvents mclsSubClass As SubClass32.SubClass '“钩子”对象
Attribute mclsSubClass.VB_VarHelpID = -1
Private mclsGrid As Grid
Private ActivityID1 As Long
Private ActivityTypeID1 As Long
Private blnBz As Boolean
Private frm As Form
Private lngCurID As Long
Private lngActID As Long
Private lngDepID As Long
Private lngEmpID As Long
Private lngJobID As Long
Private lngClsID1 As Long
Private lngClsID2 As Long
Private lngCustomerID As Long
Private strRate As String
Private strCurrAmount As String
Private strAmount As String
Private intCurDec As Integer
Private intRateDec As Integer
Private lngNowID As Long
'lngActivityID:采购单号
Public Sub SetList(frmName As Form, ByVal ActivityID As Long)
Dim strSQL As String
Dim recTemp As rdoResultset
Dim i As Integer
Dim dblMoney As Double
' Dim Que As rdoQuery
On Error GoTo Err
Set frm = frmName
Screen.MousePointer = vbHourglass
'===================判断有无收款记录====================
If gclsBase.ControlAccount Then
strSQL = "SELECT Decode(zStockBillInfo.strSource,'1',Activity.lngActivityID,'2'," _
& "ItemActivity.lngActivityID,ArapInit.lngArapInitID) as 付款ID, Decode(zStockBillInfo.strSource,'1'," _
& "Activity.strDate,'2',ItemActivity.strDate,ArapInit.strDate) " _
& "as 日期,Decode(zStockBillInfo.strSource,'1',ReceiptType.strReceiptTypeName," _
& "'2',ReceiptType_1.strReceiptTypeName,ReceiptType_2.strReceiptTypeName) as 单据类型,"
strSQL = strSQL & "Decode(zStockBillInfo.strSource,'1',Activity.strReceiptNo || LPAD(Activity.lngReceiptNo,4,'0')" _
& ",'2',ItemActivity.strReceiptNo || " _
& "LPAD(ItemActivity.lngReceiptNo,4,'0'),ArapInit.strReceiptNo || " _
& "LPAD(ArapInit.lngReceiptNo,4,'0')) as 单据号,zStockBillInfo.dblCurrPaymentAmount AS 付款金额," _
& "zStockBillInfo.dblCurrDiscount AS 折扣金额,0 AS 应付余额,Decode(zStockBillInfo.strSource,'1'," _
& "Activity.lngActivityTypeID,'2',ItemActivity.lngActivityTypeID,"
strSQL = strSQL & "ArapInit.lngActivityTypeID) as 业务类型ID,Decode(zStockBillInfo.strSource,'1'," _
& "CurrencyS.bytCurrencyDec,'2',CurrencyS_1.bytCurrencyDec," _
& "CurrencyS_2.bytCurrencyDec) as bytCurrencyDec,zStockBillInfo.strSource AS strSource "
strSQL = strSQL & "FROM zStockBillInfo,Activity,ActivityDetail,ItemActivity,ItemActivityDetail,ARAPInit,ReceiptType, " _
& "ReceiptType ReceiptType_1,ReceiptType ReceiptType_2,Currencys,Currencys Currencys_1,Currencys Currencys_2 "
strSQL = strSQL & " WHERE zStockBillInfo.lngCashActivityDetailID = ActivityDetail.lngActivityDetailID(+) " _
& " AND Activity.lngActivityID = ActivityDetail.lngActivityID " _
& " AND zStockBillInfo.ActivityID = ItemActivity.lngActivityID " _
& " AND ItemActivity.lngActivityID = ItemActivityDetail.lngActivityID " _
& " AND zStockBillInfo.lngCashActivityDetailID = ARAPInit.lngARAPInitID(+) "
strSQL = strSQL & " AND Activity.lngReceiptTypeID = ReceiptType.lngReceiptTypeID(+) " _
& " AND ARAPInit.lngReceiptTypeID = ReceiptType_1.lngReceiptTypeID(+) " _
& " AND ItemActivity.lngReceiptTypeID = ReceiptType_2.lngReceiptTypeID(+) " _
& " AND ActivityDetail.lngCurrencyID = Currencys.lngCurrencyID(+) " _
& " AND ARAPInit.lngCurrencyID = Currencys_1.lngCurrencyID(+) " _
& " AND ItemActivity.lngCurrencyID = Currencys_2.lngCurrencyID(+)" _
& " AND zStockBillInfo.ActivityID=" & ActivityID
Else 'Voucher
strSQL = "SELECT Decode(zStockBillInfo.strSource,'0',ArapInitQuery.lngArapInitID," _
& "'1',ActivityQuery.ACTIVITY_LNGACTIVITYID," _
& "'2',ItemActivityQuery.lngActivityID," _
& "VoucherQuery.LNGVOUCHERID1) AS 付款ID,"
strSQL = strSQL & "Decode(zStockBillInfo.strSource,'0',ArapInitQuery.strDate," _
& "'1',ActivityQuery.strDate," _
& "'2',ItemActivityQuery.strDate," _
& "VoucherQuery.strDate) as 日期," _
& "Decode(zStockBillInfo.strSource,'0',VoucherType.strVoucherTypeName,"
strSQL = strSQL & "'1',ReceiptType.strReceiptTypeName," _
& "'2',ReceiptType_1.strReceiptTypeName," _
& "VoucherType_1.strVoucherTypeName) as 单据类型," _
& "Decode(zStockBillInfo.strSource,'0',VoucherType.strVoucherTypeCode,"
strSQL = strSQL & "'1',ActivityQuery.strReceiptNo," _
& "'2',ItemActivityQuery.strReceiptNo," _
& "VoucherType_1.strVoucherTypeCode) || " _
& "LPAD(Decode(zStockBillInfo.strSource,'0',ArapInitQuery.intVoucherNO,"
strSQL = strSQL & "'1',ActivityQuery.lngReceiptNo," _
& "'2',ItemActivityQuery.lngReceiptNo," _
& "VoucherQuery.intVoucherNo),4,'0') as 单据号," _
& "zStockBillInfo.dblCurrPaymentAmount AS 付款金额," _
& "zStockBillInfo.dblCurrDiscount AS 折扣金额," _
& "0 AS 应付余额," _
& "Decode(zStockBillInfo.strSource,'0',ArapInitQuery.lngVoucherTypeID," _
& "'1',ActivityQuery.lngActivityTypeID," _
& "'2',ItemActivityQuery.lngActivityTypeID,"
strSQL = strSQL & "VoucherQuery.lngVoucherTypeID) as 业务类型ID," _
& "Decode(zStockBillInfo.strSource,'0',ArapInitQuery.bytCurrencyDec," _
& "'1',ActivityQuery.bytCurrencyDec," _
& "'2',ItemActivityQuery.bytCurrencyDec," _
& "VoucherQuery.bytCurrencyDec) as bytCurrencyDec," _
& "zStockBillInfo.strSource as strSource "
strSQL = strSQL & " FROM zStockBillInfo,ActivityQuery,ItemActivityQuery,VoucherQuery,ArapInitQuery," _
& "VoucherType,VoucherType VoucherType_1,ReceiptType,ReceiptType ReceiptType_1 "
strSQL = strSQL & " WHERE zStockBillInfo.lngCashActivityDetailID = ActivityQuery.lngActivityDetailID(+) " _
& " AND zStockBillInfo.lngCashActivityDetailID = ItemActivityQuery.lngActivityDetailID(+) " _
& " AND zStockBillInfo.lngCashActivityDetailID = VoucherQuery.lngVoucherDetailID(+) " _
& " AND zStockBillInfo.lngCashActivityDetailID = ArapInitQuery.lngARAPInitID(+) " _
& " AND ArapInitQuery.lngVoucherTypeID = VoucherType.lngVoucherTypeID(+) " _
& " AND VoucherQuery.lngVoucherTypeID = VoucherType_1.lngVoucherTypeID(+) " _
& " AND ItemActivityQuery.lngReceiptTypeID = ReceiptType.lngReceiptTypeID(+) " _
& " AND ActivityQuery.lngReceiptTypeID = ReceiptType_1.lngReceiptTypeID(+) " _
& " AND zStockBillInfo.dblCurrPaymentAmount<>0 " _
& " AND zStockBillInfo.ActivityID=" & ActivityID
End If
Set recTemp = gclsBase.BaseDB.OpenResultset(strSQL, rdOpenStatic)
lngNowID = ActivityID
'===================有付款记录====================
If Not (recTemp.EOF And recTemp.BOF) Then
recTemp.MoveLast
recTemp.MoveFirst
End If
Set datGrid.Resultset = recTemp
'显示"采购单信息"
With frmStockInfo
.lblField(0).Caption = frmName.lblHead(1).Caption '单位
lngCustomerID = C2lng(frmName.lblHead(0).Tag)
.lblField(1).Caption = frmName.lblField(1).Caption '单据号
.lblField(2).Caption = cutString(frmName.lblField(12).Caption) '付款条件
.lblField(3).Caption = frmName.lblField(2).Caption '日期
.lblField(4).Caption = cutString(frmName.lblField(7).Caption) '币种
.lblField(5).Caption = cutString(frmName.lblField(4).Caption) '部门
.lblField(6).Caption = cutString(frmName.lblField(3).Caption) '业务员
End With
'---------------GET OTHER ID-------------------------
lngCurID = frmName.GetOtherID(7) 'CurrencyID
lngActID = frmName.GetOtherID(5) 'lngAccountID
lngCustomerID = C2lng(frmName.lblHead(0).Tag) 'lngCustomerID
lngDepID = frmName.GetOtherID(4) 'lngDepartmentID
lngEmpID = frmName.GetOtherID(3) 'lngEmployeeID
lngJobID = 0 'lngJobID
lngClsID1 = frmName.GetOtherID(9) 'lngClassID1
lngClsID2 = frmName.GetOtherID(8) 'lngClassID2
Call BillPublic.CurRateDec(lngCurID, intCurDec, intRateDec)
lblField(7).Caption = Format(GetLabel(frmName.lblTotal(14)), FormatString(intCurDec))
strRate = Format(GetLabel(frmName.lblField(6)), FormatString(intRateDec)) 'Rate
strAmount = Format(GetLabel(frmName.lblTotal(15)), FormatString(gclsBase.NaturalCurDec)) 'strAmount
strCurrAmount = Format(GetLabel(lblField(7)), FormatString(intCurDec)) 'strCurrAmount
'------------------END ------------------------------
'显示"收款信息":将生成结果绑定到MSFlexGrid控件中:
' If Not recTemp Is Nothing Then
' If recTemp.RowCount > 0 Then
' recTemp.MoveFirst
' End If
' End If
'-------------计算“余额”--------------
dblMoney = C2Dbl(frmStockInfo.lblField(7).Caption)
With grdList
For i = 1 To grdList.Rows - 1
.TextMatrix(i, 4) = Format(C2Dbl(.TextMatrix(i, 4)), FormatString(IIf(C2Dbl(.TextMatrix(i, 8)) = 0, 0, C2Dbl(.TextMatrix(i, 8)))))
.TextMatrix(i, 5) = Format(C2Dbl(.TextMatrix(i, 5)), FormatString(IIf(C2Dbl(.TextMatrix(i, 8)) = 0, 0, C2Dbl(.TextMatrix(i, 8)))))
dblMoney = dblMoney - C2Dbl(.TextMatrix(i, 4)) - C2Dbl(.TextMatrix(i, 5))
.TextMatrix(i, 6) = Format(C2Dbl(dblMoney), FormatString(IIf(C2Dbl(.TextMatrix(i, 8)) = 0, 0, C2Dbl(.TextMatrix(i, 8)))))
'写单据Type
Call ID2str(i, .TextMatrix(i, 9))
Next i
End With
grdList.ColWidth(1) = 990
grdList.ColWidth(2) = 1057
grdList.ColWidth(3) = 825
grdList.ColWidth(4) = 1340
grdList.ColWidth(5) = 1340
grdList.ColWidth(6) = 1340
grdList.ColWidth(7) = 0
grdList.ColWidth(8) = 0
grdList.ColWidth(9) = 0
mclsGrid.ColOfs = 1
mclsGrid.SetupStyle
grdList.ColSel = grdList.Cols - 1
blnBz = False
If grdList.Rows = grdList.FixedRows Then
cmdButton(1).Enabled = False
End If
Label2.Caption = frmName.Caption & "单信息"
Screen.MousePointer = vbDefault
frmStockInfo.Show vbModal
Set recTemp = Nothing
If blnBz Then
ShowBill ActivityTypeID1, ActivityID1
End If
Unload Me
Exit Sub
Err:
ShowMsg Me.hWnd, "系统出错!", MB_SYSTEMMODAL + MB_ICONEXCLAMATION, "提示信息"
Screen.MousePointer = vbDefault
End Sub
Private Sub cmdButton_Click(Index As Integer)
Select Case Index
Case 0
cmdOK_Click
Case 1
CmdRelating_Click
Case 2
If grdList.Rows > 1 And grdList.ColSel <> 0 Then
If grdList.Row < 1 Then grdList.Row = 1
Me.Hide
ActivityTypeID1 = C2lng(grdList.TextMatrix(grdList.Row, 6))
Screen.MousePointer = vbHourglass
'----------------------------------------------
strCurrAmount = grdList.TextMatrix(grdList.Row, 6)
strRate = Format(RateValue(lngCurID, lblField(3).Caption), FormatString(intRateDec))
If blnInDirect(lngCurID) Then
strAmount = Format(C2Dbl(strCurrAmount) / IIf(C2Dbl(strRate) = 0, 1, C2Dbl(strRate)), FormatString(gclsBase.NaturalCurDec))
Else
strAmount = Format(C2Dbl(strCurrAmount) * IIf(C2Dbl(strRate) = 0, 1, C2Dbl(strRate)), FormatString(gclsBase.NaturalCurDec))
End If
'-----------------------------------------------
If frm.chkPrint(2).Value = 1 And _
frm.chkPrint(3).Visible And _
frm.chkPrint(3).Value = 1 Then
frmCashSettle.ShowMe frm
ElseIf IsSpecialBill(lngNowID) Then
'XBQ 1999-10-27需求:商品采购、受托结算、直运采购、加工费用 显示“ 采购付款 ”
ShowR_P True, , , lngCustomerID, lngNowID
Else '显示“ 其它付款 ”
Set frm = FrmPayment
frm.ShowABill strAmount, strCurrAmount, strRate, lngCustomerID, lngCurID, lngActID, lngDepID, lngEmpID, lngJobID, lngClsID1, lngClsID2
End If
Screen.MousePointer = vbDefault
Unload Me
ElseIf grdList.Rows = 1 Then
Me.Hide
If frm.chkPrint(2).Value = 1 And _
frm.chkPrint(3).Visible And _
frm.chkPrint(3).Value = 1 Then
frmCashSettle.ShowMe frm
ElseIf IsSpecialBill(lngNowID) Then
'显示“ 采购付款 ”
Screen.MousePointer = vbHourglass
ShowR_P True, , , lngCustomerID, lngNowID
Screen.MousePointer = vbDefault
Else '显示“ 其它付款 ”
Set frm = FrmPayment
Screen.MousePointer = vbHourglass
frm.ShowABill strAmount, strCurrAmount, strRate, lngCustomerID, lngCurID, lngActID, lngDepID, lngEmpID, lngJobID, lngClsID1, lngClsID2
Screen.MousePointer = vbDefault
End If
Unload Me
End If
End Select
End Sub
Private Sub Form_Activate()
SetHelpID C2lng(Me.HelpContextID)
End Sub
Private Sub Form_Resize()
Dim i As Integer
If Me.WindowState = 1 Then Exit Sub
For i = 0 To cmdButton.Count - 1
cmdButton(i).Visible = False
Next i
Label2.Visible = False
Label3.Visible = False
Shape1(0).Visible = False
Shape1(1).Visible = False
For i = 0 To lblField.Count - 1
Label1(i).Height = 195
Label1(i).Visible = False
lblField(i).Visible = False
lblField(i).Height = 195
Next i
Label2.Move 50, 50, StrLen(Label2.Caption) * 2 * Me.FontSize * 10.05, 210 '920
Shape1(1).Move 50, 50 + Label2.Height + 30, Me.ScaleWidth - cmdButton(0).width - 300
Shape1(0).Move 80, Shape1(1).top + 30, Shape1(1).width, Shape1(1).Height
Label3.Move 50, Shape1(0).top + Shape1(0).Height + 30, 920, 210
grdList.Move 50, Label3.top + Label3.Height + 30, _
Me.ScaleWidth - cmdButton(0).width - 300, _
Me.ScaleHeight - Label3.top - Label3.Height - 50 - 30
Dim WidthRate As Integer
WidthRate = Int(Shape1(1).width / 3)
Label1(0).Left = Shape1(1).Left + 120
Label1(0).top = Shape1(1).top + 225
Label1(0).width = 795
Label1(1).Left = Label1(0).Left
Label1(1).width = 795
Label1(1).top = Label1(0).top + Label1(0).Height + 225
Label1(2).Left = Label1(0).Left
Label1(2).width = 795
Label1(2).top = Label1(1).top + Label1(1).Height + 225
Label1(3).Left = Shape1(1).Left + WidthRate + 550
Label1(3).width = 450
Label1(3).top = Label1(1).top
Label1(4).Left = Label1(3).Left
Label1(4).width = 450
Label1(4).top = Label1(2).top
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -