cgshd.cls
来自「制造业产供销与往来系统源码,包括进销存及全部控件!」· CLS 代码 · 共 555 行 · 第 1/2 页
CLS
555 行
End Property
Public Property Let CgShd_HwCkMc(vCgShd_HwCkMc As String)
If Trim(vCgShd_HwCkMc) = "" Then
Err.Raise vbObjectError + 1, , "仓库不能为空!"
Exit Property
End If
If m_CgShd_HwCkMc <> vCgShd_HwCkMc Then
If HwCk.Requery(vCgShd_HwCkMc) = -1 Then
Err.Raise vbObjectError + 1, , "录入的仓库不存在!"
Exit Property
End If
m_CgShd_HwCkno = HwCk.HwCkNo
End If
m_CgShd_HwCkMc = vCgShd_HwCkMc
End Property
Public Property Let CgShd_HwDwCode(vCgShd_HwDwCode As String)
If Trim(vCgShd_HwDwCode) = "" Then
Err.Raise vbObjectError + 1, , "计量单位不能为空!"
Exit Property
End If
If m_CgShd_HwDwCode <> vCgShd_HwDwCode Then
If HwDw.Requery(vCgShd_HwDwCode) = -1 Then
Err.Raise vbObjectError + 1, , "录入的计量单位不存在!"
Exit Property
End If
m_CgShd_HwDwNo = HwDw.HwDwNo
End If
m_CgShd_HwDwCode = vCgShd_HwDwCode
End Property
Public Property Let CgShd_HwDwConv(vCgShd_HwdwConv As Double)
If vCgShd_HwdwConv <= 0 Then
Err.Raise vbObjectError + 1, , "换算系数必须大于零!"
Exit Property
End If
m_CgShd_HwDwConv = vCgShd_HwdwConv
End Property
Public Property Let CgShdQty(vCgShdQty As Double)
If vCgShdQty <= 0 Then
Err.Raise vbObjectError + 1, , "数量必须大于零!"
Exit Property
End If
m_CgShdQty = vCgShdQty
m_CgShdAmt = Val(Format(vCgShdQty * m_CgShdPrice, "##"))
m_CgShdTAmt = Val(Format(m_CgShdAmt + m_CgShdQAmt, "##"))
End Property
Public Property Let CgShdPrice(vCgShdPrice As Double)
If vCgShdPrice < 0 Then
Err.Raise vbObjectError + 1, , "单价不能小于零!"
Exit Property
End If
m_CgShdPrice = vCgShdPrice
m_CgShdAmt = Val(Format(vCgShdPrice * m_CgShdQty, "##"))
m_CgShdTAmt = Val(Format(m_CgShdAmt + m_CgShdQAmt, "##"))
End Property
Public Property Let CgShdAmt(vCgShdAmt As Double)
If vCgShdAmt < 0 Then
Err.Raise vbObjectError + 1, , "采购金额不能小于零!"
Exit Property
End If
m_CgShdAmt = vCgShdAmt
m_CgShdTAmt = Val(Format(m_CgShdAmt + m_CgShdQAmt, "##"))
End Property
Public Property Let CgShdQAmt(vCgShdQAmt As Double)
If vCgShdQAmt < 0 Then
Err.Raise vbObjectError + 1, , "其它费用金额不能小于零!"
Exit Property
End If
m_CgShdQAmt = vCgShdQAmt
m_CgShdTAmt = Val(Format(m_CgShdAmt + m_CgShdQAmt, "##"))
End Property
Public Property Let CgShdTAmt(vCgShdTAmt As Double)
If vCgShdTAmt < 0 Then
Err.Raise vbObjectError + 1, , "总金额不能小于零!"
Exit Property
End If
m_CgShdTAmt = vCgShdTAmt
End Property
Public Property Let CgShd_CwSmCode(vCgShd_CwSmCode As String)
If Trim(vCgShd_CwSmCode) = "" Then
Err.Raise vbObjectError + 1, , "税码不能为空!"
Exit Property
End If
If m_CgShd_CwSmCode <> vCgShd_CwSmCode Then
If CwSm.Requery(vCgShd_CwSmCode) = -1 Then
Err.Raise vbObjectError + 1, , "录入的税码不存在!"
Exit Property
End If
m_CgShd_CwSmNo = CwSm.CwsmNo
m_CgShd_CwSmConv = CwSm.CwsmSl
End If
m_CgShd_CwSmCode = vCgShd_CwSmCode
End Property
Public Property Let CgShdBz(vCgShdDBz As String)
m_CgShdBz = vCgShdDBz
End Property
Public Sub Save()
Dim Cmd As ADODB.Command
On Error GoTo Errorhandle
Set Cmd = New ADODB.Command
Set Cmd.ActiveConnection = gDbCommon.Conn
If m_CgShdId = -1 Then
Cmd.CommandText = gPublicFunction.GetCallSPString("CGSHDREC_INSERT", 20)
Cmd(0) = m_CgShdh.CgShdhNo
Cmd(1) = m_CgShd_CgPodno
Cmd(2) = m_CgShd_HwBmno
Cmd(3) = m_CgShd_HwDwNo
Cmd(4) = m_CgShd_HwDwConv
Cmd(5) = m_CgShd_HwCkno
Cmd(6) = m_CgShdQty
Cmd(7) = m_CgShdPrice
Cmd(8) = m_CgShdAmt
Cmd(9) = m_CgShdQAmt
Cmd(10) = m_CgShdTAmt
Cmd(11).Direction = adParamOutput 'm_CgShdIPrice
Cmd(12).Direction = adParamOutput 'm_CgShdIAmt
Cmd(13).Direction = adParamOutput 'm_CgShd_CwBzConv
Cmd(14) = m_CgShd_CwSmNo
Cmd(15) = m_CgShd_CwSmConv
Cmd(16) = m_CgShdBz
Cmd(17).Direction = adParamOutput 'CgShd_CgApNo
Cmd(18).Direction = adParamOutput 'CgShdMiono
Cmd(19).Direction = adParamOutput 'CgShdNo
Else
Cmd.CommandText = gPublicFunction.GetCallSPString("CGSHDREC_UPDATE", 16)
Cmd(0) = m_CgShdNo
Cmd(1) = m_CgShd_HwBmno
Cmd(2) = m_CgShd_HwDwNo
Cmd(3) = m_CgShd_HwDwConv
Cmd(4) = m_CgShd_HwCkno
Cmd(5) = m_CgShdQty
Cmd(6) = m_CgShdPrice
Cmd(7) = m_CgShdAmt
Cmd(8) = m_CgShdQAmt
Cmd(9) = m_CgShdTAmt
Cmd(10).Direction = adParamOutput 'm_CgShdIPrice
Cmd(11).Direction = adParamOutput 'm_CgShdIAmt
Cmd(12).Direction = adParamOutput 'm_CgShd_CwBzConv
Cmd(13) = m_CgShd_CwSmNo
Cmd(14) = m_CgShd_CwSmConv
Cmd(15) = m_CgShdBz
End If
Cmd.Execute
If m_CgShdId = -1 Then
m_CgShdIPrice = Cmd(11)
m_CgShdIAmt = Cmd(12)
m_CgShd_CwBzConv = Cmd(13)
m_CgShd_CgApNo = Cmd(17)
m_CgShdMioNo = Cmd(18)
m_CgShdNo = Cmd(19)
m_CgShdId = 1
Else
m_CgShdIPrice = Cmd(10)
m_CgShdIAmt = Cmd(11)
m_CgShd_CwBzConv = Cmd(12)
End If
Set Cmd = Nothing
Exit Sub
Errorhandle:
Set Cmd = Nothing
Err.Raise vbObjectError + 1, , gDbCommon.Conn.Errors(0)
End Sub
Public Sub Del()
Dim Cmd As ADODB.Command
gPublicFunction.CheckCanBeDelete "CGSHDREC", "CGSHDNO", CStr(m_CgShdNo)
On Error GoTo Errorhandle
Set Cmd = New ADODB.Command
Set Cmd.ActiveConnection = gDbCommon.Conn
Cmd.CommandText = "{CALL CgShdREC_DELETE(?)}"
Cmd(0) = m_CgShdNo
gDbCommon.Conn.BeginTrans
Cmd.Execute
If CgShdh.CgShds.Count = 1 Then
CgShdh.Del 1
End If
gDbCommon.Conn.CommitTrans
Set Cmd = Nothing
Exit Sub
Errorhandle:
Set Cmd = Nothing
gDbCommon.Conn.RollbackTrans
Err.Raise vbObjectError + 1, , gDbCommon.Conn.Errors(0)
End Sub
Public Function Requery(vCgShdNo As Double) As Integer
Dim mRs As DbRs
Dim mSqlStr As String
On Error GoTo Errorhandle
Requery = -1
Set mRs = New DbRs
mSqlStr = "SELECT CgShd_CgShdHNO,CgShd_CgPodDOCNO=COALESCE((SELECT CgPodHDOCNO FROM CgPodHREC,CgPodREC WHERE CgPodNO=CgShd_CgPodNO AND CgPodHNO=CgPod_CgPodHNO),''),CgShd_CgPodNO,"
mSqlStr = mSqlStr & "CgShd_HwBmCode=COALESCE((SELECT HwBmCode FROM HWBMREC WHERE HWBMNO=CGSHD_HWBMNO),''),CgShd_HwBmMc=COALESCE((SELECT HwBmMc FROM HWBMREC WHERE HWBMNO=CGSHD_HWBMNO),''),CgShd_HWBMNO,"
mSqlStr = mSqlStr & "CgShd_HwCkMc=COALESCE((SELECT HwCkMc FROM HWCKREC WHERE HWCKNO=CGSHD_HWCKNO),''),CgShd_HWCKNO,"
mSqlStr = mSqlStr & "CgShd_HwDwCode=COALESCE((SELECT HWDWCode FROM HWDWREC WHERE HWDWNO=CGSHD_HWDWNO),''),CgShd_HWDWNO,CGSHD_HWDWCONV,"
mSqlStr = mSqlStr & "CgShdQTY,CgShdPRICE,CgShdAMT,CGSHDQAMT,CGSHDTAMT,CGSHDIPRICE,CGSHDIAMT,CGSHD_CWBZCONV,"
mSqlStr = mSqlStr & "CGSHD_CWSMCODE=COALESCE((SELECT CWSMCODE FROM CWSMREC WHERE CWSMNO=CGSHD_CWSMNO),''),CGSHD_CWSMNO,CGSHD_CWSMCONV,"
mSqlStr = mSqlStr & "CgShdBZ,CgShd_CgApNo,CGSHDMIONO,CgShdNO FROM CgShdREC WHERE CgShdNO=" & CStr(vCgShdNo)
mRs.Fillbydb mSqlStr
If Not mRs.EOF Then
BatchLet mRs!CgShd_CgShdhno, mRs!CgShd_CgPodDocno, mRs!CgShd_CgPodno, mRs!CgShd_HwBmCode, mRs!CgShd_HwBmMc, mRs!CgShd_HwBmno, _
mRs!CgShd_HwCkMc, mRs!CgShd_HwCkno, mRs!CgShd_HwDwCode, mRs!CgShd_HwDwno, mRs!CgShd_HwDwConv, _
mRs!CgShdQty, mRs!CgShdPrice, mRs!CgShdAmt, mRs!CgShdQAmt, mRs!CgShdTAmt, mRs!CgShdIPrice, mRs!CgShdIAmt, _
mRs!cgshd_cwbzconv, mRs!CgShd_CwSmCode, mRs!CgShd_CwSmno, mRs!CgShd_CwsmConv, _
mRs!CgShdBz, mRs!CgShd_CgApNo, mRs!CgShdMioNo, mRs!CgShdNo
End If
Set mRs = Nothing
Exit Function
Errorhandle:
Set mRs = Nothing
Err.Raise vbObjectError + 1, , Err.Description
End Function
Public Sub BatchLet(ParamArray Properties() As Variant)
m_CgShd_CgShdhno = Properties(0)
m_CgShd_CgPodDocno = Properties(1)
m_CgShd_CgPodno = Properties(2)
m_CgShd_HwBmCode = Properties(3)
m_CgShd_HwBmMc = Properties(4)
m_CgShd_HwBmno = Properties(5)
m_CgShd_HwCkMc = Properties(6)
m_CgShd_HwCkno = Properties(7)
m_CgShd_HwDwCode = Properties(8)
m_CgShd_HwDwNo = Properties(9)
m_CgShd_HwDwConv = Properties(10)
m_CgShdQty = Properties(11)
m_CgShdPrice = Properties(12)
m_CgShdAmt = Properties(13)
m_CgShdQAmt = Properties(14)
m_CgShdTAmt = Properties(15)
m_CgShdIPrice = Properties(16)
m_CgShdIAmt = Properties(17)
m_CgShd_CwBzConv = Properties(18)
m_CgShd_CwSmCode = Properties(19)
m_CgShd_CwSmNo = Properties(20)
m_CgShd_CwSmConv = Properties(21)
m_CgShdBz = Properties(22)
m_CgShd_CgApNo = Properties(23)
m_CgShdMioNo = Properties(24)
m_CgShdNo = Properties(25)
m_CgShdId = 1
End Sub
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?