Example #1
0
        private static void ReemplarResumenImportesMonedaExtranjera(FeaEntidades.Turismo.lote_comprobantes lc)
        {
            if (!lc.comprobante[0].resumen.codigo_moneda.Equals("PES"))
            {
                lc.comprobante[0].resumen.importe_total_neto_gravado = lc.comprobante[0].resumen.importes_moneda_origen.importe_total_neto_gravado;

                lc.comprobante[0].resumen.importe_total_concepto_no_gravado = lc.comprobante[0].resumen.importes_moneda_origen.importe_total_concepto_no_gravado;
                lc.comprobante[0].resumen.importe_operaciones_exentas       = lc.comprobante[0].resumen.importes_moneda_origen.importe_operaciones_exentas;
                lc.comprobante[0].resumen.impuesto_liq     = lc.comprobante[0].resumen.importes_moneda_origen.impuesto_liq;
                lc.comprobante[0].resumen.impuesto_liq_rni = lc.comprobante[0].resumen.importes_moneda_origen.impuesto_liq_rni;
                lc.comprobante[0].resumen.importe_total_impuestos_municipales = lc.comprobante[0].resumen.importes_moneda_origen.importe_total_impuestos_municipales;
                lc.comprobante[0].resumen.importe_total_impuestos_nacionales  = lc.comprobante[0].resumen.importes_moneda_origen.importe_total_impuestos_nacionales;
                lc.comprobante[0].resumen.importe_total_ingresos_brutos       = lc.comprobante[0].resumen.importes_moneda_origen.importe_total_ingresos_brutos;
                lc.comprobante[0].resumen.importe_total_impuestos_internos    = lc.comprobante[0].resumen.importes_moneda_origen.importe_total_impuestos_internos;

                lc.comprobante[0].resumen.importe_total_factura = lc.comprobante[0].resumen.importes_moneda_origen.importe_total_factura;

                if (lc.comprobante[0].resumen.descuentos != null)
                {
                    for (int i = 0; i < lc.comprobante[0].resumen.descuentos.Length; i++)
                    {
                        if (lc.comprobante[0].resumen.descuentos[i] != null)
                        {
                            lc.comprobante[0].resumen.descuentos[i].importe_descuento     = lc.comprobante[0].resumen.descuentos[i].importe_descuento_moneda_origen;
                            lc.comprobante[0].resumen.descuentos[i].importe_iva_descuento = lc.comprobante[0].resumen.descuentos[i].importe_iva_descuento_moneda_origen;
                        }
                    }
                }
            }
        }
