Files
itca_api_sap_wms/Net.Data/ServicesLayer/CreditNotes/CabeceraNotaCredito.cs
T

54 lines
2.4 KiB
C#

using Net.Business.Entities.ServicesLayer.CreditNotes;
using Net.Data.HelperData.Correlativo;
using System;
namespace Net.Data.ServicesLayer.CreditNotes
{
// Cabecera de la nota de credito (Picking DESPACHO, Picking PICKING estado 13 y Recibo Devolucion).
// Antes la serie, el correlativo y estos campos estaban copiados 3 veces.
public static class CabeceraNotaCredito
{
// Completa la cabecera de la NC con los datos del documento origen (la factura o, en Recibo sin factura,
// la solicitud de devolucion). Las lineas las arma cada llamador.
// tipoOrigen/serieOrigen/correlativoOrigen: U_SYP_MDTD / U_SYP_MDSD / U_SYP_MDCD del documento origen.
public static void Completar(BE_CreditNotesNotes nc, string docCurrency, string cardCode, string cardName, string paymentGroupCode,
string tipoOrigen, string serieOrigen, string correlativoOrigen, DateTime fechaOrigen, string motivo, string tipoMotivo)
{
// v2.1.7.0: la serie sale del TIPO del documento origen (03 = boleta -> BC10, otro -> FC10), no de su serie.
// En Recibo se comparaba la serie origen (p. ej. B005) con "03" y siempre salia FC10.
// Pendiente: validar con contabilidad la serie de boletas.
string serie = SerieNotaCredito(tipoOrigen);
// El correlativo sale de @SYP_NUMDOC (HelperCorrelativo)
string correlativo = HelperCorrelativo.Get(serie);
nc.DocCurrency = docCurrency;
nc.CardCode = cardCode;
nc.CardName = cardName;
nc.PaymentGroupCode = paymentGroupCode;
nc.DocDate = DateTime.Now;
nc.DocDueDate = DateTime.Now;
// Documento origen (el que se devuelve)
nc.U_SYP_MDTO = tipoOrigen;
nc.U_SYP_MDCO = correlativoOrigen;
nc.U_SYP_MDSO = serieOrigen;
nc.U_SYP_FECHAREF = fechaOrigen.ToString("yyyy-MM-dd");
nc.U_SYP_MOTNC = motivo;
nc.U_SYP_TPONC = tipoMotivo;
// La NC misma: tipo 07, con la serie y el correlativo elegidos arriba
nc.U_SYP_MDTD = "07";
nc.U_SYP_MDSD = serie;
nc.U_SYP_MDCD = correlativo;
nc.NumAtCard = "07-" + serie + "-" + correlativo;
}
public static string SerieNotaCredito(string tipoOrigen)
{
return tipoOrigen == "03" ? "BC10" : "FC10";
}
}
}