public EDEComunicacionBaja GenerarEstructuraComunicacionBaja(List <VentaBE> lstEFAECab, DateTime itemFecha) { objEDECompania = new EDECompania { CodigoAnexo = lstEFAECab.FirstOrDefault().c_codigo_anexo,//HARDCODE NombreComercial = lstEFAECab.FirstOrDefault().c_emisor_nombre_comercial, NombreLegal = lstEFAECab.FirstOrDefault().c_emisor_nombre_legal, NroDocumento = lstEFAECab.FirstOrDefault().c_emisor_numero_documento, TipoDocumento = lstEFAECab.FirstOrDefault().c_emisor_tipo_documento, //0 doc trib. no. dom. sin ruc //1 doc nacional de identidad //4 carnet de extranjeria //6 registro unico de contribuyente //7 pasaporte //A ced. diplomatica de identidad }; var documentoBaja = new EDEComunicacionBaja { IdDocumento = $"RA-{itemFecha:yyyyMMdd}-001", FechaEmision = itemFecha.ToString("yyyy-MM-dd"), FechaReferencia = itemFecha.AddDays(-1).ToString("yyyy-MM-dd"), Emisor = objEDECompania, Bajas = new List <EDEDocumentoBaja>() }; int indexCab = 1; string Serie = string.Empty; string Correlativo = string.Empty; foreach (var itemCabecera in lstEFAECab) { string[] ArrayNumeroComprobante = itemCabecera.c_id_documento.Split('-'); Serie = ArrayNumeroComprobante[0]; Correlativo = ArrayNumeroComprobante[1]; documentoBaja.Bajas.Add(new EDEDocumentoBaja { Id = indexCab, Correlativo = Correlativo, MotivoBaja = "Anulación por error en el documento", Serie = Serie, TipoDocumento = "01" //01 Factura //03 Boleta de Venta //07 Nota de credito //08 Nota de debito }); indexCab++; } return(documentoBaja); }
public EDEDocumentoElectronico GenerarEstructuraBoletaFactura(VentaBE objEFAECab) { objEDEDocumentoElectronico = new EDEDocumentoElectronico(); objEDEDocumentoElectronico.CodigoBienOServicio = string.Empty; //HARDCODE objEDEDocumentoElectronico.CodigoMedioPago = string.Empty; //HARDCODE objEDEDocumentoElectronico.CuentaBancoNacion = string.Empty; //HARDCODE objEDEDatoAdicional = new EDEDatoAdicional(); lstEDEDatoAdicional = new List <EDEDatoAdicional>(); objEDEDocumentoElectronico.DatoAdicionales = lstEDEDatoAdicional; objEDEDocumentoElectronico.DescuentoGlobal = 0;//HARDCODE objEDEDiscrepancia = new EDEDiscrepancia(); lstEDEDiscrepancia = new List <EDEDiscrepancia>(); objEDEDocumentoElectronico.Discrepancias = lstEDEDiscrepancia; objEDEDocumentoElectronico.DocAnticipo = string.Empty;//HARDCODE //Inicio rellenar datos de emisor objEDECompania = new EDECompania { CodigoAnexo = objEFAECab.c_codigo_anexo,//HARDCODE NombreComercial = objEFAECab.c_emisor_nombre_comercial, NombreLegal = objEFAECab.c_emisor_nombre_legal, NroDocumento = objEFAECab.c_emisor_numero_documento, TipoDocumento = objEFAECab.c_emisor_tipo_documento, //0 doc trib. no. dom. sin ruc //1 doc nacional de identidad //4 carnet de extranjeria //6 registro unico de contribuyente //7 pasaporte //A ced. diplomatica de identidad }; objEDEDocumentoElectronico.Emisor = objEDECompania; //Fin rellenar datos de emisor objEDEDocumentoElectronico.Exoneradas = 0; //HARDCODE objEDEDocumentoElectronico.FechaEmision = objEFAECab.c_fecha_emision; objEDEDocumentoElectronico.FechaVencimiento = string.Empty; //HARDCODE objEDEDocumentoElectronico.Gratuitas = objEFAECab.n_gratuitas; objEDEDocumentoElectronico.Gravadas = objEFAECab.n_gravadas; objEDEDocumentoElectronico.HoraEmision = DateTime.Now.ToString("HH:mm:ss");//HARDCODE objEDEDocumentoElectronico.IdDocumento = objEFAECab.c_id_documento; objEDEDocumentoElectronico.Inafectas = objEFAECab.n_inafectas; //Inicio Cargar detalle de venta listEDEDetalledocumento = new List <EDEDetalleDocumento>(); lstFAEDet = objEFAECab.loDetalle; foreach (VentaDetalleBE objFAEDet in lstFAEDet) { objEDEDetalledocumento = new EDEDetalleDocumento(); objEDEDetalledocumento.Cantidad = objFAEDet.n_cantidad; objEDEDetalledocumento.CodigoItem = objFAEDet.c_id_documento; objEDEDetalledocumento.CodigoProductoSunat = string.Empty;//HARDCODE objEDEDatoAdicional = new EDEDatoAdicional(); lstEDEDatoAdicional = new List <EDEDatoAdicional>(); objEDEDetalledocumento.DatosAdcionales = lstEDEDatoAdicional; objEDEDetalledocumento.Descripcion = objFAEDet.c_decripcion; objEDEDetalledocumento.Descuento = objFAEDet.n_descuento; objEDEDetalledocumento.Id = objFAEDet.n_id_detalle; objEDEDetalledocumento.Impuesto = objFAEDet.n_impuesto; objEDEDetalledocumento.ImpuestoSelectivo = objFAEDet.n_impuesto_selectivo; objEDEDetalledocumento.OtroImpuesto = objFAEDet.n_otro_impuesto; objEDEDetalledocumento.PlacaVehiculo = string.Empty;//HARCODE objEDEDetalledocumento.PrecioReferencial = objFAEDet.n_precio_referencial; objEDEDetalledocumento.PrecioUnitario = objFAEDet.n_precio_unitario; objEDEDetalledocumento.TasaImpuestoSelectivo = 0; //HARDCODE objEDEDetalledocumento.TipoImpuesto = objFAEDet.n_tipo_impuesto; //10 Gravado Operacion Onerosa //11 Gravado Retiro por Premio //12 Gravado Retiro por Donacion //13 Gravado Retiro //14 Gravado Retiro por publicidad //15 Gravado Bonificaciones //16 Gravado Retiro por entrega a trabaja //17 Gravado IVAP //20 Exonerado Operacion Onerosa //21 Exonerado Transferencia Gratuita //30 Inafecto Operacion Onerosa //31 Inafecto Retiro por Bonificacion //32 Inafecto Retiro //33 Inafecto Retiro por Muestras Medicas //34 Inafecto Retiro por Convenito Colectivo //35 Inafecto Retiro por Premio //36 Inafecto Retiro por Publicidad //40 Esportacion objEDEDetalledocumento.TipoPrecio = objFAEDet.c_tipo_precio; //01 Precio unitario (incluye el IGV) //02 Valor referencial unitario en operaciones no onerosas objEDEDetalledocumento.TotalVenta = objFAEDet.n_total_venta; objEDEDetalledocumento.UnidadMedida = objFAEDet.n_unidad_medida; //NIU //KG //ONZ //LTR listEDEDetalledocumento.Add(objEDEDetalledocumento); } objEDEDocumentoElectronico.Items = listEDEDetalledocumento; //Fin Cargar detalle de venta objEDELeyenda = new EDELeyenda(); lstEDELeyenda = new List <EDELeyenda>(); objEDEDocumentoElectronico.Leyendas = lstEDELeyenda; objEDEDocumentoElectronico.Moneda = objEFAECab.c_moneda; objEDEDocumentoElectronico.MonedaAnticipo = string.Empty; //HARDCODE objEDEDocumentoElectronico.MontoAnticipo = 0; //HARDCODE objEDEDocumentoElectronico.MontoDetraccion = objEFAECab.n_monto_detraccion; objEDEDocumentoElectronico.MontoEnLetras = objEFAECab.n_monto_letras; objEDEDocumentoElectronico.MontoPercepcion = objEFAECab.n_monto_percepcion; objEDEDocumentoRelacionado = new EDEDocumentoRelacionado(); lstEDEDocumentoRelacionado = new List <EDEDocumentoRelacionado>(); objEDEDocumentoElectronico.OtrosDocumentosRelacionados = lstEDEDocumentoRelacionado; //Inicio rellenar datos de receptor objEDECompania = new EDECompania { CodigoAnexo = string.Empty,//HARDCODE NombreComercial = objEFAECab.c_receptor_nombre_legal, NombreLegal = objEFAECab.c_receptor_nombre_legal, NroDocumento = objEFAECab.c_receptor_numero_documento, TipoDocumento = objEFAECab.c_receptor_tipo_documento, //0 doc trib. no. dom. sin ruc //1 doc nacional de identidad //4 carnet de extranjeria //6 registro unico de contribuyente //7 pasaporte //A ced. diplomatica de identidad }; objEDEDocumentoElectronico.Receptor = objEDECompania; //Fin rellenar datos de receptor objEDEDocumentoRelacionado = new EDEDocumentoRelacionado(); lstEDEDocumentoRelacionado = new List <EDEDocumentoRelacionado>(); objEDEDocumentoElectronico.Relacionados = lstEDEDocumentoRelacionado; objEDEDocumentoElectronico.TasaDetraccion = 0; //HARDCODE objEDEDocumentoElectronico.TipoDocAnticipo = string.Empty; //HARDCODE objEDEDocumentoElectronico.TipoDocumento = objEFAECab.c_tipo_documento; //01 Factura //03 Boleta de Venta //07 Nota de credito //08 Nota de debito objEDEDocumentoElectronico.TipoOperacion = objEFAECab.c_tipo_operacion; //HARDCODE objEDEDocumentoElectronico.TotalIgv = objEFAECab.n_total_igv; objEDEDocumentoElectronico.TotalIsc = objEFAECab.n_total_isc; objEDEDocumentoElectronico.TotalOtrosTributos = objEFAECab.n_total_otros_tributos; objEDEDocumentoElectronico.TotalVenta = objEFAECab.n_total_venta; objEDEDocumentoElectronico.RUC = objEFAECab.RUC; //"20512588868"; objEDEDocumentoElectronico.UsuarioSOL = objEFAECab.UsuarioSOL; //"MODDATOS"; objEDEDocumentoElectronico.ClaveSOL = objEFAECab.ClaveSOL; //"MODDATOS"; objEDEDocumentoElectronico.URLCertificado = objEFAECab.URLCertificado; //"MODDATOS"; objEDEDocumentoElectronico.ClaveDigital = objEFAECab.ClaveDigital; //"MODDATOS"; return(objEDEDocumentoElectronico); }