¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

Solución al error de SAP al copiar filas en DataGridView - Código y explicación detallada

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 16 Vistas
0
Cargando...

Hey, me estoy volviendo desesperado, he preguntado sobre esto antes sin respuesta, lo que significa que debe ser algo con mi código, así que aquí está mi código con la esperanza de que alguien pueda encontrar mi error.

Gracias por la ayuda...

Ok, aquí está la situación:

Traigo una orden de venta a un DataGridView.

Esto permite asignar números de serie de un UDT que creé para gestionar los números de serie hasta que estén listos para su liberación.

Asigno los números de serie.

Cuando se va a crear la entrega, recorro las filas del DGV y extraigo la fila asociada de la SO para aplicarla y el número de serie asociado en la entrega.

<b>El siguiente código funciona muy bien para copias 1-1.</b>

El problema surge cuando se elimina una fila desde SAP desde la SO o cuando el usuario elimina una fila del DGV que no desea copiar en la entrega.

Cuando se intenta esto, obtengo un error que dice:

"-10 :: [DLN1.WhsC ode][línea: 0]. 'Item'ACC-USB-LCD-MX233 ' con el sistema serial 2 no está en stock"

Lo raro es que no tengo ese artículo en ninguna parte de mi orden de venta o en la exportación XML del objeto de entrega.

Ni siquiera es el primer artículo en nuestra tabla de artículos.

Lo que hago es tomar las filas de la Orden de venta basadas en LineNum.

Si una fila no es necesaria, ignoro esa fila en la Orden de venta por su LineNum.

Me preguntaba si esto es un ERROR de SAP, pero no he visto a nadie más con este problema y no logro que SAP responda a mis Notas de Soporte.

Aquí está mi código:

<si se necesita más información, por favor avísenme, gracias>


 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 = "Basado en la Orden de Venta " & soDoc.DocNum & ". Para notas, consulte la Orden de Venta."
            dnDoc.DocDate = Hoy
            dnDoc.ContactPersonCode = soDoc.ContactPersonCode
            dnDoc.DocCurrency = soDoc.DocCurrency
            dnDoc.DocDueDate = Hoy
            dnDoc.DocObjectCode 
                
                
Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

1 Respuestas

0
Cargando...

La solución a este problema en caso de que alguien más se encuentre con él es la siguiente: Dentro del objeto Número de Serie bajo la Entrega, hay un campo baselineNumber que debe establecerse en la Entrega y no en la orden de venta.

dnDoc.Lines.SerialNumbers.BaseLineNumber = dnDoc.LineNum

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019

contacto@primeinstitute.com

(+51) 1641 9379
(+57) 1489 6964

© 2024 Copyright. Todos los derechos reservados.

Desarrollado por Prime Institute

¡Hola! Soy Diana, asesora académica de Prime Institute, indícame en que curso estas interesado, saludos!
Hola ¿Puedo ayudarte?