Example #2
0
        protected void Page_Load(object sender, EventArgs e)
        {
            var culture = System.Globalization.CultureInfo.CreateSpecificCulture("en-GB");

            culture.NumberFormat.CurrencySymbol = string.Empty;
            System.Threading.Thread.CurrentThread.CurrentCulture   = culture;
            System.Threading.Thread.CurrentThread.CurrentUICulture = culture;
            base.InitializeCulture();

            if (Session["lote"] == null)
            {
                Response.Redirect("~/Inicio.aspx");
            }
            else
            {
                try
                {
                    string lcomp = Server.MapPath("~/Facturacion/Electronica/Reportes/lote_comprobantesT.xsd");
                    System.IO.File.Copy(lcomp, @System.IO.Path.GetTempPath() + "lote_comprobantesT.xsd", true);

                    string imagen = Server.MapPath("~/Facturacion/Electronica/Reportes/Imagen.xsd");
                    System.IO.File.Copy(imagen, @System.IO.Path.GetTempPath() + "Imagen.xsd", true);

                    facturaRpt = new CrystalDecisions.CrystalReports.Engine.ReportDocument();
                    string reportPath = Server.MapPath("~/Facturacion/Electronica/Reportes/FacturaT.rpt");
                    facturaRpt.Load(reportPath);

                    FeaEntidades.Turismo.lote_comprobantes lc = (FeaEntidades.Turismo.lote_comprobantes)Session["lote"];
                    AsignarCamposOpcionales(lc);
                    ReemplarResumenImportesMonedaExtranjera(lc);
                    DataSet ds = new DataSet();

                    XmlSerializer objXS = new XmlSerializer(lc.GetType());
                    StringWriter  objSW = new StringWriter();
                    objXS.Serialize(objSW, lc);
                    StringReader objSR = new StringReader(objSW.ToString());
                    ds.ReadXml(objSR);

                    bool original = true;
                    try
                    {
                        original = (bool)Session["EsComprobanteOriginal"];
                        if (original == false)
                        {
                            facturaRpt.DataDefinition.FormulaFields["Borrador"].Text = "'BORRADOR'";
                        }
                    }
                    catch
                    {
                    }

                    facturaRpt.SetDataSource(ds);
                    facturaRpt.PrintOptions.PaperSize        = CrystalDecisions.Shared.PaperSize.PaperLetter;
                    facturaRpt.PrintOptions.PaperOrientation = CrystalDecisions.Shared.PaperOrientation.Portrait;

                    IncrustarLogo(lc.comprobante[0].cabecera.informacion_vendedor.cuit.ToString(), lc.comprobante[0].cabecera.informacion_comprobante.punto_de_venta.ToString());
                    string cae = lc.comprobante[0].cabecera.informacion_comprobante.cae;
                    if (cae.Replace(" ", string.Empty).Equals(string.Empty))
                    {
                        cae = "99999999999999";
                    }
                    GenerarCodigoBarras(lc.comprobante[0].cabecera.informacion_vendedor.cuit + lc.comprobante[0].cabecera.informacion_comprobante.tipo_de_comprobante.ToString("00") + lc.comprobante[0].cabecera.informacion_comprobante.punto_de_venta.ToString("0000") + cae + System.DateTime.Now.ToString("yyyyMMdd"));
                    AsignarParametros(lc.comprobante[0].resumen.importe_total_factura);

                    facturaRpt.Subreports["impuestos"].DataDefinition.FormulaFields["TipoDeComprobante"].Text = "'" + lc.comprobante[0].cabecera.informacion_comprobante.tipo_de_comprobante.ToString() + "'";
                    facturaRpt.Subreports["resumen"].DataDefinition.FormulaFields["TipoDeComprobante"].Text   = "'" + lc.comprobante[0].cabecera.informacion_comprobante.tipo_de_comprobante.ToString() + "'";

                    System.Text.StringBuilder sb = new System.Text.StringBuilder();
                    sb.Append(lc.comprobante[0].cabecera.informacion_vendedor.cuit);
                    sb.Append("-");
                    sb.Append(lc.comprobante[0].cabecera.informacion_comprobante.punto_de_venta.ToString("0000"));
                    sb.Append("-");
                    sb.Append(lc.comprobante[0].cabecera.informacion_comprobante.tipo_de_comprobante.ToString("00"));
                    sb.Append("-");
                    sb.Append(lc.comprobante[0].cabecera.informacion_comprobante.numero_comprobante.ToString("00000000"));
                    if (original == false)
                    {
                        sb.Append("-BORRADOR");
                    }

                    CrystalDecisions.Shared.ExportOptions           exportOpts = new CrystalDecisions.Shared.ExportOptions();
                    CrystalDecisions.Shared.PdfRtfWordFormatOptions pdfOpts    = CrystalDecisions.Shared.ExportOptions.CreatePdfRtfWordFormatOptions();
                    exportOpts.ExportFormatType    = CrystalDecisions.Shared.ExportFormatType.PortableDocFormat;
                    exportOpts.ExportFormatOptions = pdfOpts;
                    facturaRpt.ExportToHttpResponse(exportOpts, Response, true, sb.ToString());
                }
                catch (System.Threading.ThreadAbortException)
                {
                    Trace.Warn("Thread abortado");
                }
                catch (Exception ex)
                {
                    RN.Sesion.GrabarLogTexto(Server.MapPath("~/Consultar.txt"), "Reporte: " + ex.Message + " " + ex.StackTrace);
                    throw new Exception(ex.Message);
                    //WebForms.Excepciones.Redireccionar(ex, "~/Excepciones/Excepciones.aspx");
                }
            }
        }
