¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

Cómo crear una orden de compra en SAP Business One con DI API en C# .NET

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

Hola,

Estoy intentando crear una orden de compra con DI API en C# .NET, tengo un formulario con dos botones. Uno para conectarse al servidor y el otro para crear una orden de compra. Puedo conectarme exitosamente al servidor, pero cuando intento agregar una orden de compra, el código a continuación funciona como debería y devuelve el mensaje "Añadir orden de compra exitoso", sin embargo, no puedo ver la orden de compra en Business One. Actualmente estoy usando SAP Business One 9.1. También puedo crear un borrador de orden de venta exitosamente con un método similar, por lo que no tengo problemas para establecer conexión con la base de datos. ¿Puedes ayudarme a encontrar qué falta o mostrarme un método alternativo para crear una orden de compra?

if (!oCompany.InTransaction)

oCompany.StartTransaction();

else

MessageBox.Show("ERROR: La transacción está abierta.");

oPO = (SAPbobsCOM.Documents)oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oPurchaseOrders);

oPO.CardCode = "V10000";

oPO.DocDueDate = DateTime.Today;

oPO.DocDate = DateTime.Today;

oPO.Lines.ItemCode = "A00001";

oPO.Lines.Quantity = 10;

oPO.Lines.Add();

oPO.Lines.ItemCode = "A00002";

oPO.Lines.Quantity = 10;

ret = oPO.Add();

if (ret == 0)

{

MessageBox.Show("Orden de compra añadida exitosamente");

if (oCompany.InTransaction)

oCompany.EndTransaction(SAPbobsCOM.BoWfTransOpt.wf_RollBack);

else

throw new Exception("ERROR: ¡Transacción cerrada antes de EndTransaction!");

}

else

{

MessageBox.Show("Error al añadir orden de compra: " + oCompany.GetLastErrorDescription());

// No es necesario llamar a EndTransaction

}

Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

2 Respuestas

0
Cargando...

¡Muchas gracias Johan!

Estaba obteniendo ayuda del ejemplo del SDK y no presté mucha atención a esa parte.

Reemplacé " .wf_RollBack" con " .wf_Commit " y ahora funciona correctamente.

¡Gracias de nuevo!

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

Hola Atilla,

Mira tu código de nuevo por favor, al tener éxito debes confirmar la transacción. ¿Supongo que debería ser un commit?

Saludos,

Johan

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?