Facturas Con Lista De Materiales y Series DI API

Buenos días compañeros

Un gusto en saludarlos, tengo un inconveniente al momento de crear una factura por medio del DI API. El problema es que estoy enviando una lista de materiales en la cual los artículos que están en ella manejan serie. Al momento de crear la factura de venta me muestra el siguiente error: [No es posible añadir una línea sin la selección completa de los números de serie/lote].

Adjunto mi código fuente:

oFactura = Nothing
oFactura = oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oInvoices)

oFactura.CardCode = "Socio001"
oFactura.DocDate = "2018/04/26"
oFactura.DocDueDate = "2018/04/26"
oFactura.TaxDate = "2018/04/26"

 oFactura.Lines.ItemCode = "010381"

Codigo de la lista de materiales (adjunto imagen de la lista de materiales)

oFactura.Lines.Quantity = 1
oFactura.Lines.TaxCode = "EXE"

oFactura.Lines.SerialNumbers.ManufacturerSerialNumber = "Serie1"
oFactura.Lines.SerialNumbers.InternalSerialNumber = "Serie1"
oFactura.Lines.SerialNumbers.Quantity = 1
oFactura.Lines.SerialNumbers.add()
oFactura.Lines.SerialNumbers.ManufacturerSerialNumber = "Serie2"
oFactura.Lines.SerialNumbers.InternalSerialNumber = "Serie2"
oFactura.Lines.SerialNumbers.Quantity = 1
oFactura.Lines.SerialNumbers.add()
oFactura.Lines.SerialNumbers.ManufacturerSerialNumber = "Serie3"
oFactura.Lines.SerialNumbers.InternalSerialNumber = "Serie3"
oFactura.Lines.SerialNumbers.Quantity = 1


oFactura.add()

Alguien que me pudiera apoyar en indicarme mi error o si me falta lineas de código.

Muchas Gracias por el apoyo.

Saludos.

Por lo que puedo detectar así rápido, te hace falta un oFactura.Lines.SerialNumbers.add() antes del oFactura.add(). Porfa validalo y comenta. saludos

1 me gusta

Muchas gracias, voy a validar esa linea.

Hola Jose, he editado tu mensaje, por favor lee en Cómo usar el foro de Consultoria-SAP la parte relacionada con códigos y formatos, así puedes aprovechar mejor las características del sitio :+1:

1 me gusta

Muchas Gracias por el dato.

No sé mucho de este tema, pero cuando requiero realizar un movimiento que involucre lotes, DI API me solicita los siguientes parámetros (respecto a lote) por cada línea de artículo:

if (oDocuments.Lines.BatchNumbers.BatchNumber != string.Empty)
    oDocuments.Lines.BatchNumbers.Add();

oDocuments.Lines.BatchNumbers.SetCurrentLine(0);
oDocuments.Lines.BatchNumbers.BatchNumber = "Lote";
oDocuments.Lines.BatchNumbers.ManufacturerSerialNumber = "SysNumber";
oDocuments.Lines.BatchNumbers.Quantity = 12;

¿Has intentado además de asignar la serie, también definir el lote del producto?
Espero que te sea de utilidad, saludos cordiales.

1 me gusta

Gracias por el dato, probare agregando el setcurrentline

Buenas, yo estoy trabajando en algo similar pero con documentos preliminares, pero la forma de agregar los números de serie es igual yo uso un datagrid para colocar los números de serie ya que en ocasiones se agregan mas de 600 series

DocPreliminar.Lines.SetCurrentLine(0) '<----- Si vas a agregar mas de un producto con número de serie a la factura debes especificar la linea del articulo, pero yo uso esta linea porque estoy actualizando la informacion no creo que la necesites si estas agregando'
For x = 0 To dgvImei.Rows.Count - 2
                DocPreliminar.Lines.SerialNumbers.SetCurrentLine(x)
                DocPreliminar.Lines.SerialNumbers.ReceptionDate = DocPreliminar.DocDate
                DocPreliminar.Lines.SerialNumbers.InternalSerialNumber = dgvImei.Item(1, x).Value
                DocPreliminar.Lines.SerialNumbers.ManufacturerSerialNumber = dgvImei.Item(2, x).Value
                DocPreliminar.Lines.SerialNumbers.Add()

            Next x
Rest = DocPreliminar.Update() '<------- yo solo actualizo el documento con las series agregadas  ya que es un documento preliminar pero en tu caso usa el .add'

yo no uso el “.Lines.SerialNumbers.Quantity” porque me fije que se actualizaba según las series que iba agregando. Espero que te sirva.
Slds.

1 me gusta

Amigo la solución al problema que reporte fue crear
la factura mediante XML.

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