DI API Crear Cotizaciones

Hola amigos,
Estuve trabajando en un desarrollo para Business One utilizando la DI API pero lastimosamente estaba utilizando el objeto equivocado para lo que necesitaba, cuando estoy ahora con el objeto correcto este me retorna el siguiente error:

“1250000107- RFC is missing; when creating a bussines partner for a domestic company, you must enter the RFC”

image

Alguien me puede guiar de que es lo que podría estar haciendo mal?

Muchas Gracias y Saludos.

Buenos dias Victor.
Lo que estas haciendo ahi es creando un Socio de negocios (NO UNA COTIZACION) por eso manda ese error…
Uno de los campos obligatorios en los socios de negocios es el.
RFC <- Interfaz de Usuario
LicTradNum <- Campo en SQL
FederalTaxID <- DI API
Saludos.

1 me gusta

Hola @DavidSDK Gracias por tu ayuda, en la DI API estoy utilizando el objeto oPurchaseQuotations, estaré usando el Objeto equivocado?

El código usado para la creación de Cotizaciones es este:

SAPbobsCOM.Documents Cotizacion = ocompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oPurchaseQuotations);
                    
Cotizacion.BPL_IDAssignedToInvoice = 1;
Cotizacion.CardCode = "HHH900002";
Cotizacion.DocDate = DateTime.Now;
Cotizacion.DocDueDate = DateTime.Now;
Cotizacion.TaxDate = DateTime.Now;
Cotizacion.RequriedDate = DateTime.Now;
Cotizacion.DocCurrency = "USD"; 

//Líneas
Cotizacion.Lines.ItemCode = "xxxxxx";
Cotizacion.Lines.Quantity = double.Parse("1");
Cotizacion.Lines.UnitPrice = double.Parse("200");
Cotizacion.Lines.Price = double.Parse("200");
Cotizacion.Comments = "Comentarios..";
//Crear cotización
iret = Cotizacion.Add();

Hay algo que podría estar haciendo mal?

El CardCode que estan usando existe?

3 Me gusta

Hola @juliancab te comento que revise los registros creados anteriormente en la tabla “OPQT” y encontré en la columna CardCode el código que estoy utilizando para replicar la creación pero esta vez desde la DI API, probé también utilizando otro CardCode pero el resultado siempre es el mismo.
Gracias por tu ayuda Julian!

Podrías poner la pantalla del Dato Maestro de ese BP?

Hola @Victor_Sergio , lo que comenta @juliancab es de acuerdo al error que nos compartes sin embargo si estas seguro que el cardCode existe intentemos otra cosa

El cada socio de negocios se debe determinar la moneda, veo que tu código que mandas este valor como parametro

Si la moneda de tu SN es distinta a USD (el parámetro que envías) SAP no encontrará dicho CardCode, lo que repercute en el error de origen, intenta enviando solo los parámetros mínimos requeridos, excluye currency

Saludos.

Hola de nuevo amigos, Gracias por toda la ayuda brindada, al final logre crear la cotización desde la DI API sin problemas agregando el campo FederalTaxID Gracias a todos!!!

//Codigo Utilizado por si alguien mas lo necesita

SAPbobsCOM.Documents Cotizacion = ocompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oPurchaseQuotations);
Cotizacion.BPL_IDAssignedToInvoice = 1;
Cotizacion.CardCode = "XXXX";
Cotizacion.FederalTaxID= "000000000000"; //Campo obtenido de los datos maestros comentado por juliancab este es el rfc
Cotizacion.DocDate = DateTime.Now;
Cotizacion.DocDueDate = DateTime.Now;
Cotizacion.TaxDate = DateTime.Now;
Cotizacion.RequriedDate = DateTime.Now;
Cotizacion.DocCurrency = "USD";

//Líneas
Cotizacion.Lines.SetCurrentLine(0);
Cotizacion.Lines.ItemCode = "B3080WP";
Cotizacion.Lines.RequiredQuantity = 1;
Cotizacion.Lines.Quantity = double.Parse("1");
Cotizacion.Lines.UnitPrice = double.Parse("200");
Cotizacion.Lines.Price = double.Parse("200"); 
Cotizacion.Lines.UseBaseUnits = BoYesNoEnum.tYES;

//Cotizacion.Lines.Add();
Cotizacion.Comments = "Comentarios..";
//Crear cotización 
iret = Cotizacion.Add();

Este tema se cerró automáticamente 7 días después del último post. No se permiten nuevas respuestas.