Trato de crear una entrega de mercancias (ventas) por medio de DI API.
El problema es que el articulo tiene una lista de materiales y los articulos que estan dentro de ella estan gestionados por lotes.
Trato de ingresar el articulo de la lista de materiales y luego asigno los lotes de los articulos hijos (de la lista de materiales) pero me marca error que no he asignado bien.
-4014-Cannot add row without complete selection of batch/serial
Este es el codigo que uso para la asignacion de lotes sin lista de materiales, alguien tiene un codigo para asignar lotes con lista de materiales?
SAPbobsCOM.Documents oDelivery;
oDelivery = (Documents)oCompany.GetBusinessObject(BoObjectTypes.oDeliveryNotes);
oDelivery.DocObjectCode = SAPbobsCOM.BoObjectTypes.oDeliveryNotes;
oDelivery.DocType = SAPbobsCOM.BoDocumentTypes.dDocument_Items;
oDelivery.HandWritten = SAPbobsCOM.BoYesNoEnum.tNO;
int i = 0;
foreach (Lines linea in venta.Lines)
{
oDelivery.Lines.BaseEntry = venta.DocEntry;
oDelivery.Lines.BaseType = 17;
oDelivery.Lines.BaseLine = i;
oDelivery.Lines.UseBaseUnits = BoYesNoEnum.tYES;
linea.Batchlist = log.asignabatch(linea);**//busqueda de lotes de la lista de materiales**
if (linea.Batchlist != null)
{
if(linea.Batchlist[0].MaterialList)**//valida que sea una lista de materiales y no un articulo individual**
{
}
else
{
foreach (Batches batch in linea.Batchlist)**//ASIGNACION DE LOTES SIN LISTA DE MATERIALES**
{
oDelivery.Lines.BatchNumbers.Quantity = double.Parse(batch.Quantity);
oDelivery.Lines.BatchNumbers.BatchNumber = batch.Batch;
oDelivery.Lines.BatchNumbers.ItemCode = batch.ItemCode;
oDelivery.Lines.BatchNumbers.Add();
}
oDelivery.Lines.Add();
i++;
}
}
else
{
oDelivery.Lines.Add();
i++;
}
}
resp.CodigoError = oDelivery.Add();