📄 bos_balancebill.cls
字号:
'060620zjmodify,将钢卷ID号清空,如何让其不显示???
m_BillInterface.SetFieldValue "fpihao", ""
'060620zjmodify,将钢卷ID号清空,如何让其不显示???
'******************************
'回写检斤重量到源单上
' Set rs = m_BillInterface.K3Lib.GetData("select FRwrite from t_ST_SC_BalanceBill Where FID=" & m_BillInterface.CurBillID)
' If CDbl(m_BillInterface.GetFieldValue("FNetWeight")) = 0 Or CLng(rs.Fields(0)) = 1 Then Exit Sub
Dim lngFID As Long
Dim lngFEntryID As Long
Dim dblNetWeight As Double
'销售退货
If m_BillInterface.GetFieldValue("FBillType") = "0" Then
lngFID = CLng(m_BillInterface.GetFieldValue("FID_SRC"))
lngFEntryID = CLng(m_BillInterface.GetFieldValue("FEntryID_SRC"))
dblNetWeight = CDbl(m_BillInterface.GetFieldValue("FNetWeight")) / 1000
strSql = "exec Rewriteseoutstock2 " & lngFID & "," & lngFEntryID & "," & dblNetWeight & ",1"
m_BillInterface.K3Lib.GetData (strSql)
m_BillInterface.K3Lib.GetData ("update t_ST_SC_BalanceBill set FRwrite=1 Where FID=" & m_BillInterface.CurBillID)
End If
'销售出库
If m_BillInterface.GetFieldValue("FBillType") = "1" Then
lngFID = CLng(m_BillInterface.GetFieldValue("FID_SRC"))
lngFEntryID = CLng(m_BillInterface.GetFieldValue("FEntryID_SRC"))
dblNetWeight = CDbl(m_BillInterface.GetFieldValue("FNetWeight")) / 1000
strSql = "exec Rewriteseoutstock " & lngFID & "," & lngFEntryID & "," & dblNetWeight & ",1"
m_BillInterface.K3Lib.GetData (strSql)
m_BillInterface.K3Lib.GetData ("update t_ST_SC_BalanceBill set FRwrite=1 Where FID=" & m_BillInterface.CurBillID)
End If
'外购入库
If m_BillInterface.GetFieldValue("FBillType") = "2" Then
lngFID = CLng(m_BillInterface.GetFieldValue("FID_SRC"))
lngFEntryID = CLng(m_BillInterface.GetFieldValue("FEntryID_SRC"))
dblNetWeight = CDbl(m_BillInterface.GetFieldValue("FNetWeight")) / 1000
strSql = "exec RewritePOOrderEntry " & lngFID & "," & lngFEntryID & "," & dblNetWeight & ",1"
m_BillInterface.K3Lib.GetData (strSql)
m_BillInterface.K3Lib.GetData ("update t_ST_SC_BalanceBill set FRwrite=1 Where FID=" & m_BillInterface.CurBillID)
End If
'调拨检斤
If m_BillInterface.GetFieldValue("FBillType") = "3" Then '此处g_lngFEntryID,g_lngFID 来源于叙事簿
strSql = "Select FID_Src,FEntryID_SRc from t_ST_SC_BalanceBillEntry where FID= " & m_BillInterface.CurBillID
Set rs = m_BillInterface.K3Lib.GetData(strSql)
lngFID = CLng(rs.Fields(0))
lngFEntryID = CLng(rs.Fields(1))
dblNetWeight = CDbl(m_BillInterface.GetFieldValue("FNetWeight")) / 1000
strSql = "Update ICStockBillOrderEntry Set FBalanceWeight=FBalanceWeight+" & dblNetWeight & " where FID=" & lngFID & vbCrLf & _
"and FEntryID=" & lngFEntryID & vbCrLf & _
"UPdate ICStockBillOrderEntry set FClose=1 where FQty<=FBalanceWeight and FID=" & lngFID & vbCrLf & _
"and FEntryID=" & lngFEntryID & vbCrLf & _
"Update ICStockBillOrderEntry Set FAuxQty=FBalanceWeight/FChangeRate where FChangeRate>0 and FID=" & lngFID & vbCrLf & _
"and FEntryID=" & lngFEntryID
m_BillInterface.K3Lib.GetData (strSql)
m_BillInterface.K3Lib.GetData ("update t_ST_SC_BalanceBill set FRwrite=1 Where FID=" & m_BillInterface.CurBillID)
End If
'运输检斤
If m_BillInterface.GetFieldValue("FBillType") = "7" Then '此处g_lngFEntryID,g_lngFID 来源于叙事簿
strSql = "Select FID_Src,FEntryID_SRc from t_ST_SC_BalanceBillEntry where FID= " & m_BillInterface.CurBillID
Set rs = m_BillInterface.K3Lib.GetData(strSql)
lngFID = CLng(rs.Fields(0))
lngFEntryID = CLng(rs.Fields(1))
dblNetWeight = CDbl(m_BillInterface.GetFieldValue("FNetWeight")) / 1000
strSql = "Update t_EP_PB_TransContractEntry Set FBalanceQty=FBalanceQty+" & dblNetWeight & " where FID=" & lngFID & vbCrLf & _
"and FEntryID=" & lngFEntryID & vbCrLf
'现在对于运输检斤,数量上不进行控制,不进行关闭处理added by nsx
'strSql = strSql & " UPdate t_EP_PB_TransContractEntry set FBalanceClose=1 where FQty<=FBalanceQty and FID=" & lngFID & vbCrLf & _
' "and FEntryID=" & lngFEntryID
m_BillInterface.K3Lib.GetData (strSql)
m_BillInterface.K3Lib.GetData ("update t_ST_SC_BalanceBill set FRwrite=1 Where FID=" & m_BillInterface.CurBillID)
End If
Set rs = Nothing
Exit Sub
errAfterSave:
MsgBox err.Description, vbCritical, "金蝶提示"
Set rs = Nothing
End Sub
Private Sub SaveTareWeight() '将当前的车号的车皮净重保存到数据库中
'
' On Error GoTo errSaveNetWeight
'
' Dim strSql As String
' Dim strCarNo As String
' Dim dblTareWeight As Double
' dblTareWeight = Trim(m_BillInterface.GetFieldValue("FTareWeight")) '获得当前皮重
' strCarNo = Trim(m_BillInterface.GetFieldValue("FCarNo")) '获得当前车号
' If dblTareWeight = 0 Then Exit Sub '如果皮重为零就不保存
' strSql = "if exists (select * from t_BalanceItem where FItemName = '" & strCarNo & "')" & vbCrLf & _
' "Update t_BalanceItem set FTareWeight=" & dblTareWeight & " where FItemName = '" & strCarNo & "'" & vbCrLf & _
' "Else" & vbCrLf & _
' "Insert Into t_BalanceItem values('" & strCarNo & "'," & dblTareWeight & ",3)"
' m_BillInterface.K3Lib.GetData (strSql)
' Exit Sub
'errSaveNetWeight:
'
' MsgBox err.Description, vbCritical, "错误"
End Sub
Private Sub m_BillInterface_AfterSelBill(ByVal lSelBillType As Long) '在选单结束后设置单据类型,
On Error GoTo err
'060321zjmodify让钢卷ID不可见 在afterloadbill,afterselbill,afternewbill中分别加入
m_BillInterface.BillHeads(1).BOSFields("fpihao").Visible = False
'060321zjmodify让钢卷ID不可见 在afterloadbill,afterselbill,afternewbill中分别加入
' 在选单之后将净重设置为0,因为设置了净重钩籍源单的数量
m_BillInterface.SetFieldValue "FNetWeight", 0
'锁定计数字段
m_BillInterface.BillHeads(1).BOSFields("FCurrentNum").FieldLock = True
'0321李伟修改*********************
m_BillInterface.BillEntrys(1).BOSFields("Ftarebalancetime").FieldLock = True
m_BillInterface.BillEntrys(1).BOSFields("Fgrossbalancetime").FieldLock = True
'0321李伟修改*********************
Dim strSql, strsqlDD As String '06-01-01 ZJ加入strsqlDD
Dim rs, RSA As ADODB.Recordset '06-01-01 ZJ加入RSA
Dim ID As Double '06-01-01 ZJ加入ID
'净重处把源单的数量带过来。
With m_BillInterface
Select Case lSelBillType
Case -71 '外购入库 '收料检斤
'设置检斤类型
.SetFieldValue "FBillType", 2
''将单据体中的仓库复制到单据头中
.SetFieldValue "FRecStorage", .GetFieldValue("FStockTemp", , 2)
'根据单据类型设置字段可用不可用
EableOrDisableField 2
EnableToolBarProcess 2
'如果物料进行了批次管理,将供应商的助记码复制到批次里面
strSql = "select FBatchManager,FHelpCode from T_ICitem where FItemID =" & .GetFieldValue("Fmateriel")
Set rs = .K3Lib.GetData(strSql)
If rs.Fields(0) = True Then
strSql = "select FHelpCode from t_Supplier where FItemID =" & .GetFieldValue("FSupplier")
Set rs = .K3Lib.GetData(strSql)
.SetFieldValue "FBatchNo", rs.Fields("FHelpCode") & ""
If Len(Trim(.GetFieldValue("FBatchNo"))) <> 0 Then
.BillEntrys(1).BOSFields.Item("FBatchNo").FieldLock = True
End If
Else
'########################06-01-01(02又modify)zjmodify有批次的情况复选成没批次时批次仍在的Bug########################################
m_BillInterface.SetFieldValue "FBatchNo", ""
'########################06-01-01(02又modify)zjmodify有批次的情况复选成没批次时批次仍在的Bug########################################
End If
Case -83 ' 销售出库 '发料检斤
.SetFieldValue "FBillType", 1
.SetFieldValue "FSendStorage", .GetFieldValue("FStockTemp", , 2)
EableOrDisableField 1
EnableToolBarProcess 1
'======================张健修改1117自动带出客户地址=============================
strsqlzj = "select faddress from t_organization where fitemid=" & .GetFieldValue("fcustomer")
Set rs = .K3Lib.GetData(strsqlzj)
.SetFieldValue "fbaseproperty1", rs.Fields(0) & ""
'&&&&&&&&&&&&&&&&&&&&&张健修改&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&7
Case 200000137 '调拨通知单
SelBill_Flag = True '选单标志设置为TRUE ,说明选过单据
.SetFieldValue "FBillType", 3
'源单编号
.SetFieldValue "FBillNo_SRC", g_strBillNo_SRC
EableOrDisableField 3
EnableToolBarProcess 3
Case 200000160 '运输协议
SelBill_Flag = True '选单标志设置为TRUE
.SetFieldValue "FBillType", 7
.SetFieldValue "FRecStorage", .GetFieldValue("FStockTemp", , 2)
'源单编号
.SetFieldValue "FBillNo_SRC", g_strBillNo_SRC
EableOrDisableField 7
EnableToolBarProcess 4
'如果进行批此管理,如果是焦炭,要供应商助剂码,别的要船名
strSql = "select FBatchManager,FHelpCode ,FNAME from T_ICitem where FItemID =" & .GetFieldValue("Fmateriel")
Set rs = .K3Lib.GetData(strSql)
If rs.Fields(0) = True Then
If rs.Fields("FNAME") = "焦炭" Then
strSql = "select FHelpCode from t_Supplier where FItemID =" & .GetFieldValue("FSupplier")
Set rs = .K3Lib.GetData(strSql)
.SetFieldValue "FBatchNo", rs.Fields("FHelpCode") & ""
Else
'060331zjmodify,应倪树祥要求,将下面语句注释掉
'.SetFieldValue "FBatchNo", .GetFieldValue("FShipName") & ""
'060331zjmodify,应倪树祥要求,将下面语句注释掉
End If
If Len(Trim(.GetFieldValue("FBatchNo"))) <> 0 Then .BillEntrys(1).BOSFields.Item("FBatchNo").FieldLock = True
End If
Case -82 '退货通知单
.SetFieldValue "FBillType", 0 '单据类型
.SetFieldValue "FRecStorage", .GetFieldValue("FStockTemp", , 2)
EableOrDisableField -1
EnableToolBarProcess 4
'#####################1215zj修改委外出(入)<销售专用>############################
Case 200000191 '委外出
SelBill_Flag = True '这将在aftersave中使用
.SetFieldValue "fbilltype", 8
.SetFieldValue "FBillNo_SRC", g_strBillNo_SRC '另外新增了两个类模块BOS_Toutinfo和BOS_Twininfo用于给变量g_strBillNo_SRC赋值
EableOrDisableField 8
EnableToolBarProcess 1
Case 200000192 '委外入
SelBill_Flag = True '这将在aftersave中使用
.SetFieldValue "fbilltype", 4
.SetFieldValue "FBillNo_SRC", g_strBillNo_SRC
EableOrDisableField 4
EnableToolBarProcess 2
'#####################1215zj修改委外出(入)<销售专用>############################
Case Else
End Select
'单据类型锁定
.BillHeads(1).BOSFields.Item("FBillType").FieldLock = True
'如果先检斤后选单,也能计算出净重
' ID = m_BillInterface.CurBillID
' strsqlDD = "SELECT FGROSSWEIGHT,FTAREWEIGHT FROM t_ST_SC_BalanceBillENTRY WHERE FID=" & Str(ID)
' Set RSA = .K3Lib.GetData(strsqlDD)
' If RSA.Fields(0) <> 0 And RSA.Fields(1) <> 0 Then
'$$$$$$$$$$$$$$$$$$$$$$$$$$1125张健修改原先下面的条件字段是"FgrossoOP"和“FtareOP”%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
If .GetFieldValue("FGrossweight") <> 0 And _
.GetFieldValue("FTareweight") <> 0 Then
'################################张健修改###################################################################
.SetFieldValue "FNetWeight", Abs(.GetFieldValue("FGrossWeight") - .GetFieldValue("FTareWeight"))
End If
' .SetFieldValue "FNETWEIGHT", Abs(RSA.Fields(0) - RSA.Fields(1))
'End If
End With
Set rs = Nothing
Exit Sub
err:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -