0

我正在使用 SAP B1 9.1 HANA 并在产品成功发货后以编程方式创建交付。创建交货时,对于具有正现有库存的产品,我得到Quantity 落入负库存 [DLN1.ItemCode][line: 1] 。有没有人看到这个错误?

谢谢。

这是代码。

Private Function createDelivery(SalesOrderKey As Integer, MyConn As OdbcConnection)

        Dim myString As String = ""
        Dim ivar As Integer
        Dim icnt As Integer
        Dim oSalesOrder As SAPbobsCOM.Documents
    Dim oDeliveryNote As SAPbobsCOM.Documents
    Dim oDeliveryLines As SAPbobsCOM.Documents
    Dim lRetCode As Integer
    Dim PostSuccess As Boolean
    Dim DeliveryLineAdded As Boolean
    oSalesOrder = oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oOrders)
    If oSalesOrder.GetByKey(SalesOrderKey) Then
        oDeliveryNote = oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oDeliveryNotes)
        oDeliveryNote.CardCode = oSalesOrder.CardCode
        oDeliveryNote.SalesPersonCode = oSalesOrder.SalesPersonCode
        oDeliveryNote.DocType = SAPbobsCOM.BoDocumentTypes.dDocument_Items
        oDeliveryNote.DocumentSubType = SAPbobsCOM.BoDocumentSubType.bod_None
        oDeliveryNote.Address = oSalesOrder.Address
        oDeliveryNote.ShipToCode = oSalesOrder.ShipToCode
        oDeliveryNote.Address2 = oSalesOrder.Address2
        oDeliveryNote.HandWritten = SAPbobsCOM.BoYesNoEnum.tNO
        oDeliveryNote.JournalMemo = "Delivery - " & oSalesOrder.CardCode
        oDeliveryNote.Comments = "Based on SO " & Convert.ToString(SalesOrderKey)
        oDeliveryNote.PaymentGroupCode = oSalesOrder.PaymentGroupCode
        oDeliveryNote.DocObjectCode = SAPbobsCOM.BoObjectTypes.oDeliveryNotes
        oDeliveryNote.DocObjectCodeEx = SAPbobsCOM.BoObjectTypes.oDeliveryNotes
        oDeliveryNote.DocDueDate = Now.Month & "/" & Now.Day & "/" & Now.Year
        oDeliveryNote.TrackingNumber = ""

        For icnt = 0 To oSalesOrder.Lines.Count - 1
            oSalesOrder.Lines.SetCurrentLine(icnt)
            oDeliveryNote.Lines.ItemCode = oSalesOrder.Lines.ItemCode
            oDeliveryNote.Lines.Quantity = oSalesOrder.Lines.Quantity


            UpdateSystemLog(0, 0, "Insert Delivery SKU: " + oSalesOrder.Lines.ItemCode, "IME-D0V", MyConn)
            UpdateSystemLog(0, 0, "Insert Delivery Quantity: " + Convert.ToString(oSalesOrder.Lines.Quantity), "IME-D0V", MyConn)


            oDeliveryNote.Lines.DiscountPercent = oSalesOrder.Lines.DiscountPercent
            oDeliveryNote.Lines.TaxCode = oSalesOrder.Lines.TaxCode
            oDeliveryNote.Lines.LineTotal = oSalesOrder.Lines.LineTotal
            oDeliveryNote.Lines.COGSCostingCode = oSalesOrder.Lines.COGSCostingCode
            oDeliveryNote.Lines.COGSCostingCode2 = oSalesOrder.Lines.COGSCostingCode2
            oDeliveryNote.Lines.COGSCostingCode3 = oSalesOrder.Lines.COGSCostingCode3
            oDeliveryNote.Lines.COGSCostingCode4 = oSalesOrder.Lines.COGSCostingCode4
            oDeliveryNote.Lines.COGSCostingCode5 = oSalesOrder.Lines.COGSCostingCode5
            oDeliveryNote.Lines.Rate = oSalesOrder.Lines.Rate

            oDeliveryNote.Lines.Add()
        Next
        lRetCode = oDeliveryNote.Add()

        If lRetCode <> 0 Then
            Dim sErr As String
            oCompany.GetLastError(lRetCode, sErr)
            UpdateSystemLog(lRetCode, 0, "Insert Delivery Error --> " + sErr, "IME-D0A", MyConn)
        Else
            Dim sErr As String
            oCompany.GetLastError(lRetCode, sErr)
            UpdateSystemLog(lRetCode, 0, "Insert Delivery --> " + sErr, "IME-D0B", MyConn)
        End If


    End If
End Function
4

0 回答 0