Si la linea de la factura viene de una Entrega (BaseType 15) los lotes se toman de la linea de la Entrega (BaseLine); si no, de la linea de la factura (LineNum). Se valida que los lotes cubran la cantidad y se devuelve un error claro por linea en vez del error generico de SAP. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
53 lines
2.0 KiB
C#
53 lines
2.0 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Text;
|
|
|
|
namespace Net.Business.Entities.ServicesLayer.Invoices
|
|
{
|
|
public class BE_Invoices
|
|
{
|
|
public DateTime DocDate { get; set; }
|
|
public DateTime DocDueDate { get; set; }
|
|
public string CardCode { get; set; }
|
|
public string CardName { get; set; }
|
|
public string DocCurrency { get; set; }
|
|
public string PaymentGroupCode { get; set; }
|
|
public string DocObjectCode { get; set; }
|
|
public int DocEntry { get; set; }
|
|
public string U_SYP_MDSD { get; set; }
|
|
public string U_SYP_MDCD { get; set; }
|
|
public string U_SYP_MDTD { get; set; }
|
|
public List<BE_InvoicesLine> DocumentLines { get; set; }
|
|
}
|
|
public class BE_InvoicesConsulta
|
|
{
|
|
public DateTime DocDate { get; set; }
|
|
public DateTime DocDueDate { get; set; }
|
|
public string CardCode { get; set; }
|
|
public string CardName { get; set; }
|
|
public string DocCurrency { get; set; }
|
|
public string PaymentGroupCode { get; set; }
|
|
public string DocObjectCode { get; set; }
|
|
public int DocEntry { get; set; }
|
|
public string DocumentStatus { get; set; }
|
|
public string U_SYP_MDSD { get; set; }
|
|
public string U_SYP_MDCD { get; set; }
|
|
public string U_SYP_MDTD { get; set; }
|
|
public List<BE_InvoicesConsultaLine> DocumentLines { get; set; }
|
|
}
|
|
|
|
// Linea de factura leida de SAP: agrega el documento origen (BaseType 15 = Entrega)
|
|
public class BE_InvoicesConsultaLine : BE_InvoicesLine
|
|
{
|
|
public int? BaseType { get; set; }
|
|
public int? BaseEntry { get; set; }
|
|
}
|
|
|
|
// Entrega (DeliveryNotes) leida de SAP, solo para obtener los lotes por linea
|
|
public class BE_DeliveryNotesConsulta
|
|
{
|
|
public int DocEntry { get; set; }
|
|
public List<BE_InvoicesConsultaLine> DocumentLines { get; set; }
|
|
}
|
|
}
|