Example #1
0
        public void GenerateDetails(ChileSystems.DTE.Engine.Documento.DTE dte, List <ItemBoleta> detalles)
        {
            //DOCUMENTO - DETALLES
            dte.Documento.Detalles = new List <ChileSystems.DTE.Engine.Documento.Detalle>();

            int contador = 1;

            foreach (var det in detalles)
            {
                var detalle = new ChileSystems.DTE.Engine.Documento.Detalle();
                detalle.NumeroLinea = contador;
                /*IndicadorExento = Sólo aplica si el producto es exento de IVA*/
                detalle.IndicadorExento = det.Afecto ? ChileSystems.DTE.Engine.Enum.IndicadorFacturacionExencion.IndicadorFacturacionExencionEnum.NotSet : ChileSystems.DTE.Engine.Enum.IndicadorFacturacionExencion.IndicadorFacturacionExencionEnum.NoAfectoOExento;

                detalle.Nombre   = det.Nombre;
                detalle.Cantidad = (double)det.Cantidad;
                detalle.Precio   = det.Precio;
                if (!string.IsNullOrEmpty(det.UnidadMedida))
                {
                    detalle.UnidadMedida = det.UnidadMedida;
                }
                /*Monto del item*/
                /*Recordar que debe restarse el descuento del detalle y sumarse el recargo*/
                detalle.MontoItem = det.Total;
                dte.Documento.Detalles.Add(detalle);
                contador++;
            }
            GenerateTotals(dte);
        }
Example #2
0
        public void GenerateDetails(ChileSystems.DTE.Engine.Documento.DTE dte)
        {
            //DOCUMENTO - DETALLES
            dte.Documento.Detalles = new List <ChileSystems.DTE.Engine.Documento.Detalle>();
            var detalle = new ChileSystems.DTE.Engine.Documento.Detalle();

            detalle.NumeroLinea = 1;
            /*IndicadorExento = Sólo aplica si el producto es exento de IVA*/
            //detalle.IndicadorExento = ChileSystems.DTE.Engine.Enum.IndicadorFacturacionExencion.IndicadorFacturacionExencionEnum.NoAfectoOExento;

            detalle.Nombre   = "SERVICIO DE FACTURACION ELECT";
            detalle.Cantidad = 12;
            detalle.Precio   = 170;
            /*Monto del item*/
            /*Recordar que debe restarse el descuento del detalle y sumarse el recargo*/
            detalle.MontoItem = 2040;
            dte.Documento.Detalles.Add(detalle);

            detalle             = new ChileSystems.DTE.Engine.Documento.Detalle();
            detalle.NumeroLinea = 2;
            //detalle.IndicadorExento = ChileSystems.DTE.Engine.Enum.IndicadorFacturacionExencion.IndicadorFacturacionExencionEnum.NoAfectoOExento;
            detalle.Nombre    = "DESARROLLO DE ETL";
            detalle.Cantidad  = 20;
            detalle.Precio    = 1050;
            detalle.MontoItem = 21000;
            dte.Documento.Detalles.Add(detalle);

            //DOCUMENTO - ENCABEZADO - TOTALES - CAMPOS OBLIGATORIOS

            GenerateTotals(dte);
        }