Example #3
0
        private void AsignarCamposOpcionales(FeaEntidades.Turismo.lote_comprobantes lc)
        {
            if (lc.comprobante[0].cabecera.informacion_comprobante.condicion_de_pago == null)
            {
                lc.comprobante[0].cabecera.informacion_comprobante.condicion_de_pago = string.Empty;
            }
            if (lc.comprobante[0].cabecera.informacion_comprobante.fecha_vencimiento_cae == null)
            {
                lc.comprobante[0].cabecera.informacion_comprobante.fecha_vencimiento_cae = string.Empty;
            }
            lc.comprobante[0].cabecera.informacion_comprobante.condicion_de_pagoSpecified = true;
            if (lc.comprobante[0].cabecera.informacion_comprobante.codigo_conceptoSpecified == false)
            {
                lc.comprobante[0].cabecera.informacion_comprobante.codigo_conceptoSpecified = true;
            }

            lc.comprobante[0].cabecera.informacion_vendedor.condicion_ingresos_brutosSpecified = true;
            lc.comprobante[0].cabecera.informacion_vendedor.condicion_IVASpecified             = true;
            if (lc.comprobante[0].cabecera.informacion_vendedor.provincia == null)
            {
                lc.comprobante[0].cabecera.informacion_vendedor.provincia = string.Empty;
            }

            lc.comprobante[0].cabecera.informacion_comprador.condicion_ingresos_brutosSpecified = true;
            lc.comprobante[0].cabecera.informacion_comprador.condicion_IVASpecified             = true;
            if (lc.comprobante[0].cabecera.informacion_comprador.domicilio_calle == null)
            {
                lc.comprobante[0].cabecera.informacion_comprador.domicilio_calle = string.Empty;
            }
            if (lc.comprobante[0].cabecera.informacion_comprador.provincia == null)
            {
                lc.comprobante[0].cabecera.informacion_comprador.provincia = string.Empty;
            }

            lc.comprobante[0].resumen.cant_alicuotas_ivaSpecified = true;
            lc.comprobante[0].resumen.importe_total_impuestos_internosSpecified    = true;
            lc.comprobante[0].resumen.importe_total_impuestos_municipalesSpecified = true;
            lc.comprobante[0].resumen.importe_total_impuestos_nacionalesSpecified  = true;
            lc.comprobante[0].resumen.importe_total_ingresos_brutosSpecified       = true;
            if (lc.comprobante[0].resumen.descuentos != null)
            {
                for (int i = 0; i < lc.comprobante[0].resumen.descuentos.Length; i++)
                {
                    if (lc.comprobante[0].resumen.descuentos[i] != null)
                    {
                        if (lc.comprobante[0].resumen.descuentos[i].importe_iva_descuentoSpecified.Equals(false))
                        {
                            lc.comprobante[0].resumen.descuentos[i].importe_iva_descuentoSpecified = true;
                        }
                        if (lc.comprobante[0].resumen.descuentos[i].alicuota_iva_descuentoSpecified.Equals(false))
                        {
                            lc.comprobante[0].resumen.descuentos[i].alicuota_iva_descuentoSpecified = true;
                        }
                        if (lc.comprobante[0].resumen.descuentos[i].porcentaje_descuentoSpecified.Equals(false))
                        {
                            lc.comprobante[0].resumen.descuentos[i].porcentaje_descuentoSpecified = true;
                        }
                    }
                }
            }
            for (int i = 0; i < lc.comprobante[0].detalle.linea.Length; i++)
            {
                if (lc.comprobante[0].detalle.linea[i] != null)
                {
                    lc.comprobante[0].detalle.linea[i].precio_unitarioSpecified = true;
                    lc.comprobante[0].detalle.linea[i].importe_ivaSpecified     = true;
                    if (lc.comprobante[0].detalle.linea[i].alicuota_ivaSpecified.Equals(false))
                    {
                        lc.comprobante[0].detalle.linea[i].alicuota_ivaSpecified = true;
                        lc.comprobante[0].detalle.linea[i].alicuota_iva          = 99;
                    }
                    lc.comprobante[0].detalle.linea[i].cantidadSpecified = true;

                    if (lc.comprobante[0].detalle.linea[i].unidad == null)
                    {
                        lc.comprobante[0].detalle.linea[i].unidad = string.Empty;
                    }
                    if (lc.comprobante[0].detalle.linea[i].indicacion_exento_gravado == null)
                    {
                        lc.comprobante[0].detalle.linea[i].indicacion_exento_gravado = string.Empty;
                    }
                    if (lc.comprobante[0].detalle.linea[i].importes_moneda_origen != null)
                    {
                        lc.comprobante[0].detalle.linea[i].importes_moneda_origen.importe_ivaSpecified              = true;
                        lc.comprobante[0].detalle.linea[i].importes_moneda_origen.importe_total_articuloSpecified   = true;
                        lc.comprobante[0].detalle.linea[i].importes_moneda_origen.importe_total_descuentosSpecified = true;
                        lc.comprobante[0].detalle.linea[i].importes_moneda_origen.importe_total_impuestosSpecified  = true;
                        lc.comprobante[0].detalle.linea[i].importes_moneda_origen.precio_unitarioSpecified          = true;
                    }
                    if (lc.comprobante[0].detalle.linea[i].GTINSpecified.Equals(false))
                    {
                        lc.comprobante[0].detalle.linea[i].GTINSpecified = true;
                        lc.comprobante[0].detalle.linea[i].GTIN          = 0;
                    }
                }
                else
                {
                    break;
                }
            }
        }