⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bos_balancebill.cls

📁 金蝶地磅称重插件
💻 CLS
📖 第 1 页 / 共 5 页
字号:
    
     '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 + -