Olá, estou ficando desesperado, perguntei sobre isso antes sem resposta, o que significa que deve ser algo com meu código, então aqui está meu código na esperança de que alguém possa encontrar meu erro.
Obrigado pela ajuda...
Ok, aqui está a situação:
Estou trazendo um pedido de venda para um DataGridView.
Isso permite atribuir números de série de um UDT que criei para gerenciar os números de série até que estejam prontos para serem liberados.
Atribuo os números de série.
Quando a entrega é criada, percorro as linhas do DGV e extraio a linha associada da SO para aplicá-la e o número de série associado na entrega.
<b>O código a seguir funciona muito bem para cópias 1-1.</b>
O problema surge quando uma linha é excluída do SAP da SO ou quando o usuário exclui uma linha do DGV que não deseja copiar na entrega.
Ao tentar isso, recebo um erro que diz:
"-10 :: [DLN1.WhsC ode][linha: 0]. 'Item'ACC-USB-LCD-MX233 ' com o sistema serial 2 não está em estoque"
O estranho é que não tenho esse item em nenhum lugar do meu pedido de venda ou na exportação XML do objeto de entrega.
Nem mesmo é o primeiro item em nossa tabela de itens.
O que faço é pegar as linhas do Pedido de venda com base no LineNum.
Se uma linha não for necessária, eu ignoro essa linha no Pedido de venda pelo seu LineNum.
Estava me perguntando se isso é um ERRO do SAP, mas não vi ninguém mais com esse problema e não consigo fazer com que o SAP responda às minhas Notas de Suporte.
Aqui está meu código:
<se precisar de mais informações, por favor me avise, obrigado>
Dim soDoc As SAPbobsCOM.Documents
Dim dnDoc As SAPbobsCOM.Documents
soDoc = oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oOrders)
dnDoc = oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oDeliveryNotes)
Try
Dim rsData As SAPbobsCOM.Recordset
Dim iTemp As Integer
iTemp = Integer.Parse(txtSalesOrder.Text)
rsData = oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset)
rsData.DoQuery("Select DocEntry From ORDR where DocNum='" + iTemp.ToString + "'
soDoc.GetByKey(Integer.Parse(rsData.Fields.Item("DocEntry").Value))
dnDoc.CardCode = soDoc.CardCode
dnDoc.Comments =
dnDoc.DocDate = Hoje
dnDoc.ContactPersonCode = soDoc.ContactPersonCode
dnDoc.DocCurrency = soDoc.DocCurrency
dnDoc.DocDueDate = Hoje
dnDoc.DocObjectCode = SAPbobsCOM.BoObjectTypes.oDeliveryNotes
dnDoc.Lines.SetCurrentLine(0)
dnDoc.Lines.ItemCode = soDoc.Lines.ItemCode
dnDoc.Lines.Quantity = soDoc.Lines.Quantity
dnDoc.Lines.WarehouseCode = soDoc.Lines.WarehouseCode
dnDoc.Lines.Add
End Try