Example #3
0
        public ChileSystems.DTE.Engine.Documento.DTE GenerateRandomDTE(int folio, ChileSystems.DTE.Engine.Enum.TipoDTE.DTEType tipo)
        {
            // DOCUMENTO
            Random r   = new Random();
            var    dte = new ChileSystems.DTE.Engine.Documento.DTE();

            dte.Documento.Id = "TEST" + folio.ToString();
            dte.Documento.Encabezado.IdentificacionDTE.TipoDTE      = tipo;
            dte.Documento.Encabezado.IdentificacionDTE.FechaEmision = DateTime.Now;
            dte.Documento.Encabezado.IdentificacionDTE.Folio        = folio;
            dte.Documento.Encabezado.IdentificacionDTE.TipoDespacho = ChileSystems.DTE.Engine.Enum.TipoDespacho.TipoDespachoEnum.EmisorACliente;
            dte.Documento.Encabezado.IdentificacionDTE.TipoTraslado = ChileSystems.DTE.Engine.Enum.TipoTraslado.TipoTrasladoEnum.OperacionConstituyeVenta;

            //DOCUMENTO - ENCABEZADO - EMISOR - CAMPOS OBLIGATORIOS
            dte.Documento.Encabezado.Emisor.Rut         = handler.rutEmpresa;
            dte.Documento.Encabezado.Emisor.RazonSocial = "TRANSPORTE DISTRIBUCION Y COMERCIALIZACION DE PRODUCTOS D&V LIMITADA";
            dte.Documento.Encabezado.Emisor.Giro        = "VENTA AL POR MAYOR DE CONFITES";

            dte.Documento.Encabezado.Emisor.ActividadEconomica.Add(512250);
            dte.Documento.Encabezado.Emisor.ActividadEconomica.Add(519000);

            //DOCUMENTO - ENCABEZADO - EMISOR - SUCURSAL ORIGEN
            dte.Documento.Encabezado.Emisor.CodigoSucursal  = 0;
            dte.Documento.Encabezado.Emisor.DireccionOrigen = "TOESCA 2023";
            dte.Documento.Encabezado.Emisor.ComunaOrigen    = "SANTIAGO";
            dte.Documento.Encabezado.Emisor.CiudadOrigen    = "SANTIAGO";

            //DOCUMENTO - ENCABEZADO - RECEPTOR - CAMPOS OBLIGATORIOS

            dte.Documento.Encabezado.Receptor.Rut         = "66666666-6";
            dte.Documento.Encabezado.Receptor.RazonSocial = "Razon Social de Cliente";
            dte.Documento.Encabezado.Receptor.Giro        = "Giro de cliente";
            dte.Documento.Encabezado.Receptor.Direccion   = "Direccion de cliente";
            dte.Documento.Encabezado.Receptor.Comuna      = "Comuna de cliente";
            dte.Documento.Encabezado.Receptor.Ciudad      = "Ciudad";

            //DOCUMENTO - DETALLES
            dte.Documento.Detalles = new List <ChileSystems.DTE.Engine.Documento.Detalle>();
            int           max_detalles   = r.Next(1, 5);
            List <string> detallesRandom = new List <string>();

            detallesRandom.Add("SERVICIO DE FACTURACION ELECT");
            detallesRandom.Add("ASESORIA COMPUTACIONAL");
            detallesRandom.Add("CAPACITACION AL PERSONAL");
            detallesRandom.Add("IMPLEMENTACION DE ERP");
            detallesRandom.Add("SERVICIO DE LIMPIEZA");
            detallesRandom.Add("SERVICIO DE ASESORIA INFORMATICA");
            detallesRandom.Add("DESARROLLO DE SITIOS WEB");
            detallesRandom.Add("QA DE DESARROLLOS EXTERNOS");
            detallesRandom.Add("LIMPIEZA DE COMPUTADORES");
            detallesRandom.Add("AUTOMATIZACION DE DATOS");
            detallesRandom.Add("DESARROLLO DE ETL");

            for (int i = 1; i <= max_detalles; i++)
            {
                var detalle = new ChileSystems.DTE.Engine.Documento.Detalle();
                detalle.NumeroLinea     = i;
                detalle.IndicadorExento = ChileSystems.DTE.Engine.Enum.IndicadorFacturacionExencion.IndicadorFacturacionExencionEnum.NoAfectoOExento;
                detalle.Nombre          = detallesRandom[r.Next(0, detallesRandom.Count - 1)];
                detalle.Cantidad        = r.Next(1, 5);
                detalle.Precio          = r.Next(1, 150000);
                detalle.MontoItem       = (int)detalle.Cantidad * (int)detalle.Precio;
                dte.Documento.Detalles.Add(detalle);
            }

            //DOCUMENTO - ENCABEZADO - TOTALES - CAMPOS OBLIGATORIOS
            //dte.Documento.Encabezado.Totales.MontoNeto = 0;
            dte.Documento.Encabezado.Totales.MontoExento = dte.Documento.Detalles.Sum(x => x.MontoItem);
            //dte.Documento.Encabezado.Totales.TasaIVA = Convert.ToDouble(19);
            //dte.Documento.Encabezado.Totales.IVA = 0;
            dte.Documento.Encabezado.Totales.MontoTotal = dte.Documento.Detalles.Sum(x => x.MontoItem);

            return(dte);
        }