예제 #1
0
        private XmlResult XmlForaResumenInternal(SummaryHeader header)
        {
            var res = _xmlGenerator.GenerarDocumentoSummary(header, true);

            return(new XmlResult
            {
                Success = res.Success,
                Description = res.Error,
                Path = res.FileName,
                Content = res.Content,
                Code = res.Success ? null : CodeStatus.ConErrores
            });
        }
        public void GenerateSummaryTest()
        {
            var summary = new SummaryHeader
            {
                TipoDocumentoIdentidadEmisor = TipoDocumentoIdentidad.RegistroUnicoContribuyentes,
                RucEmisor               = "20600995805",
                FechaEmision            = DateTime.Now.Date,
                NombreRazonSocialEmisor = "ABLIMATEX EXPORT SAC",
                NombreComercialEmisor   = "C-ABLIMATEX EXPORT SAC",
                CorrelativoArchivo      = "01",
                CodigoMoneda            = "PEN",
                DetallesDocumento       = new List <SummaryDetail>
                {
                    new SummaryDetail {
                        TipoDocumento         = TipoDocumentoElectronico.Boleta,
                        SerieDocumento        = "BA98",
                        NroCorrelativoInicial = "456",
                        NroCorrelativoFinal   = "764",
                        Total   = 100,
                        Importe = new List <TotalImporteType>
                        {
                            new TotalImporteType
                            {
                                TipoImporte = TipoValorVenta.Gravado,
                                Monto       = 98232.00M,
                            },
                            new TotalImporteType
                            {
                                TipoImporte = TipoValorVenta.Exonerado,
                                Monto       = 20,
                            },
                            new TotalImporteType
                            {
                                TipoImporte = TipoValorVenta.Inafecto,
                                Monto       = 232,
                            }
                        },
                        OtroImporte = new List <TotalImporteExtType>
                        {
                            new TotalImporteExtType
                            {
                                Indicador = true,
                                Monto     = 5,
                            }
                        },
                        Impuesto = new List <TotalImpuestosType>
                        {
                            new TotalImpuestosType
                            {
                                Monto       = 17681.76M,
                                TipoTributo = TipoTributo.IGV_VAT
                            },
                            new TotalImpuestosType
                            {
                                Monto       = 1200,
                                TipoTributo = TipoTributo.ISC_EXC
                            }
                        }
                    },
                    new SummaryDetail {
                        TipoDocumento         = TipoDocumentoElectronico.Boleta,
                        SerieDocumento        = "BC23",
                        NroCorrelativoInicial = "789",
                        NroCorrelativoFinal   = "932",
                        Total   = 200,
                        Importe = new List <TotalImporteType>
                        {
                            new TotalImporteType
                            {
                                TipoImporte = TipoValorVenta.Gravado,
                                Monto       = 78223,
                            },
                            new TotalImporteType
                            {
                                TipoImporte = TipoValorVenta.Exonerado,
                                Monto       = 24423,
                            },
                            new TotalImporteType
                            {
                                TipoImporte = TipoValorVenta.Inafecto,
                                Monto       = 45,
                            }
                        },
                        OtroImporte = new List <TotalImporteExtType>(),
                        Impuesto    = new List <TotalImpuestosType>
                        {
                            new TotalImpuestosType
                            {
                                Monto       = 14080.14M,
                                TipoTributo = TipoTributo.IGV_VAT
                            },
                            new TotalImpuestosType
                            {
                                Monto       = 0,
                                TipoTributo = TipoTributo.ISC_EXC
                            }
                        }
                    }
                }
            };

            var res = _generator.GenerarDocumentoSummary(summary);

            if (!res.Success)
            {
                Trace.WriteLine(res.Error);
            }

            Assert.IsTrue(res.Success);
            Assert.IsNotNull(res.Content);
            Assert.IsTrue(res.Content.Length > 0);

            File.WriteAllBytes("20600995805-RC-20171128-01.xml", res.Content);
        }