private bool ExportarPDF()
        {
            DataSet                    GenDS = new DataSet();
            ReportDocument             oRD   = new ReportDocument();
            ExportOptions              oExO;
            DiskFileDestinationOptions oExDo = new DiskFileDestinationOptions();

            admGuiaO.AgenciaOrigenID = AgenciaConectadaID;
            DsGuiaFacturaImpresion dataSrc = admGuiaO.GetDataSetImpresionAgenciaAgencia();

            Session["DatosGuia"] = dataSrc;

            try
            {
                //ds = (DsRendicionesAgencias) Session["dsRendicionAgencia"];

                string sNombrePDF = Server.MapPath(".") + "\\ReportesPDF\\Guia_" + this.admGuiaO.GuiaID + "_" + this.AgenciaConectadaID + ".pdf";

                //Load report
                oRD.Load(Server.MapPath("." + "/Reportes/GuiaImpresa.rpt"));

                //Set Report Datasource
                //BindGrilla();


                oRD.SetDataSource(dataSrc);


                //Export to PDF
                oExDo.DiskFileName = sNombrePDF;
                oExO = oRD.ExportOptions;
                //PrintOptions oExPrint = oRD.PrintOptions;
                //oExPrint.PaperSize = CrystalDecisions.Shared.PaperSize.PaperA4Small;
                //oExPrint.PrinterName = "\\" + "\\CQUIROGA\\HP DeskJet 810C";
                //oExPrint.PrinterName = "HP DeskJet 810C";

                oExO.ExportDestinationType = ExportDestinationType.DiskFile;


                oExO.ExportFormatType   = ExportFormatType.PortableDocFormat;
                oExO.DestinationOptions = oExDo;

                //oRD.PrintToPrinter(1,false,1,1);
                oRD.Export();

                oRD.Close();
                oRD.Dispose();

                return(true);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Exemple #2
0
 /// <summary>
 /// Procedimiento para cargar en memoria los datos básicos de la guía a imprimir
 /// </summary>
 private void ObtenerDatosBasicosGuia()
 {
     if (Session["DatosGuia"] != null)
     {
         DsGuiaFacturaImpresion ds = (DsGuiaFacturaImpresion)Session["DatosGuia"];
         // Obtengo los datos básicos de la guía
         foreach (DsGuiaFacturaImpresion.DatosRow dr in ds.Datos.Rows)
         {
             tipoGuia    = dr.IsTipoGuiaNull() ? "" : dr.TipoGuia;
             nroSucursal = dr.IsNroSucursalGuiaNull() ? "" : dr.NroSucursalGuia.ToString();
             nroGuia     = dr.IsNroGuiaNull() ? 0 : dr.NroGuia;
             cantidadTotalBultosDeLaGuia = dr.IsCantidadBultosTotalNull() ? 0 : dr.CantidadBultosTotal;
         }
     }
 }
        protected void btnImprimirCliente_Click1(object sender, EventArgs e)


        {
            DsAgencias dsa = new DsAgencias();
            IAgencia   ag  = AgenciaFactory.GetAgencia();

            ag.AgenciaID = AgenciaConectadaID;

            dsa = ag.GetAgenciasConsultaDataSet();
            string filtro = "AgenciaID =" + AgenciaConectadaID + "";


            DsAgencias.DatosRow[] drLista = (DsAgencias.DatosRow[])dsa.Datos.Select(filtro);

            DsGuiaFacturaImpresion dsFactura = (DsGuiaFacturaImpresion)Session["DatosGuia"];
            //DsEmisionMasiva.DatosDataTable ds = (DsEmisionMasiva.DatosDataTable)Session["dsEmisionMasiva"];
            string pagina = ObtienePaginaImpresion(drLista[0].TipoImpresionGuiaId);

            if (dsFactura.Datos.Count() > 0)
            {
                string script = "";
                System.Web.HttpBrowserCapabilities browser = Request.Browser;
                string name    = browser.Browser;
                float  version = (float)(browser.MajorVersion + browser.MinorVersion);
                if ((name == "IE" && (version == 8)))
                {
                    // script += "window.showModalDialog('" + pagina + "','Imprimiendo Factura...','Height: 934px;Width: 762px;edge: Raised; center: No; Status:No; help: No; resizable: No;');\n";
                    //   script += "		window.showModalDialog('"+pagina+"','','dialogHeight: 934px;dialogWidth: 762px;edge: Raised; center: No; Status:No; help: No; resizable: No;');";
                    script += "		window.open('"+ pagina + "','','Height: 934px;Width: 762px;edge: Raised; center: No; Status:No; help: No; resizable: No;');";
                    ScriptManager.RegisterClientScriptBlock(this.UpdatePanel1,
                                                            UpdatePanel1.GetType(),
                                                            "scriptOpen",
                                                            script,
                                                            true);
                }
                else
                {
                    // script += "window.open('" + pagina + "','Imprimiendo Factura...','left=400, top=100, height=500, width= 800, status=no, resizable=no, scrollbars=no, toolbar=yes,location= no, menubar=yes')";
                    script += "		window.open('"+ pagina + "','','Height: 934px;Width: 762px;edge: Raised; center: No; Status:No; help: No; resizable: No;');";
                    ScriptManager.RegisterClientScriptBlock(this.UpdatePanel1,
                                                            UpdatePanel1.GetType(),
                                                            "scriptOpen",
                                                            script,
                                                            true);
                }
            }
        }
        protected void btnReimprimeOK_Click(object sender, EventArgs e)
        {
            DsAgencias dsa = new DsAgencias();
            IAgencia   ag  = AgenciaFactory.GetAgencia();

            ag.AgenciaID = AgenciaConectadaID;

            dsa = ag.GetAgenciasConsultaDataSet();
            string filtro = "AgenciaID =" + AgenciaConectadaID + "";


            DsAgencias.DatosRow[] drLista = (DsAgencias.DatosRow[])dsa.Datos.Select(filtro);

            DsGuiaFacturaImpresion dsFactura = (DsGuiaFacturaImpresion)Session["DatosGuia"];
            string pagina = ObtienePaginaImpresion(drLista[0].TipoImpresionGuiaId);

            if (dsFactura.Datos.Count() > 0)
            {
                string script = "";
                System.Web.HttpBrowserCapabilities browser = Request.Browser;
                string name    = browser.Browser;
                float  version = (float)(browser.MajorVersion + browser.MinorVersion);
                if ((name == "IE" && (version == 8)))
                {
                    script += "		window.open('"+ pagina + "','','Height: 934px;Width: 762px;edge: Raised; center: No; Status:No; help: No; resizable: No;');";
                    ScriptManager.RegisterClientScriptBlock(this.UpdatePanel1,
                                                            UpdatePanel1.GetType(),
                                                            "scriptOpen",
                                                            script,
                                                            true);
                }
                else
                {
                    script += "		window.open('"+ pagina + "','','Height: 934px;Width: 762px;edge: Raised; center: No; Status:No; help: No; resizable: No;');";
                    ScriptManager.RegisterClientScriptBlock(this.UpdatePanel1,
                                                            UpdatePanel1.GetType(),
                                                            "scriptOpen",
                                                            script,
                                                            true);
                }
            }
        }
        private bool ExportarPDF()
        {
            DataSet                    GenDS = new DataSet();
            ReportDocument             oRD   = new ReportDocument();
            ExportOptions              oExO;
            DiskFileDestinationOptions oExDo = new DiskFileDestinationOptions();

            DsGuiaFacturaImpresion dataSrc = guiaNueva.GetDataSetImpresion();

            try
            {
                string sNombrePDF = Server.MapPath(".") + "\\ReportesPDF\\Guia_" + this.guiaNueva.GuiaID + "_" + this.AgenciaConectadaID + ".pdf";

                //Load report
                oRD.Load(Server.MapPath("." + "/Reportes/GuiaImpresa.rpt"));

                oRD.SetDataSource(dataSrc);

                //Export to PDF
                oExDo.DiskFileName = sNombrePDF;
                oExO = oRD.ExportOptions;

                oExO.ExportDestinationType = ExportDestinationType.DiskFile;

                oExO.ExportFormatType   = ExportFormatType.PortableDocFormat;
                oExO.DestinationOptions = oExDo;

                oRD.Export();

                oRD.Close();
                oRD.Dispose();

                return(true);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Exemple #6
0
        public String RendirHojaRutas()
        {
            try
            {
                Int32 auxAgenciaID;
                if (Session["AgenciaConectadaID"] != null)
                {
                    if (Int32.TryParse(Session["AgenciaConectadaID"].ToString(), out auxAgenciaID) == false)
                    {
                        auxAgenciaID = 0;
                    }
                }
                else
                {
                    auxAgenciaID = 0;
                }

                Int32 auxUnidadNegocioID;
                if (Session["UnidadNegocioID"] != null)
                {
                    if (Int32.TryParse(Session["UnidadNegocioID"].ToString(), out auxUnidadNegocioID) == false)
                    {
                        auxUnidadNegocioID = 0;
                    }
                }
                else
                {
                    auxUnidadNegocioID = 0;
                }

                Int32 auxUsuarioID;
                if (Session["IntUsuarioConectadoID"] != null)
                {
                    if (Int32.TryParse(Session["IntUsuarioConectadoID"].ToString(), out auxUsuarioID) == false)
                    {
                        auxUsuarioID = 0;
                    }
                }
                else
                {
                    auxUsuarioID = 0;
                }

                Int32 guiaID = IoC.GetObjectDominio <IRendicionHojaRutaDominio>().GuardarRendicionHojaRuta(auxAgenciaID, auxUnidadNegocioID, auxUsuarioID);

                IAdministrarGuias admGuia = AdministrarGuiasFactory.GetAdministrarGuias();
                admGuia.GuiaID = guiaID;
                DsGuiaFacturaImpresion dataSrc = admGuia.GetDataSetImpresionByGuiaID();
                Session["DatosGuia"] = dataSrc;

                IAgencia agOrigen = AgenciaFactory.GetAgencia();
                agOrigen.AgenciaID = auxAgenciaID;
                agOrigen.ConsultarBasico();

                return(agOrigen.GetPaginaImpresion(agOrigen.TipoImpresionGuiaId, System.Configuration.ConfigurationManager.AppSettings["Implementacion"].ToString()));
            }
            catch (Exception ex)
            {
                if (ex is Utiles.Excepciones.DatosInvalidosException)
                {
                    HttpContext.Current.Response.StatusCode = 400;
                    HttpContext.Current.Response.Write(ex.Message);
                    Server.ClearError();

                    return("");
                }
                else
                {
                    throw;
                }
            }
        }
Exemple #7
0
        private bool EmitirUnidadLogistica()
        {
            int cantidad = 0;

            IGuiaUnidadLogistica guiaUnidad = GuiaUnidadLogisticaFactory.GetIGuiaUnidadLogistica();

            this.ObtenerNroGuia();
            ((IGuia)guiaUnidad).NumeroCAI       = this.numeroCAI;
            ((IGuia)guiaUnidad).TipoGuia        = this.tipoGuiaUnidadLogistica;
            ((IGuia)guiaUnidad).NroSucursalGuia = this.nroSucursalGuiaUnidadLogistica;
            ((IGuia)guiaUnidad).NroGuia         = this.nroGuiaUnidadLogistica;
            /**/
            ((IGuia)guiaUnidad).AgenciaOrigenID     = this.AgenciaConectadaID;
            ((IGuia)guiaUnidad).UnidadNegocioID     = this.UnidadNegocioID;
            ((IGuia)guiaUnidad).ClasificacionGuiaID = NegociosSisPackInterface.SisPack.ClasificacionGuia.UnidadLogistica;

            NegociosSisPack.ParametroUNegocio parametro = new NegociosSisPack.ParametroUNegocio();
            parametro.UnidadNegocioID = 1;
            parametro.Parametro       = NegociosSisPackInterface.SisPack.Parametro.AgenciaDeAdministracion;
            parametro.Consultar();

            ((IGuia)guiaUnidad).AgenciaDestinoID = Utiles.Validaciones.obtieneEntero(parametro.ValorString);

            foreach (var guiaUL in (List <IGuiaUnidadLogisticaDetalle>)Session["UnidadesAsigDev"])
            {
                cantidad = cantidad + guiaUL.Cantidad;
                guiaUnidad.GuiasUnidadesLogisticas.AddGuiaUnidadLogisticaDetalle(guiaUL);
            }

            ((IGuiaFactura)guiaUnidad).CantidadBultosTotal = cantidad;

            guiaUnidad.TipoOperacionUnidadLogistica = NegociosSisPackInterface.SisPack.TipoOperacionUnidadLogistica.Egreso;

            /**/
            guiaUnidad.EsPedidoDevolucion = true;
            ((IGuia)guiaUnidad).NoRegistrarEstadoEmitida = true;

            if (guiaUnidad.EmitirGuiaUnidadLogistica(null, this.usuario, false))  // validar stock cuando emite la guia asociada
            {
                //limpiarCarga();
                //dtgUnidades.DataSource = null;
                //dtgUnidades.DataBind();
                Session["UnidadesAsigDev"] = null;
                IAdministrarGuias admGuia = AdministrarGuiasFactory.GetAdministrarGuias();
                admGuia.GuiaID = ((NegociosSisPack.Guia)guiaUnidad).GuiaID;
                DsGuiaFacturaImpresion dataSrc = admGuia.GetDataSetImpresionByGuiaID();
                Session["DatosGuia"] = dataSrc;

                IAgencia agOrigen = AgenciaFactory.GetAgencia();
                agOrigen.AgenciaID = AgenciaConectadaID;
                agOrigen.ConsultarBasico();
                if (agOrigen.TipoImpresionGuiaId == 0)
                {
                    ((SisPacK.ErrorWeb) this.phErrores.Controls[0]).setMensaje("No se puede imprimir la guía de unidad de logistica generada. El tipo de impresión no está definido.");
                    return(false);
                }
                // Voy a imprimir siempre como Autoimpresor_EnBlanco porque es un comprobante interno.
                agOrigen.TipoImpresionGuiaId = (int)NegociosSisPackInterface.SisPack.TipoImpresionGuia.Autoimpresor_EnBlanco;
                txtPaginaImpresion.Value     = agOrigen.GetPaginaImpresion(agOrigen.TipoImpresionGuiaId, this.Implementacion);

                txtGuiaUnidadID.Value = ((NegociosSisPack.Guia)guiaUnidad).GuiaID.ToString();


                string pagina = agOrigen.GetPaginaImpresion(agOrigen.TipoImpresionGuiaId, this.Implementacion);

                string script = "window.showModalDialog('" + pagina +
                                "','Imprimiendo Guía de unidad logistica...','dialogHeight: 934px;dialogWidth: 762px;edge: Raised; center: No; Status:No; help: No; resizable: No;');";

                //Page.RegisterStartupScript("scriptImprimirGuiaUnidad", script);

                ScriptManager.RegisterClientScriptBlock(this.UpdatePanel2, UpdatePanel2.GetType(), "scriptImprimirGuiaUnidad", script, true);

                return(true);
            }
            else
            {
                return(false);
            }
        }
        private DsGuiaFacturaImpresion ToDsGuiaFacturaImpresion(int agenciaEmisoraComprobID, DsFacturaImpresion dsFac)
        {
            DsGuiaFacturaImpresion ds = new DsGuiaFacturaImpresion();

            DsGuiaFacturaImpresion.DatosRow dr = ds.Datos.NewDatosRow();

            foreach (DsFacturaImpresion.DatosRow drFac in dsFac.Datos.Rows)
            {
                dr.GuiaID                      = drFac.GuiaID;
                dr.TipoGuia                    = drFac.IsTipoGuiaNull() ? "" : drFac.TipoGuia;
                dr.NroSucursalGuia             = drFac.IsNroSucursalGuiaNull() ? "" : drFac.NroSucursalGuia;
                dr.NroGuia                     = drFac.IsNroGuiaNull() ? 0 : drFac.NroGuia;
                dr.CUITAgentePago              = drFac.IsNroCuitAgentePagoNull() ? "" : drFac.NroCuitAgentePago;
                dr.CondicionIvaAgentePago      = drFac.IsCondicionIvaAgentePagoNull() ? 0 : drFac.CondicionIvaAgentePago;
                dr.NombreAgenciaDestino        = drFac.IsNombreAgenciaDestinoNull() ? "" : drFac.NombreAgenciaDestino;
                dr.FechaEmision                = drFac.IsFechaEmisionNull() ? "" : drFac.FechaEmision;
                dr.NombrePersonaDestinatario   = drFac.IsNombreNull() ? "" : drFac.Nombre;
                dr.NombreEmpresaDestinatario   = drFac.IsNombreNull() ? "" : drFac.Nombre;
                dr.DireccionDestinatario       = drFac.IsDireccionNull() ? "" : drFac.Direccion;
                dr.LocalidadDestinatario       = drFac.IsLocalidadNull() ? "" : drFac.Localidad;
                dr.TelefonoDestinatario        = drFac.IsTelefonoNull() ? "" : drFac.Telefono;
                dr.NroCuitAgentePago           = drFac.IsNroCuitAgentePagoNull() ? "" : drFac.NroCuitAgentePago;
                dr.CantidadBultosTotal         = System.Convert.ToInt32(drFac.IsCantidadBultosTotalNull() ? 0 : drFac.CantidadBultosTotal);
                dr.VolumenTotal                = drFac.IsVolumenTotalNull() ? 0.00 : drFac.VolumenTotal;
                dr.ValorDeclaradoTotal         = drFac.ValorDeclaradoTotal;
                dr.ValorDeclaradoBulto         = drFac.IsValorDeclaradoBultoNull() ? 0.00 : drFac.ValorDeclaradoBulto;
                dr.PesoTotal                   = drFac.IsPesoTotalNull() ? 0.00 : drFac.PesoTotal;
                dr.ImporteFleteNacional        = drFac.IsImporteFleteNacionalNull() ? 0.00 : drFac.ImporteFleteNacional;
                dr.ImporteSeguro               = drFac.IsImporteSeguroNull() ? 0.00 : drFac.ImporteSeguro;
                dr.ImporteRetiro               = drFac.IsImporteRetiroNull() ? 0.00 : drFac.ImporteRetiro;
                dr.ImporteEntrega              = drFac.IsImporteEntregaNull() ? 0.00 : drFac.ImporteEntrega;
                dr.ImporteComisContraReembolso = drFac.IsImporteComisContraReembolsoNull() ? 0.00 : drFac.ImporteComisContraReembolso;
                dr.ImporteNetoTotal            = drFac.IsImporteNetoNull() ? "" : drFac.ImporteNeto;
                dr.IVAInscriptoTotal           = drFac.IsIVAInscriptoTotalNull() ? "" : drFac.IVAInscriptoTotal.ToString("#,###0.00");
                dr.ImporteTotalGuia            = drFac.IsImporteTotalNull() ? 0.00 : drFac.ImporteTotal;
                dr.EsContado                   = drFac.IsEsContadoNull() ? false : drFac.EsContado;
                dr.EsCtaCte                    = drFac.IsEsCtaCteNull() ? false : drFac.EsCtaCte;
                dr.FechaInicioActividades      = drFac.IsFechaInicioActividadesNull() ? new DateTime(1, 1, 1) : drFac.FechaInicioActividades;
                dr.NombreAgenciaOrigen         = drFac.IsNombreAgenciaOrigenNull() ? "" : drFac.NombreAgenciaOrigen;
                dr.DireccionAgenciaOrigen      = drFac.IsDireccionAgenciaDestinoNull() ? "" : drFac.DireccionAgenciaDestino;
                dr.TelefonoAgenciaOrigen       = drFac.IsTelefonoAgenciaDestinoNull() ? "" : drFac.TelefonoAgenciaDestino;
                dr.NumeroCAI                   = drFac.NumeroCAI;
                dr.Observaciones               = drFac.Observaciones;
                dr.FechaVencimientoCAI         = drFac.IsFechaVencimientoCAINull() ? new DateTime(1, 1, 1) : drFac.FechaVencimientoCAI;
                dr.TextoDorso                  = drFac.TextoDorso;
                dr.LocalidadAgenciaOrigen      = drFac.IsLocalidadAgenciaDestinoNull() ? "" : drFac.LocalidadAgenciaDestino;
                dr.ProvinciaAgenciaOrigen      = drFac.IsProvinciaAgenciaDestinoNull() ? "" : drFac.ProvinciaAgenciaDestino;
                dr.EmpresaFacturacionID        = drFac.IsEmpresaFacturacionIDNull() ? 0 : drFac.EmpresaFacturacionID;
                IAgencia datosAgencia = AgenciaFactory.GetAgencia();
                datosAgencia.AgenciaID = agenciaEmisoraComprobID; /* Agencia que emitió el comprobante */
                datosAgencia.Consultar();
                datosAgencia.Empresa.Consultar();
                dr.CUITEmpresa = datosAgencia.Empresa.NroCUIT;

                //dr.FacturaAsociada = "Guía Nº: " + Validaciones.obtieneEntero(txtNroSucursal.Text).ToString("0000") + "-" + Validaciones.obtieneEntero(txtNroGuia.Text).ToString("00000000") + "-" + ddlTipoGuia.SelectedValue;
                dr.EsFacturaRemito = true;
                dr.PesoTotal       = drFac.IsPesoTotalNull() ? 0 : drFac.PesoTotal;
                dr.PesoBulto       = 0;
                ds.Datos.AddDatosRow(dr);

                break;
            }
            // Devuelvo la conversión del dataset
            return(ds);
        }
        private void ImprimirGuiaBlanco()
        {
            DsGuiaFacturaImpresion ds = (DsGuiaFacturaImpresion)Session["DatosGuia"];
            int    cantCopias         = 1;
            string nombreArchivo      = "";
            //SFE. Codigo barras AFIP
            string  nombreArchivoCBAFIP          = "";
            Boolean EsReImpresion                = false;
            bool    esFacturaRemito              = false;
            Boolean EsFacturaConceptoFacturacion = false;

            // Obtengo el texto del dorso de la guía
            IGuiaDorso guiaDorso = GuiaDorsoFactory.GetGuiaDorso();

            guiaDorso.UnidadNegocioID = UnidadNegocioID;
            guiaDorso.Consultar();
            string textoDorso = guiaDorso.Texto;

            // SFE: Imprimir la leyenda "Guia Rendicion" y el Nro de Rendicion si es Guia de Rendicion
            //if (ds.Datos.Rows[0].IsEsFacturaConceptoFacturacionNull() == false && dr.EsFacturaConceptoFacturacion

            //if (|| (ds.Datos.Rows[0].IsNull("EsFacturaConceptoFacturacion") == false && Convert.ToBoolean( ds.Datos.Rows[0]["EsFacturaConceptoFacturacion"]
            Boolean _esFacturaConceptoFacturacion = false;

            try
            {
                _esFacturaConceptoFacturacion = Convert.ToBoolean(ds.Datos.Rows[0]["EsFacturaConceptoFacturacion"]);
            }
            catch
            {
                _esFacturaConceptoFacturacion = false;
            }

            bool   esGuiaRendicion  = false;
            string nroRendicionGuia = "";

            if (_esFacturaConceptoFacturacion == false)
            {
                IGuia guia = GuiaFactory.GetGuia();
                guia.GuiaID = ds.Datos[0].GuiaID;
                guia.ConsultarCompletoByGuiaID();
                if (guia.ClasificacionGuiaID == NegociosSisPackInterface.SisPack.ClasificacionGuia.Rendicion)
                {
                    esGuiaRendicion  = true;
                    nroRendicionGuia = guia.GetNroRendicionGuia();
                    if (nroRendicionGuia != "")
                    {
                        nroRendicionGuia = "Nro de Rendición: " + nroRendicionGuia;
                    }

                    ds.Datos[0].Observaciones = nroRendicionGuia;
                }
                // SFE: Imprimir la leyenda "Guia Rendicion" y el Nro de Rendicion si es Guia de Rendicion
            }

            // Cargo los comprobantes
            int ComprobanteActual = 1;

            foreach (DsGuiaFacturaImpresion.DatosRow dr in ds.Datos.Rows)
            {
                //// Reviso si se paso la cantidad de copias a imprimir o hay que obtenerlo de los parametros
                //if (Request.QueryString["CantCopias"] == "" || Request.QueryString["CantCopias"] == null)
                //{
                //    // No se paso la cantidad de copias a imprimir.
                //    // Obtengo de los parámetros generales cuántas copias del cuerpo se deben imprimir en la agencia origen

                //    /* VSA 01-09-2009 Permitir parametrizar la cantidad de copias a imprimir para la guía */
                //    // Reviso si se trata de una guía o factura
                //    if (dr.IsEsFacturaConceptoFacturacionNull() == false && dr.EsFacturaConceptoFacturacion)
                //    {
                //        // Se trata de una factura de un concepto de facturación
                //        IFactura factura = FacturaFactory.GetFactura();
                //        cantCopias = factura.GetCantCuerposImprFacturaRemito();
                //        factura = null;
                //        EsFacturaConceptoFacturacion = true;
                //    }
                //    else if (dr.IsEsFacturaRemitoNull() || dr.EsFacturaRemito == false)
                //    {
                //        // Se trata de una guía
                //        // Verifico si en el campo "CantidadCopiasImprimir" viene asignada la cantidad de copias, si es asi, es porque se llamo desde la Hoja de Ruta del Repartidor y se esta reimprimiendo una guia desde ese modulo
                //        // Si no se debe buscar en la base la cantidad de copias a imprimir.
                //        if (((DsGuiaFacturaImpresion.DatosRow)ds.Datos.Rows[0]).IsCantidadCopiasImprimirNull())
                //        {
                //            // Debo buscar en la base la cantidad de copias a imprimir.
                //            IGuia cantAImprGuia = GuiaFactory.GetGuia();
                //            cantAImprGuia.GuiaID = ((DsGuiaFacturaImpresion.DatosRow)ds.Datos.Rows[0]).GuiaID;
                //            cantAImprGuia.UnidadNegocioID = UnidadNegocioID;
                //            cantCopias = cantAImprGuia.GetCantCuerposImprGuia();
                //            cantAImprGuia = null;
                //        }
                //        else
                //        {
                //            //Viene asignada la cantidad de copias, se llamo desde la Hoja de Ruta del Repartidor y se esta reimprimiendo una guia desde ese modulo
                //            try
                //            {
                //                cantCopias = ((DsGuiaFacturaImpresion.DatosRow)ds.Datos.Rows[0]).CantidadCopiasImprimir;
                //            }
                //            catch { cantCopias = 1; }
                //        }

                //        esFacturaRemito = false;
                //    }
                //    else
                //    {
                //        // Se trata de una factura
                //        IFactura factura = FacturaFactory.GetFactura();
                //        cantCopias = factura.GetCantCuerposImprFacturaRemito();
                //        factura = null;
                //        esFacturaRemito = true;
                //    }
                //}
                //else
                //{
                // Si se paso la cantidad de copias a imprimir
                cantCopias    = 1;
                EsReImpresion = true;

                // Reviso si se trata de una guía o factura
                if (dr.IsEsFacturaRemitoNull() || dr.EsFacturaRemito == false)
                {
                    esFacturaRemito = false;
                }

                else if (dr.IsEsFacturaConceptoFacturacionNull() == false && dr.EsFacturaConceptoFacturacion)
                {
                    // Se trata de una factura de un concepto de facturación
                    EsFacturaConceptoFacturacion = true;
                }
                else
                {
                    esFacturaRemito = true;
                }

                if (dr.IsEsFacturaConceptoFacturacionNull() == false && dr.EsFacturaConceptoFacturacion)
                {
                    // Se trata de una factura de un concepto de facturación
                    EsFacturaConceptoFacturacion = true;
                }
                //}
                // Cargo las copias del comprobante que se esta procesando
                for (int i = 0; i < cantCopias; i++)
                {
                    System.Web.UI.Control impresion = Page.LoadControl("uc/ImprimirGuiaBlanco.ascx");
                    LlenarControl(dr, impresion, nombreArchivo);
                    // cargo el control de impresión...
                    impresion.ID = "ImpreBlanco" + i.ToString();

                    // Creo la imagen del CB
                    if (i == 0)
                    {
                        nombreArchivo = CrearImagenCB(((SisPacK.IGuiaImpresion)impresion).TipoGuia, ((SisPacK.IGuiaImpresion)impresion).NroSucursal, ((SisPacK.IGuiaImpresion)impresion).NroGuia);

                        // SFE: Codigo Barras AFIP
                        nombreArchivoCBAFIP = CrearImagenCBAFIP(((SisPacK.IGuiaImpresion)impresion).TipoGuia, ((SisPacK.IGuiaImpresion)impresion).NroSucursal, ((SisPacK.IGuiaImpresion)impresion).NumeroCAI, ((SisPacK.IGuiaImpresion)impresion).FechaVencimientoCAI);
                    }
                    // Termino de cargar los datos
                    ((SisPacK.IGuiaImpresion)impresion).RutaCodigoBarras = nombreArchivo + "-" + this.AgenciaConectadaID.ToString();

                    // SFE: Codigo Barras AFIP.
                    ((SisPacK.IGuiaImpresion)impresion).RutaCodigoBarrasAFIP = nombreArchivoCBAFIP + "-" + this.AgenciaConectadaID.ToString();

                    if (EsReImpresion == false)
                    {
                        ((SisPacK.IGuiaImpresion)impresion).DescripcionFormulario = ObtenerDescripcion(i + 1);
                        ((SisPacK.IGuiaImpresion)impresion).EsReimpresion         = false;
                    }
                    else
                    {
                        ((SisPacK.IGuiaImpresion)impresion).DescripcionFormulario = ObtenerDescripcion(3);
                        ((SisPacK.IGuiaImpresion)impresion).EsReimpresion         = true;
                    }
                    ((SisPacK.IGuiaImpresion)impresion).TextoDorso      = textoDorso;
                    ((SisPacK.IGuiaImpresion)impresion).EsGuiaRendicion = esGuiaRendicion;
                    ((SisPacK.IGuiaImpresion)impresion).EsFacturaRemito = esFacturaRemito;
                    ((SisPacK.IGuiaImpresion)impresion).EsFacturaConceptoFacturacion = EsFacturaConceptoFacturacion;
                    phImpresion.Controls.Add(impresion);

                    // hago un salto de página
                    LiteralControl lt = new LiteralControl("<br style='page-break-after: always'>");
                    // no hace salto de página para la última hoja...
                    if (i + 1 < cantCopias || ComprobanteActual < ds.Datos.Rows.Count)
                    {
                        phImpresion.Controls.Add(lt);
                    }
                }
                ComprobanteActual++;
            }
        }
        private string ExportarPDF(DsFacturaImpresion dsFac)
        {
            ReportDocument             oRD = new ReportDocument();
            ExportOptions              oExO;
            DiskFileDestinationOptions oExDo  = new DiskFileDestinationOptions();
            IGuiaPasajeACtaCte         oDatos = GuiaPasajeACtaCteFactory.GetGuiaPasajeACtaCte();
            string nombrePDf = string.Empty;

            foreach (DsFacturaImpresion.DatosRow drFac in dsFac.Datos.Rows)
            {
                try
                {
                    int GuiaID = Utiles.Validaciones.obtieneEntero(Session["GuiaID"].ToString());
                    nombrePDf = "NotaAutDebACtaCte_" + GuiaID + "_" + this.AgenciaConectadaID + ".pdf";

                    string sNombrePDF = Server.MapPath(".") + "/ReportesPDF/" + nombrePDf;
                    if (System.IO.File.Exists(sNombrePDF))
                    {
                        System.IO.File.Delete(sNombrePDF);
                    }

                    //Cargar plantilla
                    oRD.Load(Server.MapPath("." + "/Reportes/NotaAutDebACtaCte.rpt"));

                    DsGuiaFacturaImpresion          ds     = (DsGuiaFacturaImpresion)Session["DatosGuia"];
                    DsGuiaFacturaImpresion.DatosRow drComp = (DsGuiaFacturaImpresion.DatosRow)ds.Datos.Rows[0];
                    oRD.SetParameterValue("ClienteNombre", drFac.IsNombreEmpresaDestinatarioNull() ? (drFac.IsNombrePersonaDestinatarioNull() ? "" : drFac.NombrePersonaDestinatario) : drFac.NombreEmpresaDestinatario);
                    oRD.SetParameterValue("ClienteCodigo", drFac.IsCodigoDestinatarioNull() ? "0" : drFac.CodigoDestinatario);
                    oRD.SetParameterValue("NroGuia", drFac.NroSucursalGuia.ToString() + "-" + drFac.NroGuia.ToString());
                    oRD.SetParameterValue("ImporteGuia", drFac.IsImporteTotalNull() ? "0.00" : drFac.ImporteTotal.ToString());

                    /* VSA: Obtener los datos del pasaje para emitir la autorización. */
                    oDatos.GuiaID = GuiaID;
                    oDatos.Consultar();

                    oRD.SetParameterValue("PersonaSolicitante", oDatos.PersonaSolicitante);
                    oRD.SetParameterValue("Observaciones", oDatos.Observaciones.Equals("") ? "-" : oDatos.Observaciones);
                    //Exportar a PDF
                    oExDo.DiskFileName = sNombrePDF;
                    oExO = oRD.ExportOptions;
                    oExO.ExportDestinationType = ExportDestinationType.DiskFile;
                    oExO.ExportFormatType      = ExportFormatType.PortableDocFormat;
                    oExO.DestinationOptions    = oExDo;
                    oRD.Export();
                    oRD.Close();
                    oRD.Dispose();
                    return(nombrePDf);
                }
                catch (Exception ex)
                {
                    string mensaje = "Error al generar la nota para autorizar el débito a la cuenta corriente del cliente. " + ex.Message;

                    ((SisPacK.ErrorWeb) this.phErrores.Controls[0]).setMensaje(mensaje);
                    return("");
                }
                finally
                {
                    oRD.Close();
                    oRD.Dispose();
                }
            }
            return("");
        }
        private DsGuiaFacturaImpresion ToDsGuiaFacturaImpresion(DsFacturaImpresion dsFac)
        {
            DsGuiaFacturaImpresion ds = new DsGuiaFacturaImpresion();

            DsGuiaFacturaImpresion.DatosRow dr = ds.Datos.NewDatosRow();

            foreach (DsFacturaImpresion.DatosRow drFac in dsFac.Datos.Rows)
            {
                dr.GuiaID                      = drFac.GuiaID;
                dr.TipoGuia                    = drFac.IsTipoGuiaNull() ? "" : drFac.TipoGuia;
                dr.NroSucursalGuia             = drFac.IsNroSucursalGuiaNull() ? "" : drFac.NroSucursalGuia;
                dr.NroGuia                     = drFac.IsNroGuiaNull() ? 0 : drFac.NroGuia;
                dr.CUITAgentePago              = drFac.IsNroCuitAgentePagoNull() ? "" : drFac.NroCuitAgentePago;
                dr.CondicionIvaAgentePago      = drFac.IsCondicionIvaAgentePagoNull() ? 0 : drFac.CondicionIvaAgentePago;
                dr.NombreAgenciaDestino        = drFac.IsNombreAgenciaDestinoNull() ? "" : drFac.NombreAgenciaDestino;
                dr.FechaEmision                = drFac.IsFechaEmisionNull() ? "" : drFac.FechaEmision;
                dr.CodCliente                  = drFac.IsCodigoDestinatarioNull() ? "" : drFac.CodigoDestinatario;
                dr.NombrePersonaDestinatario   = drFac.IsNombreNull() ? "" : drFac.Nombre;
                dr.NombreEmpresaDestinatario   = drFac.IsNombreNull() ? "" : drFac.Nombre;
                dr.DireccionDestinatario       = drFac.IsDireccionNull() ? "" : drFac.Direccion;
                dr.LocalidadDestinatario       = drFac.IsLocalidadNull() ? "" : drFac.Localidad;
                dr.TelefonoDestinatario        = drFac.IsTelefonoNull() ? "" : drFac.Telefono;
                dr.NroCuitAgentePago           = drFac.IsNroCuitAgentePagoNull() ? "" : drFac.NroCuitAgentePago;
                dr.CantidadBultosTotal         = System.Convert.ToInt32(drFac.IsCantidadBultosTotalNull() ? 0 : drFac.CantidadBultosTotal);
                dr.VolumenTotal                = drFac.IsVolumenTotalNull() ? 0.00 : drFac.VolumenTotal;
                dr.ValorDeclaradoTotal         = drFac.ValorDeclaradoTotal;
                dr.ValorDeclaradoBulto         = drFac.IsValorDeclaradoBultoNull() ? 0.00 : drFac.ValorDeclaradoBulto;
                dr.PesoTotal                   = drFac.IsPesoTotalNull() ? 0.00 : drFac.PesoTotal;
                dr.ImporteFleteNacional        = drFac.IsImporteFleteNacionalNull() ? 0.00 : drFac.ImporteFleteNacional;
                dr.ImporteSeguro               = drFac.IsImporteSeguroNull() ? 0.00 : drFac.ImporteSeguro;
                dr.ImporteRetiro               = drFac.IsImporteRetiroNull() ? 0.00 : drFac.ImporteRetiro;
                dr.ImporteEntrega              = drFac.IsImporteEntregaNull() ? 0.00 : drFac.ImporteEntrega;
                dr.ImporteComisContraReembolso = drFac.IsImporteComisContraReembolsoNull() ? 0.00 : drFac.ImporteComisContraReembolso;
                dr.ImporteServicioAdicional    = drFac.IsImporteServicioAdicionalNull() ? 0.00 : drFac.ImporteServicioAdicional;
                dr.ImporteNetoTotal            = drFac.IsImporteNetoNull() ? "" : drFac.ImporteNeto;
                dr.IVAInscriptoTotal           = drFac.IsIVAInscriptoTotalNull() ? "" : drFac.IVAInscriptoTotal.ToString("#,###0.00");
                dr.ImporteTotalGuia            = drFac.IsImporteTotalNull() ? 0.00 : drFac.ImporteTotal;
                dr.EsContado                   = drFac.IsEsContadoNull() ? false : drFac.EsContado;
                dr.EsCtaCte                    = drFac.IsEsCtaCteNull() ? false : drFac.EsCtaCte;
                dr.FechaInicioActividades      = drFac.IsFechaInicioActividadesNull() ? new DateTime(1, 1, 1) : drFac.FechaInicioActividades;
                dr.NombreAgenciaOrigen         = drFac.IsNombreAgenciaOrigenNull() ? "" : drFac.NombreAgenciaOrigen;
                dr.DireccionAgenciaOrigen      = drFac.IsDireccionAgenciaDestinoNull() ? "" : drFac.DireccionAgenciaDestino;
                dr.TelefonoAgenciaOrigen       = drFac.IsTelefonoAgenciaDestinoNull() ? "" : drFac.TelefonoAgenciaDestino;
                dr.NumeroCAI                   = drFac.NumeroCAI;
                dr.Observaciones               = drFac.Observaciones;
                dr.FechaVencimientoCAI         = drFac.IsFechaVencimientoCAINull() ? new DateTime(1, 1, 1) : drFac.FechaVencimientoCAI;
                dr.TextoDorso                  = drFac.TextoDorso;
                dr.LocalidadAgenciaOrigen      = drFac.IsLocalidadAgenciaDestinoNull() ? "" : drFac.LocalidadAgenciaDestino;
                dr.ProvinciaAgenciaOrigen      = drFac.IsProvinciaAgenciaDestinoNull() ? "" : drFac.ProvinciaAgenciaDestino;
                //Se agregó porque sino EmpresaFacturacionID era 0. FQuiroga 26/05/2015
                dr.EmpresaFacturacionID = drFac.IsEmpresaFacturacionIDNull() ? 0 : drFac.EmpresaFacturacionID;

                IAgencia datosAgencia = AgenciaFactory.GetAgencia();
                //datosAgencia.AgenciaID = AgenciaConectadaID;
                IGuia guia = GuiaFactory.GetGuia();
                guia.GuiaID = Utiles.Validaciones.obtieneEntero(Session["GuiaID"].ToString());
                guia.Consultar();
                datosAgencia.AgenciaID = guia.AgenciaDestinoID;

                datosAgencia.Consultar();
                datosAgencia.Empresa.Consultar();
                dr.CUITEmpresa = datosAgencia.Empresa.NroCUIT;

                dr.FacturaAsociada = "Guía Nº: " + Validaciones.obtieneEntero(guia.NroSucursalGuia).ToString("0000") + "-" + guia.NroGuia.ToString("00000000") + "-" + NegociosSisPackInterface.SisPack.CodigoTipoGuia.R;
                dr.EsFacturaRemito = true;
                dr.PesoTotal       = drFac.IsPesoTotalNull() ? 0 : drFac.PesoTotal;
                dr.PesoBulto       = 0;
                ds.Datos.AddDatosRow(dr);
                break;
            }
            // Devuelvo la conversión del dataset
            return(ds);
        }
Exemple #12
0
        /// <summary>
        /// Procedimiento para cargar los controles
        /// </summary>
        private void CargarControles()
        {
            // Seteamos el logo de la empresa según la agencia logueada.
            // Utilizamos la ruta del código de barras para extraer la agencia logueada.
            string[] rutaAgencia     = this.RutaCodigoBarras.Split('-');
            string   agenciaLogueada = rutaAgencia[1].ToString();

            this.RutaCodigoBarras = rutaAgencia[0].ToString();


            //SFE: Codigo Barras AFIP.
            string[] rutaAgenciaAFIP = this.RutaCodigoBarrasAFIP.Split('-');
            this.RutaCodigoBarrasAFIP = rutaAgenciaAFIP[0].ToString();
            // Obtenemos el logo según la agencia logueada.
            IAgencia agencia = AgenciaFactory.GetAgencia();

            agencia.AgenciaID = Convert.ToInt32(agenciaLogueada);
            agencia.Consultar();

            IEmpresa empresa = EmpresaFactory.GetEmpresa();

            empresa.EmpresaID = agencia.Empresa.EmpresaID;
            empresa.Consultar();

            this.imgLogoEmpresa.ImageUrl = "~/Archivos/LogosEmpresas/" + empresa.Logo;

            // Tipo de guía y número
            this.lblTipoGuia.Text   = this.TipoGuia;
            lblTipoComprobante.Text = "Comprobante Interno";

            this.lblNroGuia.Text = "Nº: " + this.NroSucursal + "-" + this.NroGuia + "-" + this.TipoGuia;

            if (EsReimpresion)
            {
                // Cargar la fecha de impresion de la factura.
                DsGuiaFacturaImpresion ds = (DsGuiaFacturaImpresion)Session["DatosGuia"];
                this.lblFecha.Text = ds.Datos.Rows[0].IsNull("FechaEmision") ? "" : ds.Datos.Rows[0]["FechaEmision"].ToString().Substring(0, 10);


                /*SFE: Imprimir el codigo de seguridad en la reimpresion de guia. Volver a calcularlo*/
                DateTime fechaEmision = DateTime.Now;
                fechaEmision = Convert.ToDateTime(ds.Datos.Rows[0]["FechaEmision"].ToString());
                /*Si la fecha de emision de la guia es mayor a la fecha de puesta en produccion imprimir el codigo de seguridad (porque fue generado con los mismos datos), sino no coincide.*/
                if (fechaEmision > new DateTime(2011, 09, 27))
                {
                    nroSeguridad = this.CalcularNroSeguridad(fechaEmision);
                }
            }
            else
            {
                // Fecha de emisión de la guía
                this.lblFecha.Text = DateTime.Today.ToShortDateString();
            }

            // Datos del remitente
            lblRemitente.Text          = NombreRemitente;
            lblDomicilioRemitente.Text = DireccionRemitente;
            lblLocalidadRemitente.Text = LocalidadRemitente;
            lblTelefonoRemitente.Text  = TelefonoRemitente;

            // Datos del destinatario
            if (NombreEmpresaDestinatario != "" && NombreEmpresaDestinatario != null)
            {
                lblDestinatario.Text = NombreEmpresaDestinatario;
            }
            else
            {
                lblDestinatario.Text = NombrePersonaDestinatario;
            }
            lblDomicilioDestinatario.Text = DireccionDestinatario;
            lblLocalidadDestinatario.Text = LocalidadDestinatario;
            lblTelefonoDestinatario.Text  = TelefonoDestinatario;
            // Observaciones
            this.lblObservaciones.Text      = this.Observaciones;
            this.lblObservaciones.Font.Bold = true;

            // Código de barra
            this.imgCB.ImageUrl = "~/CB/" + this.RutaCodigoBarras;

            lblCantidadBultos.Text = CantBultosTotal;
            lblPesoBulto.Text      = PesoTotal;
            if (Utiles.Validaciones.obtieneDouble(VolumenTotal) > 0)
            {
                lblDimensiones.Text = VolumenTotal + " m3";
            }
            else
            {
                lblEtiquetaDimensiones.Visible = false;
            }
            // Texto Es copia fiel
            lblEsCopiaFiel.Visible = true;

            if (this.CodCliente == null)
            {
                this.CodCliente = "";
            }

            lblEsCopiaFiel.Text = "COMPROBANTE NO VALIDO COMO FACTURA";
        }
        private void Page_Load(object sender, System.EventArgs e)
        {
            DsGuiaFacturaImpresion ds = (DsGuiaFacturaImpresion)Session["DatosGuia"];
            int     cantCopias        = 0;
            string  nombreArchivo     = "";
            Boolean EsReImpresion     = false;
            bool    esFacturaRemito   = false;

            // Reviso si se paso la cantidad de copias a imprimir o hay que obtenerlo de los parametros
            if (Request.QueryString["CantCopias"] == "" || Request.QueryString["CantCopias"] == null)
            {
                /* VSA 01-09-2009 Permitir parametrizar la cantidad de copias a imprimir para la guía */
                if (((DsGuiaFacturaImpresion.DatosRow)ds.Datos.Rows[0]).IsEsFacturaRemitoNull() || ((DsGuiaFacturaImpresion.DatosRow)ds.Datos.Rows[0]).EsFacturaRemito == false)
                {
                    // Se trata de una guía
                    IGuia cantAImprGuia = GuiaFactory.GetGuia();
                    cantAImprGuia.GuiaID          = ((DsGuiaFacturaImpresion.DatosRow)ds.Datos.Rows[0]).GuiaID;
                    cantAImprGuia.UnidadNegocioID = UnidadNegocioID;
                    cantCopias      = cantAImprGuia.GetCantCuerposImprGuia();
                    cantAImprGuia   = null;
                    esFacturaRemito = false;
                }
                else
                {
                    // Se trata de una factura
                    IFactura factura = FacturaFactory.GetFactura();
                    cantCopias      = factura.GetCantCuerposImprFacturaRemito();
                    factura         = null;
                    esFacturaRemito = true;
                }
            }
            else
            {
                // Si se paso la cantidad de copias a imprimir
                cantCopias    = Utiles.Validaciones.obtieneEntero(Request.QueryString["CantCopias"]);
                EsReImpresion = true;
            }

            // Obtengo el texto del dorso de la guía
            IGuiaDorso guiaDorso = GuiaDorsoFactory.GetGuiaDorso();

            guiaDorso.UnidadNegocioID = UnidadNegocioID;
            guiaDorso.Consultar();
            string textoDorso = guiaDorso.Texto;

            // Cargo las copias
            for (int i = 0; i < cantCopias; i++)
            {
                System.Web.UI.Control impresion = Page.LoadControl("uc/ImprimirGuiaPre.ascx");
                LlenarControl(ds, impresion, nombreArchivo);
                // cargo el control de impresión...
                impresion.ID = "ImpreBlanco" + i.ToString();

                // Creo la imagen del CB
                if (i == 0)
                {
                    nombreArchivo = CrearImagenCB(((IGuiaImpresion)impresion).TipoGuia, ((IGuiaImpresion)impresion).NroSucursal,
                                                  ((IGuiaImpresion)impresion).NroGuia);
                }
                // Termino de cargar los datos
                ((IGuiaImpresion)impresion).RutaCodigoBarras = nombreArchivo;
                if (EsReImpresion == false)
                {
                    ((IGuiaImpresion)impresion).DescripcionFormulario = ObtenerDescripcion(i + 1);
                    ((IGuiaImpresion)impresion).EsReimpresion         = false;
                }
                else
                {
                    ((IGuiaImpresion)impresion).DescripcionFormulario = ObtenerDescripcion(3);
                    ((IGuiaImpresion)impresion).EsReimpresion         = true;
                }
                ((IGuiaImpresion)impresion).TextoDorso      = textoDorso;
                ((IGuiaImpresion)impresion).EsFacturaRemito = esFacturaRemito;;
                phImpresion.Controls.Add(impresion);

                // hago un salto de página
                LiteralControl lt = new LiteralControl("<br style='page-break-after: always'>");
                // no hace salto de página para la última hoja...
                if (i + 1 < cantCopias)
                {
                    phImpresion.Controls.Add(lt);
                }
            }
        }
        protected void btnEmitir_Click(object sender, EventArgs e)
        {
            try
            {
                int cantidad = 0;
                if (Session["UnidadesAsig"] == null)
                {
                    ((ErrorWeb)(this.phErrores.Controls[0])).setMensaje("Debe agregar alguna unidad de logistica.");
                    return;
                }

                IGuiaUnidadLogistica guiaUnidad = GuiaUnidadLogisticaFactory.GetIGuiaUnidadLogistica();
                this.ObtenerNroGuia();
                ((IGuia)guiaUnidad).NumeroCAI       = this.numeroCAI;
                ((IGuia)guiaUnidad).TipoGuia        = this.tipoGuiaUnidadLogistica;
                ((IGuia)guiaUnidad).NroSucursalGuia = this.nroSucursalGuiaUnidadLogistica;
                ((IGuia)guiaUnidad).NroGuia         = this.nroGuiaUnidadLogistica;
                /**/
                ((IGuia)guiaUnidad).AgenciaOrigenID             = this.AgenciaConectadaID;
                ((IGuia)guiaUnidad).UnidadNegocioID             = this.UnidadNegocioID;
                ((IGuiaFactura)guiaUnidad).EmpresaFacturacionID = 1;
                ((IGuia)guiaUnidad).ClasificacionGuiaID         = NegociosSisPackInterface.SisPack.ClasificacionGuia.UnidadLogistica;
                if (GuiaOrigenDestinoUnidadLogistica1.AgenciaDestinoID.Value > 0)
                {
                    ((IGuia)guiaUnidad).AgenciaDestinoID = GuiaOrigenDestinoUnidadLogistica1.AgenciaDestinoID.Value;
                }
                else
                {
                    ((IGuia)guiaUnidad).PuntoRecepcionID = (-1) * GuiaOrigenDestinoUnidadLogistica1.AgenciaDestinoID.Value;
                }

                foreach (var guiaUL in (List <IGuiaUnidadLogisticaDetalle>)Session["UnidadesAsig"])
                {
                    cantidad = cantidad + guiaUL.Cantidad;
                    guiaUnidad.GuiasUnidadesLogisticas.AddGuiaUnidadLogisticaDetalle(guiaUL);
                }

                ((IGuiaFactura)guiaUnidad).CantidadBultosTotal = cantidad;

                guiaUnidad.TipoOperacionUnidadLogistica = NegociosSisPackInterface.SisPack.TipoOperacionUnidadLogistica.Ingreso;
                /**/
                if (guiaUnidad.EmitirGuiaUnidadLogistica(null, this.usuario, true))  // debe validar stock cuando emite la guia asociada
                {
                    //limpiarCarga();
                    //dtgUnidades.DataSource = null;
                    //dtgUnidades.DataBind();
                    Session["UnidadesAsig"] = null;
                    IAdministrarGuias admGuia = AdministrarGuiasFactory.GetAdministrarGuias();
                    admGuia.GuiaID = ((Guia)guiaUnidad).GuiaID;
                    DsGuiaFacturaImpresion dataSrc = admGuia.GetDataSetImpresionByGuiaID();
                    Session["DatosGuia"] = dataSrc;

                    IAgencia agOrigen = AgenciaFactory.GetAgencia();
                    agOrigen.AgenciaID = AgenciaConectadaID;
                    agOrigen.ConsultarBasico();
                    if (agOrigen.TipoImpresionGuiaId == 0)
                    {
                        ((ErrorWeb)this.phErrores.Controls[0]).setMensaje("No se puede imprimir la guía de unidad de logistica generada. El tipo de impresión no está definido.");
                        return;
                    }

                    // Voy a imprimir siempre como Autoimpresor_EnBlanco porque es un comprobante interno.
                    agOrigen.TipoImpresionGuiaId = (int)NegociosSisPackInterface.SisPack.TipoImpresionGuia.Autoimpresor_EnBlanco;

                    txtPaginaImpresion.Value = agOrigen.GetPaginaImpresion(agOrigen.TipoImpresionGuiaId, this.Implementacion);

                    txtGuiaUnidadID.Value = ((Guia)guiaUnidad).GuiaID.ToString();


                    //string pagina = agOrigen.GetPaginaImpresion(agOrigen.TipoImpresionGuiaId, this.Implementacion);

                    //string script = "<script language='javascript'>\n";
                    //script += "			window.showModalDialog('" + pagina +
                    //          "','Imprimiendo Guía de unidad logistica...','dialogHeight: 934px;dialogWidth: 762px;edge: Raised; center: No; Status:No; help: No; resizable: No;');";
                    //script += "		</script>\n";

                    //Page.RegisterStartupScript("scriptImprimirGuiaUnidad", script);

                    return;
                }
            }
            catch (Exception ex)
            {
                ((ErrorWeb)(this.phErrores.Controls[0])).setMensaje(TraducirTexto(ex.Message));
            }
        }
Exemple #15
0
        private void LlenarControl(DsGuiaFacturaImpresion ds, SisPacK.UC.ImprimirGuiaPreENB impresion, int numeroHojaAGenerar)
        {
            bool ultimoBultoCargado = false;
            // obtengo el valor de división para el calculo del peso aforado
            IParametroUNegocio param = ParametroUNegocioFactory.GetParametroUNegocio();

            param.UnidadNegocioID = this.UnidadNegocioID;
            param.Parametro       = NegociosSisPackInterface.SisPack.Parametro.ValorDivisionCalculoPesoAforado;
            param.Consultar();
            int valorDivisionCalculoPesoAforado = Utiles.Validaciones.obtieneEntero(param.ValorString);

            // da una sola vuelta por el bucle
            foreach (DsGuiaFacturaImpresion.DatosRow dr in ds.Datos.Rows)
            {
                // Tipo guía y número de guía
                impresion.TipoGuia = dr.IsTipoGuiaNull() ? "" : dr.TipoGuia;
                impresion.NroGuia  = (dr.IsNroSucursalGuiaNull() ? "" : dr.NroSucursalGuia.ToString()) + "-" + (dr.IsNroGuiaNull() ? "" : dr.NroGuia.ToString()) + "-" + (dr.IsTipoGuiaNull() ? "" : dr.TipoGuia);
                // Fecha de emisión
                impresion.FechaEmision = dr.IsFechaEmisionNull() ? "" : dr.FechaEmision;
                // Datos de la agencia emisora
                impresion.NombreAgenciaOrigen    = dr.IsNombreAgenciaOrigenNull() ? "" : dr.NombreAgenciaOrigen;
                impresion.DireccionAgenciaOrigen = dr.IsDireccionAgenciaOrigenNull() ? "" : dr.DireccionAgenciaOrigen;
                impresion.FechaInicioActividad   = dr.IsFechaInicioActividadesNull() ? "" : dr.FechaInicioActividades.ToString("dd/MM/yyyy");
                impresion.TelefonoAgenciaOrigen  = dr.IsTelefonoAgenciaOrigenNull() ? "" : dr.TelefonoAgenciaOrigen;
                impresion.LocalidadAgenciaOrigen = dr.IsLocalidadAgenciaOrigenNull() ? "" : dr.LocalidadAgenciaOrigen;
                // Datos del remitente
                impresion.NombreRemitente    = dr.IsNombreRemitenteNull() ? "" : dr.NombreRemitente;
                impresion.DireccionRemitente = dr.IsDireccionRemitenteNull() ? "" : dr.DireccionRemitente;
                impresion.LocalidadRemitente = dr.IsLocalidadRemitenteNull() ? "" : dr.LocalidadRemitente;
                impresion.ProvinciaRemitente = dr.IsProvinciaRemitenteNull() ? "" : dr.ProvinciaRemitente;
                impresion.TelefonoRemitente  = dr.IsTelefonoRemitenteNull() ? "" : dr.TelefonoRemitente;
                // Datos fiscales del agente de pago
                if (dr.IsCondicionIvaAgentePagoNull() == false)
                {
                    ICondicionIva condicionIVA = CondicionIvaFactory.GetCondicionIva();
                    condicionIVA.CondicionIvaID = dr.CondicionIvaAgentePago;
                    condicionIVA.Consultar();
                    impresion.CondicionIVAAgentePago = condicionIVA.CondicionIvaDescrip;
                }
                impresion.NroCUITAgentePago = dr.IsNroCuitAgentePagoNull() ? "" : dr.NroCuitAgentePago;
                // Forma de pago
                if (dr.IsEsContadoNull() == false && dr.EsContado)
                {
                    impresion.FormaDePago = "Contado";
                }
                else
                {
                    impresion.FormaDePago = "Cuenta Corriente";
                }
                // Datos del destinatario
                if (dr.IsNombreEmpresaDestinatarioNull() == false && dr.NombreEmpresaDestinatario != "")
                {
                    impresion.NombreDestinatario = dr.NombreEmpresaDestinatario;
                }
                else
                {
                    impresion.NombreDestinatario = dr.IsNombrePersonaDestinatarioNull() ? "" : dr.NombrePersonaDestinatario;
                }
                impresion.DireccionDestinatario = dr.IsDireccionDestinatarioNull() ? "" : dr.DireccionDestinatario;
                impresion.LocalidadDestinatario = dr.IsLocalidadDestinatarioNull() ? "" : dr.LocalidadDestinatario;
                impresion.ProvinciaDestinatario = dr.IsProvinciaDestinatarioNull() ? "" : dr.ProvinciaDestinatario;
                impresion.TelefonoDestinatario  = dr.IsTelefonoDestinatarioNull() ? "" : dr.TelefonoDestinatario;

                // Genero la primera parte del código de barra
                string auxCodigoBarra = "";
//				if (impresion.TipoGuia == "A")
//					auxCodigoBarra = "3";
//				else if (impresion.TipoGuia == "B")
//					auxCodigoBarra = "4";

                auxCodigoBarra  = NegociosSisPackInterface.SisPack.TipoGuia(impresion.TipoGuia.Trim());
                auxCodigoBarra += dr.IsNroSucursalGuiaNull() ? "" : dr.NroSucursalGuia;
                auxCodigoBarra += dr.IsNroGuiaNull() ? "" : dr.NroGuia.ToString("000000");
                // Cargo el detalle de la guía
                System.Collections.ArrayList detalleItems = new ArrayList();
                // Cargo los bultos
                for (int indiceBulto = 0; indiceBulto < SisPacK.UC.ImprimirGuiaPreENB.CantidadMaximaBultosPorHoja && ((numeroHojaAGenerar - 1) * SisPacK.UC.ImprimirGuiaPreENB.CantidadMaximaBultosPorHoja) + indiceBulto < cantidadTotalBultosDeLaGuia; indiceBulto++)
                {
                    SisPacK.UC.ImprimirGuiaPreENB_Item item = new SisPacK.UC.ImprimirGuiaPreENB_Item();
                    item.CodigoBarra = auxCodigoBarra
                                       + (((numeroHojaAGenerar - 1) * SisPacK.UC.ImprimirGuiaPreENB.CantidadMaximaBultosPorHoja) + indiceBulto + 1).ToString("000")
                                       + ".jpg";
                    // Reviso si es el último bulto
                    if (((numeroHojaAGenerar - 1) * SisPacK.UC.ImprimirGuiaPreENB.CantidadMaximaBultosPorHoja) + indiceBulto + 1 == cantidadTotalBultosDeLaGuia)
                    {
                        // Es el último bulto
                        item.Descripcion  = cantidadTotalBultosDeLaGuia.ToString() + " bultos";
                        item.PesoEfectivo = dr.IsPesoTotalNull() ? "" : dr.PesoTotal.ToString() + " Kgs";
                        if (dr.IsVolumenTotalNull() == false && dr.VolumenTotal > 0)
                        {
                            item.PesoAforado = (dr.VolumenTotal / valorDivisionCalculoPesoAforado).ToString();
                        }
                        else
                        {
                            item.PesoAforado = "";
                        }
                        //"Falta";
                        item.Importe       = dr.IsImporteFleteNacionalNull() ? "" : dr.ImporteFleteNacional.ToString("$ #,###0.00");
                        ultimoBultoCargado = true;
                    }
                    else
                    {
                        // No es el último bulto
                        item.Descripcion  = "";
                        item.PesoEfectivo = "";
                        item.PesoAforado  = "";
                        item.Importe      = "";
                    }
                    item.RepresentaUnBulto = true;
                    item.NumeroBulto       = ((numeroHojaAGenerar - 1) * SisPacK.UC.ImprimirGuiaPreENB.CantidadMaximaBultosPorHoja) + indiceBulto + 1;
                    detalleItems.Add(item);
                }
                // Reviso si se cargo el último bulto
                if (ultimoBultoCargado)
                {
                    // Si se cargo.
                    // Reviso si la guía tiene seguro
                    if (dr.IsImporteSeguroNull() == false && dr.ImporteSeguro > 0)
                    {
                        // La guía si tiene seguro. Lo cargo en el detalle
                        SisPacK.UC.ImprimirGuiaPreENB_Item item = new SisPacK.UC.ImprimirGuiaPreENB_Item();
                        item.Descripcion       = "Seguro";
                        item.Importe           = dr.ImporteSeguro.ToString("$ #,###0.00");
                        item.RepresentaUnBulto = false;
                        detalleItems.Add(item);
                    }
                    // Reviso si la guía tiene importe de retiro
                    if (dr.IsImporteRetiroNull() == false && dr.ImporteRetiro > 0)
                    {
                        // La guía si tiene importe de retiro. Lo Cargo en el detalle
                        SisPacK.UC.ImprimirGuiaPreENB_Item item = new SisPacK.UC.ImprimirGuiaPreENB_Item();
                        item.Descripcion       = "Retiro de domicilio";
                        item.Importe           = dr.ImporteRetiro.ToString("$ #,###0.00");
                        item.RepresentaUnBulto = false;
                        detalleItems.Add(item);
                    }
                    // Reviso si la guía tiene importe de entrega
                    if (dr.IsImporteEntregaNull() == false && dr.ImporteEntrega > 0)
                    {
                        // La guía si tiene importe de entrega. Lo Cargo en el detalle
                        SisPacK.UC.ImprimirGuiaPreENB_Item item = new SisPacK.UC.ImprimirGuiaPreENB_Item();
                        item.Descripcion       = "envio a domicilio";
                        item.Importe           = dr.ImporteEntrega.ToString("$ #,###0.00");
                        item.RepresentaUnBulto = false;
                        detalleItems.Add(item);
                    }
                    // Reviso si la guía tiene importe de comisión contra reembolso
                    // impresion.ImporteComisContraReembolso = dr.IsImporteComisContraReembolsoNull() ? "" : Utiles.Formatos.Importe(dr.ImporteComisContraReembolso);
                    if (dr.IsImporteComisContraReembolsoNull() == false && dr.ImporteComisContraReembolso > 0)
                    {
                        // La guía si tiene importe de comisión contra reembolso. Lo Cargo en el detalle
                        SisPacK.UC.ImprimirGuiaPreENB_Item item = new SisPacK.UC.ImprimirGuiaPreENB_Item();
                        item.Descripcion       = "Comision contrareembolso";
                        item.Importe           = dr.ImporteComisContraReembolso.ToString("$ #,###0.00");
                        item.RepresentaUnBulto = false;
                        detalleItems.Add(item);
                    }
                }
                // Cargo el detalle de items
                impresion.DetalleItems = detalleItems;
                // Totales
                if (ultimoBultoCargado)
                {
                    impresion.ImporteNetoTotal  = dr.IsImporteNetoTotalNull() ? "" : Utiles.Formatos.Importe(Utiles.Validaciones.obtieneDouble(dr.ImporteNetoTotal));
                    impresion.IvaInscriptoTotal = dr.IsIVAInscriptoTotalNull() ? "" : Utiles.Formatos.Importe(Utiles.Validaciones.obtieneDouble(dr.IVAInscriptoTotal));
                    impresion.ImporteTotalGuia  = dr.IsImporteTotalGuiaNull() ? "" : Utiles.Formatos.Importe(dr.ImporteTotalGuia);
                    impresion.ImprimirTotales   = true;
                }
                // Datos de autoimpresión
                impresion.NumeroCAI           = dr.IsNumeroCAINull() ? "" : dr.NumeroCAI;
                impresion.FechaVencimientoCAI = dr.IsFechaVencimientoCAINull() ? "" : dr.FechaVencimientoCAI.ToString("dd/MM/yyyy");
                impresion.CodigoAutoImpresor  = dr.IsNroEstablicimientoNull() ? "" : dr.NroEstablicimiento;
                // Valor asegurado por bulto
                impresion.ValorAseguradoPorBulto = dr.IsValorDeclaradoBultoNull() ? "" : dr.ValorDeclaradoBulto.ToString("$ #,###0.00");
                // Información varia
                IUsuarios usuario = (IUsuarios)Session["Usuario"];
                impresion.Cajero       = usuario.Login;
                impresion.TotalBultos  = cantidadTotalBultosDeLaGuia.ToString();
                impresion.NroSeguridad = nroSeguridad;
                break;
            }
        }
        protected void btnConsultar_Click(object sender, EventArgs e)
        {
            IAdministrarGuias admGuiaO = AdministrarGuiasFactory.GetAdministrarGuias();

            try
            {
                if (txtNroGuia.Text == "")
                {
                    throw new Exception("Falta ingresar Nro de Guia.");
                }
                //if (txtCantidad.Text == "")
                //{
                //    throw new Exception("Falta ingresar Cantidad de Impresiones");
                //}
                if (txtNroSucursal.Text == "")
                {
                    throw new Exception("Falta ingresar Nro de Sucursal");
                }
                if (ddlTipoGuia.SelectedValue == "")
                {
                    throw new Exception("Falta seleccionar tipo de guia");
                }

                //     cantidad = Convert.ToInt32(txtCantidad.Text);

                admGuiaO.NroGuia         = Convert.ToInt32(txtNroGuia.Text);
                admGuiaO.NroSucursalGuia = txtNroSucursal.Text;
                admGuiaO.TipoGuia        = ddlTipoGuia.SelectedValue;


                guia.NroGuia         = admGuiaO.NroGuia;
                guia.NroSucursalGuia = admGuiaO.NroSucursalGuia;
                guia.TipoGuia        = admGuiaO.TipoGuia;
                guia.ReImprimirCB();


                if (guia.GuiaID == 0 || guia.GuiaID == null)
                {
                    throw new Exception("Nro de Guia Inexistente");
                }
                else
                {
                    admGuiaO.GuiaID = guia.GuiaID;
                }
                try
                {
                    dataImpresion = admGuiaO.GetDataSetImpresionByGuiaID();
                }
                catch (Exception ex)
                {
                    throw new Exception(ex.Message);
                }
                origen  = dataImpresion.Datos.Rows[0][60].ToString();
                destino = dataImpresion.Datos.Rows[0]["LocalidadDestinatario"].ToString();


                NegociosSisPack.ImpresionCajon IC = new NegociosSisPack.ImpresionCajon();
                try
                {
                    Session["ImpresoraUsuario"].ToString();

                    string cb = (admGuiaO.TipoGuia == "R" ? "9" : (admGuiaO.TipoGuia == "A" ? "3" : "4")) + admGuiaO.NroSucursalGuia + admGuiaO.NroGuia.ToString();
                    try
                    {
                        for (int i = 1; i <= guia.CantidadBultosTotal; i++)
                        {
                            IC.Imprimir(admGuiaO.TipoGuia + " " + admGuiaO.NroSucursalGuia + admGuiaO.NroGuia.ToString().ToString(), i + "/" + guia.CantidadBultosTotal.ToString("000"), cb + i.ToString("000"), CINT("1", 1), Session["ImpresoraUsuario"].ToString(), origen, destino);
                        }
                    }
                    catch (Exception ex)
                    {
                        throw new Exception(ex.Message);
                    }
                }
                catch (Exception ex)
                {
                    ((ErrorWeb)(this.phErrores.Controls[0])).setMensaje(TraducirTexto("El usuario no tiene configurada una impresora."));
                }
            }
            catch (Exception ex)
            {
                ((ErrorWeb)(this.phErrores.Controls[0])).setMensaje(TraducirTexto(ex.Message));
            }
            Limpiar();
        }
Exemple #17
0
        private bool ExportarPDF()
        {
            DataSet                    GenDS = new DataSet();
            ReportDocument             oRD   = new ReportDocument();
            ExportOptions              oExO;
            DiskFileDestinationOptions oExDo = new DiskFileDestinationOptions();

            //DsRendicionesAgencias ds = (DsRendicionesAgencias)Session["dsRendicionAgencia"];
            //DsRendicionesAgencias.DatosGuiasDataTable dv= new DsRendicionesAgencias.DatosGuiasDataTable();
            IAdministrarGuias admGuiaO = AdministrarGuiasFactory.GetAdministrarGuias();

            admGuiaO.GuiaID           = ((IGuia)oGuiaRen).GuiaID;
            admGuiaO.AgenciaOrigenID  = this.AgenciaConectadaID;
            admGuiaO.AgenciaDestinoID = Convert.ToInt32(this.txtAgenciaDestino.Text);
            admGuiaO.NroGuia          = ((IGuia)oGuiaRen).NroGuia;
            admGuiaO.Observaciones    = this.txtObservaciones.Text;
            admGuiaO.UnidadNegocioID  = this.UnidadNegocioID;
            admGuiaO.NroSucursalGuia  = ((IGuia)oGuiaRen).NroSucursalGuia;
            //admGuiaO.fechaEmision = (DateTime.Now).ToString("dd/MM/yyyy");
            //admGuiaO.horaEmision = (DateTime.Now).ToString("HH:mm");
            admGuiaO.TipoGuia = this.txtTipoGuia.Text;

            admGuiaO.ClienteEventRemitente.Nombre      = this.txtNombre.Text;
            admGuiaO.ClienteEventRemitente.Apellido    = this.txtApellido.Text;
            admGuiaO.ClienteEventDestinatario.Nombre   = this.txtNombreDesti.Text;
            admGuiaO.ClienteEventDestinatario.Apellido = this.txtApellidoDesti.Text;


            DsGuiaFacturaImpresion dataSrc = admGuiaO.GetDataSetImpresionAgenciaAgencia();

            //Session["AdmGuia"] = admGuiaO; VER SI ESTO HACE FALTA

            try
            {
                //ds = (DsRendicionesAgencias) Session["dsRendicionAgencia"];

                string sNombrePDF = Server.MapPath(".") + "\\ReportesPDF\\Guia_" + admGuiaO.GuiaID + "_" + this.AgenciaConectadaID + ".pdf";

                //Load report
                oRD.Load(Server.MapPath("." + "/Reportes/GuiaImpresa.rpt"));

                //Set Report Datasource
                //BindGrilla();


                oRD.SetDataSource(dataSrc);


                //Export to PDF
                oExDo.DiskFileName = sNombrePDF;
                oExO = oRD.ExportOptions;
                //PrintOptions oExPrint = oRD.PrintOptions;
                //oExPrint.PaperSize = CrystalDecisions.Shared.PaperSize.PaperA4Small;
                //oExPrint.PrinterName = "\\" + "\\CQUIROGA\\HP DeskJet 810C";
                //oExPrint.PrinterName = "HP DeskJet 810C";

                oExO.ExportDestinationType = ExportDestinationType.DiskFile;


                oExO.ExportFormatType   = ExportFormatType.PortableDocFormat;
                oExO.DestinationOptions = oExDo;

                //oRD.PrintToPrinter(1,false,1,1);
                oRD.Export();

                oRD.Close();
                oRD.Dispose();

                return(true);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        protected void btnConsultar_Click(object sender, EventArgs e)
        {
            try
            {
                IAgencia ag = AgenciaFactory.GetAgencia();
                ag.AgenciaID = usuario.AgenciaID;
                ag.Consultar();

                int    NroDesde = Convert.ToInt32(txtFechaDesde.Text);
                int    NroHasta = Convert.ToInt32(txtFechaHasta.Text);
                string tipoguia = ddlTipoGuia.SelectedValue;

                int cantidad = NroHasta - NroDesde;


                if (cantidad >= 51 || cantidad < 0)
                {
                    throw new Exception("Solamente se permite un rango de 50 guías a imprimir .");
                }

                if (txtCantidad.Text == "")
                {
                    throw new Exception("Falta ingresar la cantidad de hojas a imprimir.");
                }

                if (txtFechaDesde.Text == "" && txtFechaHasta.Text == "")
                {
                    throw new Exception("Falta ingresar Rango");
                }

                if (txtFechaDesde.Text != "" && txtFechaHasta.Text == "")
                {
                    throw new Exception("Falta ingresar ");
                }

                if (txtFechaDesde.Text == "" && txtFechaHasta.Text != "")
                {
                    throw new Exception("Falta ingresar Rango");
                }

                string nrosucursal = ag.SucursalDGI.Trim();

                if (ddlEmpresa.SelectedValue == "Cargas")
                {
                    string SucursalFinal = ag.SucursalDGI.Trim().Substring(1, 3);
                    nrosucursal = 5 + SucursalFinal;
                    //5
                }
                else if (ddlEmpresa.SelectedValue == "Express")
                {
                    nrosucursal = ag.SucursalDGI.Trim();
                    //4
                }
                else
                {
                    nrosucursal = "";
                }
                IGuia    oGuia    = GuiaFactory.GetGuia();
                IFactura oFactura = FacturaFactory.GetFactura();
                DsGuias  ds       = new DsGuias();

                IAgencia agencia = null;

                ds = oGuia.GetGuiasByFecha(NroDesde, NroHasta, nrosucursal, tipoguia, usuario.AgenciaID);

                if (ds.Datos.Count == 0)
                {
                    throw new Exception("No existen guias en el rango ingresado");
                }

                if (ds.Datos.Count > 0)
                {
                    for (int i = 0; i < ds.Datos.Count(); i++)
                    {
                        DsGuias.DatosRow dr     = (DsGuias.DatosRow)ds.Datos.Rows[i];
                        string           guiaid = dr.GuiaID.ToString();

                        /* Traer datos de impresión. */
                        agencia           = AgenciaFactory.GetAgencia();
                        agencia.AgenciaID = dr.AgenciaOrigenID;
                        agencia.ConsultarBasico();
                        dr = null;

                        IAdministrarGuias oAdminGuia = AdministrarGuiasFactory.GetAdministrarGuias();
                        oAdminGuia.GuiaID = Convert.ToInt32(guiaid.Trim());
                        drGuia            = (DsGuiaFacturaImpresion.DatosRow)(oAdminGuia.GetDataSetImpresionByGuiaID()).Datos.Rows[0];

                        drGuia.CantidadCopiasImprimir = 1;
                        dsFacturaImpresion.Datos.ImportRow(drGuia);
                        oAdminGuia = null;


                        Session["DatosGuia"] = dsFacturaImpresion;
                        dsFacturaImpresion   = (DsGuiaFacturaImpresion)Session["DatosGuia"];
                    }
                }
                string paginaImpresion = agencia.GetPaginaImpresion(3, "Andesmar");

                if (paginaImpresion.Trim().Equals(""))
                {
                    throw new Exception("No se puede reimprimir la guía ingresada. La página de impresión no está definida.");
                }
                agencia = null;
                /*****************************/

                string scriptString = "<script language='javascript'>\n";
                scriptString += "		window.showModalDialog('"+ paginaImpresion + "?CantCopias=" + txtCantidad.Text + "','Reimprimiendo Guía...','dialogHeight: 934px;dialogWidth: 762px;edge: Raised; center: No; Status:No; help: No; resizable: No;');";
                scriptString += "		window.location.href = 'ReimprimirGuia.aspx';\n";
                scriptString += "	  </script>\n";

                Page.RegisterStartupScript("scriptImpresion", scriptString);

                oGuia              = null;
                oFactura           = null;
                dsFacturaImpresion = null;
                ds = null;
            }
            catch (Exception ex)
            {
                ((ErrorWeb)(this.phErrores.Controls[0])).setMensaje(TraducirTexto(ex.Message));
            }
        }
        private DsGuiaFacturaImpresion ToDsGuiaFacturaConceptoImpresion(DsFacturaImpresion dsFac)
        {
            DsGuiaFacturaImpresion ds = new DsGuiaFacturaImpresion();

            DsGuiaFacturaImpresion.DatosRow dr = ds.Datos.NewDatosRow();

            foreach (DsFacturaImpresion.DatosRow drFac in dsFac.Datos.Rows)
            {
                dr.GuiaID                      = drFac.IsGuiaIDNull() ? 0 : drFac.GuiaID;
                dr.TipoGuia                    = drFac.IsTipoGuiaNull() ? "" : drFac.TipoGuia;
                dr.NroSucursalGuia             = drFac.IsNroSucursalGuiaNull() ? "" : drFac.NroSucursalGuia;
                dr.NroGuia                     = drFac.IsNroGuiaNull() ? 0 : drFac.NroGuia;
                dr.CUITAgentePago              = drFac.IsNroCuitAgentePagoNull() ? "" : drFac.NroCuitAgentePago;
                dr.CondicionIvaAgentePago      = drFac.IsCondicionIvaAgentePagoNull() ? 0 : drFac.CondicionIvaAgentePago;
                dr.NombreAgenciaDestino        = drFac.IsNombreAgenciaDestinoNull() ? "" : drFac.NombreAgenciaDestino;
                dr.FechaEmision                = drFac.IsFechaEmisionNull() ? "" : drFac.FechaEmision;
                dr.CodCliente                  = drFac.IsCodigoDestinatarioNull() ? "" : drFac.CodigoDestinatario;
                dr.NombrePersonaDestinatario   = drFac.IsNombreNull() ? "" : drFac.Nombre;
                dr.NombreEmpresaDestinatario   = drFac.IsNombreNull() ? "" : drFac.Nombre;
                dr.DireccionDestinatario       = drFac.IsDireccionNull() ? "" : drFac.Direccion;
                dr.LocalidadDestinatario       = drFac.IsLocalidadNull() ? "" : drFac.Localidad;
                dr.TelefonoDestinatario        = drFac.IsTelefonoNull() ? "" : drFac.Telefono;
                dr.NroCuitAgentePago           = drFac.IsNroCuitAgentePagoNull() ? "" : drFac.NroCuitAgentePago;
                dr.CantidadBultosTotal         = System.Convert.ToInt32(drFac.IsCantidadBultosTotalNull() ? 0 : drFac.CantidadBultosTotal);
                dr.VolumenTotal                = drFac.IsVolumenTotalNull() ? 0.00 : drFac.VolumenTotal;
                dr.ValorDeclaradoTotal         = drFac.ValorDeclaradoTotal;
                dr.ValorDeclaradoBulto         = drFac.IsValorDeclaradoBultoNull() ? 0.00 : drFac.ValorDeclaradoBulto;
                dr.PesoTotal                   = drFac.IsPesoTotalNull() ? 0.00 : drFac.PesoTotal;
                dr.ImporteFleteNacional        = drFac.IsImporteFleteNacionalNull() ? 0.00 : drFac.ImporteFleteNacional;
                dr.ImporteSeguro               = drFac.IsImporteSeguroNull() ? 0.00 : drFac.ImporteSeguro;
                dr.ImporteRetiro               = drFac.IsImporteRetiroNull() ? 0.00 : drFac.ImporteRetiro;
                dr.ImporteEntrega              = drFac.IsImporteEntregaNull() ? 0.00 : drFac.ImporteEntrega;
                dr.ImporteComisContraReembolso = drFac.IsImporteComisContraReembolsoNull() ? 0.00 : drFac.ImporteComisContraReembolso;
                dr.ImporteServicioAdicional    = drFac.IsImporteServicioAdicionalNull() ? 0.00 : drFac.ImporteServicioAdicional;
                dr.TipoImpresionGuiaID         = drFac.IsTipoImpresionGuiaIDNull() ? 0 : drFac.TipoImpresionGuiaID;
                dr.ImporteNetoTotal            = drFac.IsImporteNetoNull() ? "" : drFac.ImporteNeto;
                dr.IVAInscriptoTotal           = drFac.IsIVAInscriptoTotalNull() ? "" : drFac.IVAInscriptoTotal.ToString("#,###0.00");
                dr.ImporteTotalGuia            = drFac.IsImporteTotalNull() ? 0.00 : drFac.ImporteTotal;
                dr.EsContado                   = drFac.IsEsContadoNull() ? false : drFac.EsContado;
                dr.EsCtaCte                    = drFac.IsEsCtaCteNull() ? false : drFac.EsCtaCte;
                dr.EsTarjeta                   = drFac.IsEsTarjetaNull() ? false : drFac.EsTarjeta;
                dr.EsPagoEnDestino             = drFac.IsEsPagoEnDestinoNull() ? false : drFac.EsPagoEnDestino;
                dr.FechaInicioActividades      = drFac.IsFechaInicioActividadesNull() ? new DateTime(1, 1, 1) : drFac.FechaInicioActividades;
                dr.NombreAgenciaOrigen         = drFac.IsNombreAgenciaOrigenNull() ? "" : drFac.NombreAgenciaOrigen;
                dr.DireccionAgenciaOrigen      = drFac.IsDireccionAgenciaDestinoNull() ? "" : drFac.DireccionAgenciaDestino;
                dr.TelefonoAgenciaOrigen       = drFac.IsTelefonoAgenciaDestinoNull() ? "" : drFac.TelefonoAgenciaDestino;
                dr.NumeroCAI                   = drFac.NumeroCAI;
                dr.Observaciones               = drFac.Observaciones;
                dr.FechaVencimientoCAI         = drFac.IsFechaVencimientoCAINull() ? new DateTime(1, 1, 1) : drFac.FechaVencimientoCAI;
                dr.TextoDorso                  = drFac.TextoDorso;
                dr.LocalidadAgenciaOrigen      = drFac.IsLocalidadAgenciaDestinoNull() ? "" : drFac.LocalidadAgenciaDestino;
                dr.ProvinciaAgenciaOrigen      = drFac.IsProvinciaAgenciaDestinoNull() ? "" : drFac.ProvinciaAgenciaDestino;
                dr.EmpresaFacturacionID        = drFac.IsEmpresaFacturacionIDNull() ? 0 : drFac.EmpresaFacturacionID;

                IAgencia datosAgencia = AgenciaFactory.GetAgencia();
                datosAgencia.AgenciaID = AgenciaConectadaID;
                datosAgencia.Consultar();
                datosAgencia.Empresa.Consultar();
                dr.CUITEmpresa     = datosAgencia.Empresa.NroCUIT;
                dr.FacturaAsociada = drFac.IsFacturaAsociadaNull() ? "" : drFac.FacturaAsociada;
                dr.EsFacturaRemito = false;
                dr.EsFacturaConceptoFacturacion = true;
                dr.PesoTotal = drFac.IsPesoTotalNull() ? 0 : drFac.PesoTotal;
                dr.PesoBulto = 0;
                try
                {
                    dr.NroEstablicimiento = drFac.NroEstablecimiento;
                }
                catch { }

                try
                {
                    dr.NroFacturaCliente = drFac.NroFacturaCliente;
                }
                catch { }
                try
                {
                    dr.NroRemitoCliente = drFac.NroRemitoCliente;
                }
                catch { }
                try
                {
                    dr.NroHojaRutaCliente = drFac.NroHojaRutaCliente;
                }
                catch { }

                ds.Datos.AddDatosRow(dr);
                break;
            }
            // Devuelvo la conversión del dataset
            return(ds);
        }
        protected void btnReimprimeOKCliente_Click1(object sender, EventArgs e)


        {
            string pagina = "";
            //  DsEmisionMasivaClienteFin.DatosDataTable dse = (DsEmisionMasivaClienteFin.DatosDataTable)Session["dsDatosRemiprimir"];
            DsEmisionMasivaClienteDLFin ds = (DsEmisionMasivaClienteDLFin)Session["dsDatosRemiprimir"];

            // foreach (DsEmisionMasivaClienteFin.DatosRow drr in dse)
            foreach (DsEmisionMasivaClienteDLFin.DatosRow drr in ds.Datos.Rows)
            {
                if (drr.Imprimir == true && drr.Emitida != "")
                {
                    int cant = drr.Emitida.Length;
                    // string Valo = "";
                    string cadena = Convert.ToString(drr.Emitida);
                    string tguia  = cadena.Substring(0, 1);
                    string nroSuc = cadena.Substring(2, 4);
                    int    numero = cant - 7;
                    string nro    = cadena.Substring(7, numero);

                    IGuia guia = GuiaFactory.GetGuia();
                    guia.TipoGuia        = tguia;
                    guia.NroSucursalGuia = nroSuc;
                    guia.NroGuia         = Convert.ToInt32(nro);
                    guia.ConsultarByNroGuia();

                    IAdministrarGuias oAdminGuia = AdministrarGuiasFactory.GetAdministrarGuias();
                    oAdminGuia.GuiaID = guia.GuiaID;
                    drGuia            = (DsGuiaFacturaImpresion.DatosRow)(oAdminGuia.GetDataSetImpresionByGuiaID()).Datos.Rows[0];

                    drGuia.CantidadCopiasImprimir = 1;
                    dsFacturaImpresion.Datos.ImportRow(drGuia);
                    oAdminGuia = null;


                    DsGuiaFacturaImpresion dataSrc = admGuiaO.GetDataSetImpresion();


                    // Seteo la página con la cual se van ha imprimir las facturas de entrega
                    IAgencia agOrigen = AgenciaFactory.GetAgencia();
                    agOrigen.AgenciaID = AgenciaConectadaID;
                    agOrigen.ConsultarBasico();
                    pagina   = ObtienePaginaImpresion(agOrigen.TipoImpresionGuiaId);
                    agOrigen = null;

                    Session["DatosGuia"] = dsFacturaImpresion;
                    dsFacturaImpresion   = (DsGuiaFacturaImpresion)Session["DatosGuia"];
                }
            }


            DsAgencias dsa = new DsAgencias();
            IAgencia   ag  = AgenciaFactory.GetAgencia();

            ag.AgenciaID = AgenciaConectadaID;

            dsa = ag.GetAgenciasConsultaDataSet();
            string filtro = "AgenciaID =" + AgenciaConectadaID + "";


            DsAgencias.DatosRow[] drLista = (DsAgencias.DatosRow[])dsa.Datos.Select(filtro);

            DsGuiaFacturaImpresion dsFactura = (DsGuiaFacturaImpresion)Session["DatosGuia"];

            //DsEmisionMasiva.DatosDataTable ds = (DsEmisionMasiva.DatosDataTable)Session["dsEmisionMasiva"];

            if (dsFactura.Datos.Count() > 0)
            {
                string script = "";
                System.Web.HttpBrowserCapabilities browser = Request.Browser;
                string name    = browser.Browser;
                float  version = (float)(browser.MajorVersion + browser.MinorVersion);
                if ((name == "IE" && (version == 8)))
                {
                    // script += "window.showModalDialog('" + pagina + "','Imprimiendo Factura...','Height: 934px;Width: 762px;edge: Raised; center: No; Status:No; help: No; resizable: No;');\n";
                    //   script += "		window.showModalDialog('"+pagina+"','','dialogHeight: 934px;dialogWidth: 762px;edge: Raised; center: No; Status:No; help: No; resizable: No;');";
                    script += "		window.open('"+ pagina + "','','Height: 934px;Width: 762px;edge: Raised; center: No; Status:No; help: No; resizable: No;');";
                    ScriptManager.RegisterClientScriptBlock(this.UpdatePanel1,
                                                            UpdatePanel1.GetType(),
                                                            "scriptOpen",
                                                            script,
                                                            true);
                }
                else
                {
                    // script += "window.open('" + pagina + "','Imprimiendo Factura...','left=400, top=100, height=500, width= 800, status=no, resizable=no, scrollbars=no, toolbar=yes,location= no, menubar=yes')";
                    script += "		window.open('"+ pagina + "','','Height: 934px;Width: 762px;edge: Raised; center: No; Status:No; help: No; resizable: No;');";
                    ScriptManager.RegisterClientScriptBlock(this.UpdatePanel1,
                                                            UpdatePanel1.GetType(),
                                                            "scriptOpen",
                                                            script,
                                                            true);
                }
            }
        }
Exemple #21
0
        private void Page_Load(object sender, System.EventArgs e)
        {
            DsGuiaFacturaImpresion ds = (DsGuiaFacturaImpresion)Session["DatosGuia"];

            // da una sola vuelta por el bucle
            foreach (DsGuiaFacturaImpresion.DatosRow dr in ds.Datos.Rows)
            {
                this.lblFecha.Text                  = DateTime.Now.ToShortDateString();
                this.lblHoraEmision.Text            = DateTime.Now.ToString("HH:mm");
                this.lblNombreEmpresaRemitente.Text = dr.IsNombreEmpresaRemitenteNull() ? "" : dr.NombreEmpresaRemitente;
                this.lblNombreRemitente.Text        = dr.IsNombreRemitenteNull() ? "" : dr.NombreRemitente;
                this.lblDireccionRemitente.Text     = dr.IsDireccionRemitenteNull() ? "" : dr.DireccionRemitente;
                this.lblLocalidadRemitente.Text     = dr.IsLocalidadRemitenteNull() ? "" : dr.LocalidadRemitente;
                this.lblProvinciaRemitente.Text     = dr.IsProvinciaRemitenteNull() ? "" : dr.ProvinciaRemitente;
                this.lblTelefonoRemitente.Text      = dr.IsTelefonoRemitenteNull() ? "" : dr.TelefonoRemitente;

                this.lblNombreEmpresaDestinatario.Text = dr.IsNombreEmpresaDestinatarioNull() ? "" : dr.NombreEmpresaDestinatario;
                this.lblNombrePersonaDestinatario.Text = dr.IsNombrePersonaDestinatarioNull() ? "" : dr.NombrePersonaDestinatario;
                this.lblDireccionDestinatario.Text     = dr.IsDireccionDestinatarioNull() ? "" : dr.DireccionDestinatario;
                this.lblLocalidadDestinatario.Text     = dr.IsLocalidadDestinatarioNull() ? "" : dr.LocalidadDestinatario;
                this.lblProvinciaDestinatario.Text     = dr.IsProvinciaDestinatarioNull() ? "" : dr.ProvinciaDestinatario;
                this.lblTelefonoDestinatario.Text      = dr.IsTelefonoDestinatarioNull() ? "" : dr.TelefonoDestinatario;

                this.lblTipoGuia.Text    = dr.IsTipoGuiaNull() ? "" : dr.TipoGuia;
                this.lblNroSucursal.Text = dr.IsNroSucursalGuiaNull() ? "" : dr.NroSucursalGuia.ToString();
                this.lblNroGuia.Text     = dr.IsNroGuiaNull() ? "" : dr.NroGuia.ToString();

                this.lblNombreAgenciaDestino.Text = dr.IsNombreAgenciaDestinoNull() ? "" : dr.NombreAgenciaDestino;

                this.lblImporteFleteNacional.Text = dr.IsImporteFleteNacionalNull() ? "" : Utiles.Formatos.Importe(dr.ImporteFleteNacional);
                this.lblImporteSeguro.Text        = dr.IsImporteSeguroNull() ? "" : Utiles.Formatos.Importe(dr.ImporteSeguro);         //Math.Round(dr.ImporteSeguro,2).ToString("0.00");
                this.lblImporteRetiro.Text        = dr.IsImporteRetiroNull() ? "" : Utiles.Formatos.Importe(dr.ImporteRetiro);
                this.lblEntrega.Text = dr.IsImporteEntregaNull() ? "" : Utiles.Formatos.Importe(dr.ImporteEntrega);
                this.lblImporteComisContraReembolso.Text = dr.IsImporteComisContraReembolsoNull() ? "" : Utiles.Formatos.Importe(dr.ImporteComisContraReembolso);
                this.lblImporteNetoTotal.Text            = dr.IsImporteNetoTotalNull() ? "" : Utiles.Formatos.Importe(Utiles.Validaciones.obtieneDouble(dr.ImporteNetoTotal));
                this.lblIVAInscriptoTotal.Text           = dr.IsIVAInscriptoTotalNull() ? "" : Utiles.Formatos.Importe(Utiles.Validaciones.obtieneDouble(dr.IVAInscriptoTotal));
                this.lblImporteRedondeoTotal.Text        = dr.IsImporteRedondeoTotalNull() ? "" : Utiles.Formatos.Importe(dr.ImporteRedondeoTotal);
                this.lblImporteTotalGuia.Text            = dr.IsImporteTotalGuiaNull() ? "" : Utiles.Formatos.Importe(dr.ImporteTotalGuia);

                this.lblCantBultosTotal.Text = dr.IsCantidadBultosTotalNull() ? "" : dr.CantidadBultosTotal.ToString();
                this.lblPesoTotal.Text       = dr.IsPesoTotalNull() ? "" : Utiles.Formatos.Importe(dr.PesoTotal);
                //this.lblPesoTotal.Text = dr.IsPesoBultoNull() ? "" : Utiles.Formatos.Importe(dr.PesoBulto);
                this.lblVolumenTotal.Text        = dr.IsVolumenTotalNull() ? "" : Utiles.Formatos.Importe(dr.VolumenTotal);
                this.lblValorDeclaradoTotal.Text = Utiles.Formatos.Importe(dr.ValorDeclaradoTotal);
                this.lblValorDeclaradoBulto.Text = dr.IsValorDeclaradoBultoNull() ? "" : Utiles.Formatos.Importe(dr.ValorDeclaradoBulto);
                this.lblObservaciones.Text       = dr.IsObservacionesNull() ? "" : dr.Observaciones;
                this.lblNroCUITAgentePago.Text   = dr.IsNroCuitAgentePagoNull() ? "" : dr.NroCuitAgentePago;

                this.lblComun.Text     = dr.IsEsServicioComunNull() ? "" : (dr.EsServicioComun ? "X" : "");
                this.lblExpreso.Text   = dr.IsEsServicioExpresoNull() ? "" : (dr.EsServicioExpreso ? "X" : "");
                this.lblAndesPack.Text = dr.IsEsAndespaqNull() ? "" : (dr.EsAndespaq ? "X" : "");
                this.lblBolsin.Text    = dr.IsEsBolsinNull() ? "" : (dr.EsBolsin ? "X" : "");

                this.lblRetiroDomicilio.Text  = dr.IsEsRetiroDomicilioNull() ? "" : (dr.EsRetiroDomicilio ? "X" : "");
                this.lblTerminal.Text         = dr.IsEsTerminalNull() ? "" : (dr.EsTerminal ? "X" : "");
                this.lblEntregaDomicilio.Text = dr.IsEsEntregaDomcilioNull() ? "" : (dr.EsEntregaDomcilio ? "X" : "");

                this.lblContado.Text         = dr.IsEsContadoNull() ? "" : (dr.EsContado ? "X" : "");
                this.lblCuentaCorriente.Text = dr.IsEsCtaCteNull() ? "" : (dr.EsCtaCte ? "X" : "");
                this.lblFleteAcobrar.Text    = dr.IsEsFleteCobrarNull() ? "" : (dr.EsFleteCobrar ? "X" : "");
                this.lblContraReembolso.Text = dr.IsEsContraReembolsoNull() ? "" : (dr.EsContraReembolso ? "X" : "");

                this.lblIVAResponsable.Text = dr.IsEsResponsableInscriptoNull() ? "" : (dr.EsResponsableInscripto ? "X" : "");
                this.lblIVANoInscripto.Text = dr.IsEsResponsableNoInscriptoNull() ? "" : (dr.EsResponsableNoInscripto ? "X" : "");
            }
        }
        private void LlenarControl(DsGuiaFacturaImpresion ds, Control impresion, string ruta)
        {
            // da una sola vuelta por el bucle
            foreach (DsGuiaFacturaImpresion.DatosRow dr in ds.Datos.Rows)
            {
                // Tipo guía y número de guía
                ((IGuiaImpresion)impresion).TipoGuia           = dr.IsTipoGuiaNull() ? "" : dr.TipoGuia;
                ((IGuiaImpresion)impresion).NroSucursal        = dr.IsNroSucursalGuiaNull() ? "" : dr.NroSucursalGuia.ToString();
                ((IGuiaImpresion)impresion).NroGuia            = dr.IsNroGuiaNull() ? "" : dr.NroGuia.ToString();
                ((IGuiaImpresion)impresion).NroEstablecimiento = dr.IsNroEstablicimientoNull() ? "" : dr.NroEstablicimiento.ToString();

                // Datos de la agencia emisora
                ((IGuiaImpresion)impresion).NombreAgenciaOrigen    = dr.IsNombreAgenciaOrigenNull() ? "" : dr.NombreAgenciaOrigen;
                ((IGuiaImpresion)impresion).DireccionAgenciaOrigen = dr.IsDireccionAgenciaOrigenNull() ? "" : dr.DireccionAgenciaOrigen;
                ((IGuiaImpresion)impresion).FechaInicioActividad   = dr.IsFechaInicioActividadesNull() ? "" : dr.FechaInicioActividades.ToString("dd/MM/yyyy");
                ((IGuiaImpresion)impresion).TelefonoAgenciaOrigen  = dr.IsTelefonoAgenciaOrigenNull() ? "" : dr.TelefonoAgenciaOrigen;

                // Datos del remitente
                ((IGuiaImpresion)impresion).NombreEmpresaRemitente = dr.IsNombreEmpresaRemitenteNull() ? "" : dr.NombreEmpresaRemitente;
                ((IGuiaImpresion)impresion).NombreRemitente        = dr.IsNombreRemitenteNull() ? "" : dr.NombreRemitente;
                ((IGuiaImpresion)impresion).DireccionRemitente     = dr.IsDireccionRemitenteNull() ? "" : dr.DireccionRemitente;
                ((IGuiaImpresion)impresion).LocalidadRemitente     = dr.IsLocalidadRemitenteNull() ? "" : dr.LocalidadRemitente;
                ((IGuiaImpresion)impresion).ProvinciaRemitente     = dr.IsProvinciaRemitenteNull() ? "" : dr.ProvinciaRemitente;
                ((IGuiaImpresion)impresion).TelefonoRemitente      = dr.IsTelefonoRemitenteNull() ? "" : dr.TelefonoRemitente;
                ((IGuiaImpresion)impresion).IvaResponsable         = dr.IsEsResponsableInscriptoNull() ? "" : (dr.EsResponsableInscripto ? "X" : "");
                ((IGuiaImpresion)impresion).IvaNoInscripto         = dr.IsEsResponsableNoInscriptoNull() ? "" : (dr.EsResponsableNoInscripto ? "X" : "");

                // Datos fiscales del agente de pago
                if (dr.IsCondicionIvaAgentePagoNull() == false)
                {
                    ICondicionIva condicionIVA = CondicionIvaFactory.GetCondicionIva();
                    condicionIVA.CondicionIvaID = dr.CondicionIvaAgentePago;
                    condicionIVA.Consultar();
                    ((IGuiaImpresion)impresion).CondicionIVAAgentePago = condicionIVA.CondicionIvaDescrip;
                }
                ((IGuiaImpresion)impresion).NroCUITAgentePago = dr.IsNroCuitAgentePagoNull() ? "" : dr.NroCuitAgentePago;

                // Datos Forma de pago
                ((IGuiaImpresion)impresion).Contado         = dr.IsEsContadoNull() ? "" : (dr.EsContado ? "X" : "");
                ((IGuiaImpresion)impresion).CuentaCorriente = dr.IsEsCtaCteNull() ? "" : (dr.EsCtaCte ? "X" : "");
                /*VSA y SFE Agregar forma de pago TarjCredDeb*/
                ((IGuiaImpresion)impresion).Tarjeta = dr.IsEsTarjetaNull() ? "" : (dr.EsTarjeta ? "X" : "");


                // Datos del destinatario
                ((IGuiaImpresion)impresion).NombreEmpresaDestinatario = dr.IsNombreEmpresaDestinatarioNull() ? "" : dr.NombreEmpresaDestinatario;
                ((IGuiaImpresion)impresion).NombrePersonaDestinatario = dr.IsNombrePersonaDestinatarioNull() ? "" : dr.NombrePersonaDestinatario;
                ((IGuiaImpresion)impresion).DireccionDestinatario     = dr.IsDireccionDestinatarioNull() ? "" : dr.DireccionDestinatario;
                ((IGuiaImpresion)impresion).LocalidadDestinatario     = dr.IsLocalidadDestinatarioNull() ? "" : dr.LocalidadDestinatario;
                ((IGuiaImpresion)impresion).ProvinciaDestinatario     = dr.IsProvinciaDestinatarioNull() ? "" : dr.ProvinciaDestinatario;
                ((IGuiaImpresion)impresion).TelefonoDestinatario      = dr.IsTelefonoDestinatarioNull() ? "" : dr.TelefonoDestinatario;

                // Observaciones
                ((IGuiaImpresion)impresion).Observaciones = dr.IsObservacionesNull() ? "" : dr.Observaciones;

                // Código de barra
                ((IGuiaImpresion)impresion).RutaCodigoBarras = ruta;
                ((IGuiaImpresion)impresion).NroGuiaCB        = Utiles.Formatos.Tipo2Numero(dr.TipoGuia) + dr.NroSucursalGuia.ToString() + dr.NroGuia;

                // Importes conceptos facturables
                ((IGuiaImpresion)impresion).ImporteFleteNacional = dr.IsImporteFleteNacionalNull() ? "" : Utiles.Formatos.Importe(dr.ImporteFleteNacional);
                ((IGuiaImpresion)impresion).ImporteSeguro        = dr.IsImporteSeguroNull() ? "" : Utiles.Formatos.Importe(dr.ImporteSeguro);         //Math.Round(dr.ImporteSeguro,2).ToString("0.00");
                ((IGuiaImpresion)impresion).ImporteRetiro        = dr.IsImporteRetiroNull() ? "" : Utiles.Formatos.Importe(dr.ImporteRetiro);
                ((IGuiaImpresion)impresion).Entrega = dr.IsImporteEntregaNull() ? "" : Utiles.Formatos.Importe(dr.ImporteEntrega);
                ((IGuiaImpresion)impresion).ImporteComisContraReembolso = dr.IsImporteComisContraReembolsoNull() ? "" : Utiles.Formatos.Importe(dr.ImporteComisContraReembolso);
                ((IGuiaImpresion)impresion).ImporteNetoTotal            = dr.IsImporteNetoTotalNull() ? "" : Utiles.Formatos.Importe(Utiles.Validaciones.obtieneDouble(dr.ImporteNetoTotal));
                ((IGuiaImpresion)impresion).IvaInscriptoTotal           = dr.IsIVAInscriptoTotalNull() ? "" : Utiles.Formatos.Importe(Utiles.Validaciones.obtieneDouble(dr.IVAInscriptoTotal));
                ((IGuiaImpresion)impresion).ImporteRedondeoTotal        = dr.IsImporteRedondeoTotalNull() ? "" : Utiles.Formatos.Importe(dr.ImporteRedondeoTotal);
                ((IGuiaImpresion)impresion).ImporteTotalGuia            = dr.IsImporteTotalGuiaNull() ? "" : Utiles.Formatos.Importe(dr.ImporteTotalGuia);

                // Datos del CAI
                ((IGuiaImpresion)impresion).NumeroCAI           = dr.IsNumeroCAINull() ? "" : dr.NumeroCAI;
                ((IGuiaImpresion)impresion).FechaVencimientoCAI = dr.IsFechaVencimientoCAINull() ? "" : dr.FechaVencimientoCAI.ToString("dd/MM/yyyy");

                // Resto de los datos
                ((IGuiaImpresion)impresion).Fecha                = DateTime.Now.ToShortDateString();
                ((IGuiaImpresion)impresion).HoraEmision          = DateTime.Now.ToString("HH:mm");
                ((IGuiaImpresion)impresion).NombreAgenciaDestino = dr.IsNombreAgenciaDestinoNull() ? "" : dr.NombreAgenciaDestino;
                ((IGuiaImpresion)impresion).CantBultosTotal      = dr.IsCantidadBultosTotalNull() ? "" : dr.CantidadBultosTotal.ToString();
                ((IGuiaImpresion)impresion).PesoTotal            = dr.IsPesoTotalNull() ? "" : Utiles.Formatos.Importe(dr.PesoTotal);
                ((IGuiaImpresion)impresion).PesoBulto            = dr.IsPesoTotalNull() || dr.IsCantidadBultosTotalNull() ? "" : Utiles.Formatos.Importe(dr.PesoTotal / dr.CantidadBultosTotal);
                //this.lblPesoTotal.Text = dr.IsPesoBultoNull() ? "" : Utiles.Formatos.Importe(dr.PesoBulto);
                ((IGuiaImpresion)impresion).VolumenTotal        = dr.IsVolumenTotalNull() ? "" : Utiles.Formatos.Importe(dr.VolumenTotal);
                ((IGuiaImpresion)impresion).ValorDeclaradoTotal = Utiles.Formatos.Importe(dr.ValorDeclaradoTotal);
                ((IGuiaImpresion)impresion).ValorDeclaradoBulto = dr.IsValorDeclaradoBultoNull() ? "" : Utiles.Formatos.Importe(dr.ValorDeclaradoBulto);
                ((IGuiaImpresion)impresion).Comun            = dr.IsEsServicioComunNull() ? "" : (dr.EsServicioComun ? "X" : "");
                ((IGuiaImpresion)impresion).Expreso          = dr.IsEsServicioExpresoNull() ? "" : (dr.EsServicioExpreso ? "X" : "");
                ((IGuiaImpresion)impresion).AndesPack        = dr.IsEsAndespaqNull() ? "" : (dr.EsAndespaq ? "X" : "");
                ((IGuiaImpresion)impresion).Bolsin           = dr.IsEsBolsinNull() ? "" : (dr.EsBolsin ? "X" : "");
                ((IGuiaImpresion)impresion).RetiroDomicilio  = dr.IsEsRetiroDomicilioNull() ? "" : (dr.EsRetiroDomicilio ? "X" : "");
                ((IGuiaImpresion)impresion).Terminal         = dr.IsEsTerminalNull() ? "" : (dr.EsTerminal ? "X" : "");
                ((IGuiaImpresion)impresion).EntregaDomicilio = dr.IsEsEntregaDomcilioNull() ? "" : (dr.EsEntregaDomcilio ? "X" : "");
                ((IGuiaImpresion)impresion).FleteAcobrar     = dr.IsEsFleteCobrarNull() ? "" : (dr.EsFleteCobrar ? "X" : "");
                ((IGuiaImpresion)impresion).ContraReembolso  = dr.IsEsContraReembolsoNull() ? "" : (dr.EsContraReembolso ? "X" : "");
                break;
            }
        }
Exemple #23
0
        private void Page_Load(object sender, System.EventArgs e)
        {
            DsGuiaFacturaImpresion ds = (DsGuiaFacturaImpresion)Session["DatosGuia"];
            int     cantCopias = 0, cantHojas = 0;
            string  controlAUtilizar = "uc/ImprimirGuiaPreENB.ascx";
            Boolean EsReImpresion    = false;

            // Reviso si se paso la cantidad de copias a imprimir o hay que obtenerlo de los parametros
            if (Request.QueryString["CantCopias"] == "" || Request.QueryString["CantCopias"] == null)
            {
                /*
                 * // No se paso la cantidad de copias a imprimir.
                 * // Obtengo de los parámetros generales cuántas copias del cuerpo se deben imprimir en la agencia origen
                 * IParametroUNegocio param = ParametroUNegocioFactory.GetParametroUNegocio();
                 * param.UnidadNegocioID = this.UnidadNegocioID;
                 * param.Parametro = SisPack.Parametro.CantidadCuerposOrigen;
                 * param.Consultar();
                 * cantCopias = Utiles.Validaciones.obtieneEntero(param.ValorString);
                 */
                /* VSA 01-09-2009 Permitir parametrizar la cantidad de copias a imprimir para la guía */
                IGuia cantAImprGuia = GuiaFactory.GetGuia();
                cantAImprGuia.GuiaID          = ((DsGuiaFacturaImpresion.DatosRow)ds.Datos.Rows[0]).GuiaID;
                cantAImprGuia.UnidadNegocioID = UnidadNegocioID;
                cantCopias    = cantAImprGuia.GetCantCuerposImprGuia();
                cantAImprGuia = null;
            }
            else
            {
                // Si se paso la cantidad de copias a imprimir
                cantCopias    = Utiles.Validaciones.obtieneEntero(Request.QueryString["CantCopias"]);
                EsReImpresion = true;
            }

            // Obtengo el texto del dorso de la guía
            IGuiaDorso guiaDorso = GuiaDorsoFactory.GetGuiaDorso();

            guiaDorso.UnidadNegocioID = UnidadNegocioID;
            guiaDorso.Consultar();
            string textoDorso = guiaDorso.Texto;

            // Obtengo los datos básicos de la guía
            ObtenerDatosBasicosGuia();
            // Genero los códigos de barra
            for (int indiceCB = 1; indiceCB <= cantidadTotalBultosDeLaGuia; indiceCB++)
            {
                CrearImagenCB(indiceCB);
            }
            // Obtengo el número de hojas a imprimir de un mismo cuerpo
            if (cantidadTotalBultosDeLaGuia % SisPacK.UC.ImprimirGuiaPreENB.CantidadMaximaBultosPorHoja > 0)
            {
                cantHojas = (cantidadTotalBultosDeLaGuia / SisPacK.UC.ImprimirGuiaPreENB.CantidadMaximaBultosPorHoja) + 1;
            }
            else
            {
                cantHojas = (cantidadTotalBultosDeLaGuia / SisPacK.UC.ImprimirGuiaPreENB.CantidadMaximaBultosPorHoja);
            }

            // Cargo las copias
            for (int indiceCuerpo = 0; indiceCuerpo < cantCopias; indiceCuerpo++)
            {
                for (int indiceHoja = 0; indiceHoja < cantHojas; indiceHoja++)
                {
                    // Creo y cargo el control
                    System.Web.UI.Control impresion = Page.LoadControl(controlAUtilizar);
                    impresion.ID = "ImprePrediseñada" + indiceCuerpo.ToString() + "_" + indiceHoja.ToString();
                    LlenarControl(ds, (SisPacK.UC.ImprimirGuiaPreENB)impresion, indiceHoja + 1);
                    // Termino de cargar los datos
                    if (EsReImpresion == false)
                    {
                        ((SisPacK.UC.ImprimirGuiaPreENB)impresion).DescripcionFormulario = ObtenerDescripcion(indiceCuerpo + 1);
                        ((SisPacK.UC.ImprimirGuiaPreENB)impresion).EsReimpresion         = false;
                    }
                    else
                    {
                        ((SisPacK.UC.ImprimirGuiaPreENB)impresion).DescripcionFormulario = ObtenerDescripcion(3);
                        ((SisPacK.UC.ImprimirGuiaPreENB)impresion).EsReimpresion         = true;
                    }
                    ((SisPacK.UC.ImprimirGuiaPreENB)impresion).NumeroHojaActual = indiceHoja + 1;
                    ((SisPacK.UC.ImprimirGuiaPreENB)impresion).NumeroHojasTotal = cantHojas;
                    // Cargo el control en la página
                    phImpresion.Controls.Add(impresion);
                }
            }
        }
        //DsOrdenRetiroImprimir.DatosRow dsoRdenes;
        #region Page_Load
        private void Page_Load(object sender, System.EventArgs e)
        {
            //TextWriterTraceListener myListener = new TextWriterTraceListener("TextWriterOutput2.log", "myListener");
            //myListener.WriteLine("Inicia Load de Imprimirguiablanco.aspx.");

            DsGuiaFacturaImpresion ds = (DsGuiaFacturaImpresion)Session["DatosGuia"];
            //DsOrdenRetiroImprimir dsoRdenes = (DsOrdenRetiroImprimir)Session["imprimirOrden"];

            DsHojaRutaRepartidor dsoRdenes = (DsHojaRutaRepartidor)Session["imprimirOrden"];

            DsOrdenRetiroImprimir.DatosRow dsOrdenR;
            int    cantCopias    = 0;
            string nombreArchivo = "";
            //SFE. Codigo barras AFIP
            string  nombreArchivoCBAFIP          = "";
            Boolean EsReImpresion                = false;
            bool    esFacturaRemito              = false;
            Boolean EsFacturaConceptoFacturacion = false;
            string  textoDorso      = "";
            bool    esGuiaRendicion = false;
            string  tipoGuia        = "";

            // Obtengo el texto del dorso de la guía
            //IGuiaDorso guiaDorso = GuiaDorsoFactory.GetGuiaDorso();
            //guiaDorso.UnidadNegocioID = UnidadNegocioID;
            //guiaDorso.Consultar();
            //string textoDorso = guiaDorso.Texto;

            // Obtengo el texto del dorso de la guía por la empresa de facturacion
            IGuia guia = GuiaFactory.GetGuia();

            if (ds != null)
            {
                double pesototal50  = ds.Datos[0].PesoTotal != null ? ds.Datos[0].PesoTotal : 0; // ds.Datos[0].;
                double pesoButlos50 = ds.Datos[0].PesoBulto != null ? ds.Datos[0].PesoBulto : 0;
                string canBul       = ds.Datos[0].IsCantidadBultosTotalNull()?"0": ds.Datos[0].CantidadBultosTotal.ToString();
                string remito       = ds.Datos[0].IsRemitoClienteNroNull() ? "0" : ds.Datos[0].RemitoClienteNro.ToString();
                string DomicilioRem = ds.Datos[0].IsDireccionRemitenteNull()?"N/A": ds.Datos[0].DireccionRemitente.ToString();
                string remi         = ds.Datos[0].IsNombreRemitenteNull() ? "" : ds.Datos[0].NombreRemitente.ToString();
                if (remi == "")
                {
                    remi = ds.Datos[0].IsNombreEmpresaRemitenteNull() ? "" : ds.Datos[0].NombreEmpresaRemitente.ToString();
                }
                string doc = ds.Datos[0].IsCUITEmpresaNull() ? "" : ds.Datos[0].CUITEmpresa.ToString();
                if (pesototal50 > 50 || pesoButlos50 > 50)//mayor a 50
                {
                    System.Web.UI.Control impresion;
                    impresion = Page.LoadControl("uc/ImprimirDeclaracionJuradaEV.ascx");

                    GuiaDominio gd   = new GuiaDominio();
                    string      text = gd.getTextoDorso(0).ToString();
                    textoDorso = text;

                    /* inicio declaracion jurada*/
                    //string existeDJ = gd.GetDeclaracionJurada(ds.Datos[0].GuiaID).ToString();

                    //if (existeDJ == "")//es para que no re imprima la declaracion jurada que se emitio
                    //    //FQuiroga 26/11
                    //{
                    //    //declaracion jurada
                    //    if (ds.Datos[0].EsFleteCobrar == true && remito == "0")
                    //    {//si es un fpd y pesa mas de 50 y no tiene remito
                    //     //tiene que gaurda el numero de declaracion jurada

                    //        string DJ = gd.GuiaDCINS(ds.Datos[0].GuiaID).ToString();
                    //        LlenarControlDJ(impresion, remi, DomicilioRem, pesototal50, canBul, doc, DJ);
                    //        phImpresion.Controls.Add(impresion);

                    //        // hago un salto de página
                    //        LiteralControl lt = new LiteralControl("<br style='page-break-after: always'>");
                    //        // no hace salto de página para la última hoja...
                    //        phImpresion.Controls.Add(lt);

                    //    }
                    //    if ((ds.Datos[0].TipoGuia == "B" || ds.Datos[0].TipoGuia == "A") && remito == "0")
                    //    {//eventuales sin remito
                    //        string DJ = gd.GuiaDCINS(ds.Datos[0].GuiaID).ToString();                                                                 //tiene que guardar declaracion
                    //        LlenarControlDJ(impresion, remi, DomicilioRem, pesototal50, canBul, doc, DJ);
                    //        phImpresion.Controls.Add(impresion);

                    //        // hago un salto de página
                    //        LiteralControl lt = new LiteralControl("<br style='page-break-after: always'>");
                    //        // no hace salto de página para la última hoja...
                    //        phImpresion.Controls.Add(lt);
                    //    }
                    //}
                    /* fin declaracion jurada*/
                }
                else
                {
                    //34 y35 bultos
                    IEmpresaFacturacion empresa = EmpresaFacturacionFactory.GetEmpresaFacturacion();
                    try
                    {
                        empresa.EmpresaFacturacionID = ds.Datos[0].EmpresaFacturacionID;
                    }
                    catch (Exception)
                    {
                        throw new Exception("No se configuró la empresa de facturacion para la agencia emisora de la guia.");
                    }
                    empresa.Consultar();
                    textoDorso = empresa.Texto;
                }

                // SFE: Imprimir la leyenda "Guia Rendicion" y el Nro de Rendicion si es Guia de Rendicion
                // IGuia guia = GuiaFactory.GetGuia();
                guia.GuiaID = ds.Datos[0].GuiaID;
                guia.ConsultarCompletoByGuiaID();
                //if (ds.Datos.Rows[0].IsEsFacturaConceptoFacturacionNull() == false && dr.EsFacturaConceptoFacturacion

                //if (|| (ds.Datos.Rows[0].IsNull("EsFacturaConceptoFacturacion") == false && Convert.ToBoolean( ds.Datos.Rows[0]["EsFacturaConceptoFacturacion"]
                Boolean _esFacturaConceptoFacturacion = false;

                try
                {
                    _esFacturaConceptoFacturacion = Convert.ToBoolean(ds.Datos.Rows[0]["EsFacturaConceptoFacturacion"]);
                }
                catch
                {
                    _esFacturaConceptoFacturacion = false;
                }

                esGuiaRendicion = false;
                string nroRendicionGuia = "";

                if (_esFacturaConceptoFacturacion == false)
                {
                    guia.GuiaID = ds.Datos[0].GuiaID;
                    guia.ConsultarCompletoByGuiaID();
                    if (guia.ClasificacionGuiaID == NegociosSisPackInterface.SisPack.ClasificacionGuia.Rendicion)
                    {
                        esGuiaRendicion  = true;
                        nroRendicionGuia = guia.GetNroRendicionGuia();
                        if (nroRendicionGuia != "")
                        {
                            nroRendicionGuia = "Nro de Rendición: " + nroRendicionGuia;
                        }

                        ds.Datos[0].Observaciones = nroRendicionGuia;
                    }
                    // SFE: Imprimir la leyenda "Guia Rendicion" y el Nro de Rendicion si es Guia de Rendicion
                }
            }
            if (dsoRdenes != null)
            {
                IEmpresaFacturacion empresa = EmpresaFacturacionFactory.GetEmpresaFacturacion();
                empresa.EmpresaFacturacionID = 1;// Convert.ToInt32(dsoRdenes.Ordenes.Rows.Datos[0].EmpresaFacturacion.ToString());
                empresa.Consultar();
                textoDorso = empresa.Texto;
                //cargo las ordenes de retiro
                DsOrdenRetiroImprimir dsOrdenes2 = new DsOrdenRetiroImprimir();
                IOrdenRetiro          ordenes    = OrdenRetiroFactory.GetOrdenRetiroFactory();
                string todas = "";
                foreach (DsHojaRutaRepartidor.OrdenesRow dsss in dsoRdenes.Ordenes.Rows)
                {
                    if (todas == "")
                    {
                        todas = dsss.OrdenRetiroID;
                    }
                    else
                    {
                        todas = todas + "," + dsss.OrdenRetiroID;
                    }
                }
                dsOrdenes2 = ordenes.GetOrdenRetiroPrint(todas);
                foreach (DsOrdenRetiroImprimir.DatosRow drOrd in dsOrdenes2.Datos)
                {
                    System.Web.UI.Control impresion;
                    impresion = Page.LoadControl("uc/ImprimirOrdenRetiro.ascx");
                    LlenarControlOrdenes(drOrd, impresion, nombreArchivo);

                    phImpresion.Controls.Add(impresion);

                    // hago un salto de página
                    LiteralControl lt = new LiteralControl("<br style='page-break-after: always'>");
                    // no hace salto de página para la última hoja...
                    phImpresion.Controls.Add(lt);
                }
            }

            //if (dsConcepto != null) {
            //    try
            //    {
            //        _esFacturaConceptoFacturacion = Convert.ToBoolean(dsoRdenes.Datos.Rows[0]["EsFacturaConceptoFacturacion"]);
            //    }
            //    catch
            //    {
            //        _esFacturaConceptoFacturacion = false;
            //    }

            //    foreach (DsGuiaFacturaImpresion.DatosRow drCon in dsConcepto.Datos.Rows)
            //    {
            //        System.Web.UI.Control impresion;
            //        impresion = Page.LoadControl("uc/ImprimirGuiaBlanco.ascx");

            //        LlenarControl(drCon, impresion, nombreArchivo);

            //        phImpresion.Controls.Add(impresion);

            //        // hago un salto de página
            //        LiteralControl lt = new LiteralControl("<br style='page-break-after: always'>");
            //        // no hace salto de página para la última hoja...
            //        phImpresion.Controls.Add(lt);

            //        if (drCon.IsEsFacturaConceptoFacturacionNull() == false && drCon.EsFacturaConceptoFacturacion)
            //        {
            //            EsFacturaConceptoFacturacion = true;
            //            // Se trata de una factura de un concepto de facturación.
            //            // 16/10/2013. Se solicito que si se trata de un concepto de facturacion se impriman la cantidad de cuerpos que se definen en el ABM de conceptos de facturacion.
            //            IConceptoFacturacion concepto = ConceptoFacturacionFactory.GetConceptoFacturacion();
            //            concepto.GetOne(148);
            //            if (concepto.CantCuerposImprGuia > 0)
            //            {
            //                cantCopias = concepto.CantCuerposImprGuia ?? 0;
            //            }
            //            else
            //            {
            //                IFactura factura = FacturaFactory.GetFactura();
            //                cantCopias = factura.GetCantCuerposImprFacturaRemito();
            //                factura = null;
            //            }
            //        }
            //    }

            //}
            // }Cargo los comprobantes
            if (ds != null)
            {
                int ComprobanteActual = 1;
                foreach (DsGuiaFacturaImpresion.DatosRow dr in ds.Datos.Rows)
                {
                    // Reviso si se paso la cantidad de copias a imprimir o hay que obtenerlo de los parametros
                    if (Request.QueryString["CantCopias"] == "" || Request.QueryString["CantCopias"] == null)
                    {
                        // No se paso la cantidad de copias a imprimir.
                        // Obtengo de los parámetros generales cuántas copias del cuerpo se deben imprimir en la agencia origen

                        /* VSA 01-09-2009 Permitir parametrizar la cantidad de copias a imprimir para la guía */
                        // Reviso si se trata de una guía o factura
                        if (dr.IsEsFacturaConceptoFacturacionNull() == false && dr.EsFacturaConceptoFacturacion)
                        {
                            EsFacturaConceptoFacturacion = true;
                            // Se trata de una factura de un concepto de facturación.
                            // 16/10/2013. Se solicito que si se trata de un concepto de facturacion se impriman la cantidad de cuerpos que se definen en el ABM de conceptos de facturacion.
                            IConceptoFacturacion concepto = ConceptoFacturacionFactory.GetConceptoFacturacion();
                            concepto.GetOne(dr.ConceptoFacturacionID);
                            if (concepto.CantCuerposImprGuia > 0)
                            {
                                cantCopias = concepto.CantCuerposImprGuia ?? 0;
                            }
                            else
                            {
                                IFactura factura = FacturaFactory.GetFactura();
                                cantCopias = factura.GetCantCuerposImprFacturaRemito();
                                factura    = null;
                            }
                        }
                        else if (dr.IsEsFacturaRemitoNull() || dr.EsFacturaRemito == false)
                        {
                            // Se trata de una guía
                            // Verifico si en el campo "CantidadCopiasImprimir" viene asignada la cantidad de copias, si es asi, es porque se llamo desde la Hoja de Ruta del Repartidor y se esta reimprimiendo una guia desde ese modulo
                            // Si no se debe buscar en la base la cantidad de copias a imprimir.
                            if (((DsGuiaFacturaImpresion.DatosRow)ds.Datos.Rows[0]).IsCantidadCopiasImprimirNull())
                            {
                                // Debo buscar en la base la cantidad de copias a imprimir.
                                IGuia cantAImprGuia = GuiaFactory.GetGuia();
                                cantAImprGuia.GuiaID          = ((DsGuiaFacturaImpresion.DatosRow)ds.Datos.Rows[0]).GuiaID;
                                cantAImprGuia.UnidadNegocioID = UnidadNegocioID;
                                cantCopias    = cantAImprGuia.GetCantCuerposImprGuia();
                                cantAImprGuia = null;
                            }
                            else
                            {
                                //Viene asignada la cantidad de copias, se llamo desde la Hoja de Ruta del Repartidor y se esta reimprimiendo una guia desde ese modulo
                                try
                                {
                                    cantCopias = ((DsGuiaFacturaImpresion.DatosRow)ds.Datos.Rows[0]).CantidadCopiasImprimir;
                                }
                                catch { cantCopias = 1; }
                            }
                            esFacturaRemito = false;
                        }
                        else
                        {
                            // Se trata de una factura
                            IFactura factura = FacturaFactory.GetFactura();
                            cantCopias      = factura.GetCantCuerposImprFacturaRemito();
                            factura         = null;
                            esFacturaRemito = true;
                        }
                    }
                    else
                    {
                        // Si se paso la cantidad de copias a imprimir
                        cantCopias    = Utiles.Validaciones.obtieneEntero(Request.QueryString["CantCopias"]);
                        EsReImpresion = true;

                        // Reviso si se trata de una guía o factura
                        if (dr.IsEsFacturaRemitoNull() || dr.EsFacturaRemito == false)
                        {
                            esFacturaRemito = false;
                        }
                        else if (dr.IsEsFacturaConceptoFacturacionNull() == false && dr.EsFacturaConceptoFacturacion)
                        {
                            // Se trata de una factura de un concepto de facturación
                            EsFacturaConceptoFacturacion = true;
                        }
                        else
                        {
                            esFacturaRemito = true;
                        }
                        if (dr.IsEsFacturaConceptoFacturacionNull() == false && dr.EsFacturaConceptoFacturacion)
                        {
                            // Se trata de una factura de un concepto de facturación
                            EsFacturaConceptoFacturacion = true;
                        }
                    }

                    //}
                    // Cargo las copias del comprobante que se esta procesando
                    for (int i = 0; i < cantCopias; i++)
                    {
                        System.Web.UI.Control impresion;
                        if (guia.ClasificacionGuiaID == NegociosSisPackInterface.SisPack.ClasificacionGuia.UnidadLogistica)
                        {
                            impresion = Page.LoadControl("uc/ImprimirGuiaUnidadLogistica.ascx");
                        }
                        else
                        {
                            impresion = Page.LoadControl("uc/ImprimirGuiaBlanco.ascx");
                        }
                        LlenarControl(dr, impresion, nombreArchivo);
                        // cargo el control de impresión...
                        impresion.ID = "ImpreBlanco" + i.ToString();

                        // Creo la imagen del CB
                        if (i == 0)
                        {
                            nombreArchivo = CrearImagenCB(((IGuiaImpresion)impresion).TipoGuia, ((IGuiaImpresion)impresion).NroSucursal, ((IGuiaImpresion)impresion).NroGuia);

                            // SFE: Codigo Barras AFIP
                            nombreArchivoCBAFIP = CrearImagenCBAFIP(((IGuiaImpresion)impresion).TipoGuia, ((IGuiaImpresion)impresion).NroSucursal, ((IGuiaImpresion)impresion).NumeroCAI, ((IGuiaImpresion)impresion).FechaVencimientoCAI);
                        }
                        // Termino de cargar los datos
                        ((IGuiaImpresion)impresion).RutaCodigoBarras = nombreArchivo + "-" + this.AgenciaConectadaID.ToString();

                        // SFE: Codigo Barras AFIP.
                        ((IGuiaImpresion)impresion).RutaCodigoBarrasAFIP = nombreArchivoCBAFIP + "-" + this.AgenciaConectadaID.ToString();

                        if (EsReImpresion == false)
                        {
                            ((IGuiaImpresion)impresion).DescripcionFormulario = ObtenerDescripcion(i + 1, EsFacturaConceptoFacturacion);
                            ((IGuiaImpresion)impresion).EsReimpresion         = false;
                        }
                        else
                        {
                            ((IGuiaImpresion)impresion).DescripcionFormulario = ObtenerDescripcion(3, EsFacturaConceptoFacturacion);
                            ((IGuiaImpresion)impresion).EsReimpresion         = true;
                        }
                        ((IGuiaImpresion)impresion).TextoDorso      = textoDorso;
                        ((IGuiaImpresion)impresion).EsGuiaRendicion = esGuiaRendicion;
                        ((IGuiaImpresion)impresion).EsFacturaRemito = esFacturaRemito;
                        ((IGuiaImpresion)impresion).EsFacturaConceptoFacturacion = EsFacturaConceptoFacturacion;
                        phImpresion.Controls.Add(impresion);

                        // hago un salto de página
                        //tipoGuia = dr.IsTipoGuiaNull() ? "" : dr.TipoGuia;
                        //System.Web.HttpBrowserCapabilities browser = Request.Browser;
                        //string name = browser.Browser;
                        //float version = (float)(browser.MajorVersion + browser.MinorVersion);
                        //if ((name != "Chrome" && version >= 8) && (name != "Firefox" && version >= 8) && (name == "IE" && version > 8) && (tipoGuia == "R"))
                        //{
                        LiteralControl lt = new LiteralControl("<br style='page-break-after: always'>");
                        // no hace salto de página para la última hoja...
                        if (i + 1 < cantCopias || ComprobanteActual < ds.Datos.Rows.Count)
                        {
                            phImpresion.Controls.Add(lt);
                        }
                        //}
                    }
                    ComprobanteActual++;
                }

                //myListener.WriteLine("Finaliza Load de Imprimirguiablanco.aspx.");
                //myListener.Flush();
            }
        }
        protected void butGuardar_Click(object sender, EventArgs e)
        {
            try
            {
                int cantidad = 0;

                if (busqAgencia.AgenciaID == "" && busqAgencia.RazonSocial == "")
                // Consultar con Diego!!!
                {
                    ((ErrorWeb)this.phErrores.Controls[0]).setMensaje("Debe seleccionar una agencia.");
                    return;
                }
                if (busqCliente.ClienteID != "" && busqCliente.RazonSocial != "")
                {
                    cantidad = ++cantidad;
                }
                if (busqProveedor1.ProveedorID != "" && busqProveedor1.RazonSocial != "")
                {
                    cantidad = ++cantidad;
                }
                else if (chkAgregarProveedor.Checked && txtDocumento.Text.Trim() != string.Empty && txtRazonSocial.Text.Trim() != string.Empty)
                {
                    cantidad = ++cantidad;
                }

                if (cantidad > 1)
                {
                    ((ErrorWeb)this.phErrores.Controls[0]).setMensaje("Debe seleccionar  un cliente o un Proveedor");
                    // Consultar con Diego!!!
                    return;
                }
                else
                {
                    IUnidadesLogisticasAsignacion unidad = UnidadesLogisticasAsignacionFactory.GetUnidadesLogisticasAsignacion();
                    unidad.Fecha = DateTime.Now;
                    if (busqAgencia.AgenciaID != "" && busqAgencia.RazonSocial != "")
                    {
                        unidad.AgenciaID = int.Parse(busqAgencia.AgenciaID);
                    }
                    else
                    {
                        unidad.AgenciaID = 0;
                    }

                    if (busqCliente.ClienteID != "" && busqCliente.RazonSocial != "")
                    {
                        unidad.ClienteID = int.Parse(busqCliente.ClienteID);
                    }
                    else
                    {
                        unidad.ClienteID = 0;
                    }

                    if (busqProveedor1.ProveedorID != "" && busqProveedor1.RazonSocial != "")
                    {
                        unidad.ProveedorID = int.Parse(busqProveedor1.ProveedorID);
                    }
                    else
                    {
                        unidad.ProveedorID = 0;
                    }

                    if (busqProveedor1.ProveedorID == "" && chkAgregarProveedor.Checked)
                    {
                        unidad.Documento        = txtDocumento.Text;
                        unidad.RazonSocial      = txtRazonSocial.Text;
                        unidad.AgregarProveedor = true;
                    }

                    if (busqObservacion.ObservacionID != "" && busqObservacion.ObsDescrip != "")
                    {
                        unidad.ObservacionID = Utiles.Validaciones.obtieneEntero(busqObservacion.ObservacionID);
                    }
                    else
                    {
                        unidad.ObservacionID = 0;
                    }
                    IList <IGuiaUnidadLogisticaDetalle> lista;

                    unidad.UnidadesLogisticasID = int.Parse(ddlUnidades.SelectedItem.Value);
                    unidad.UsuarioID            = ((IUsuarios)Session["Usuario"]).UsuarioID;
                    unidad.Cantidad             = ddlTipoAccion.SelectedItem.Value == "1" ? int.Parse(txtCantidad.Text) : (-1 * int.Parse(txtCantidad.Text));


                    if (Session["UnidadesAsigAut"] != null)
                    {
                        lista = (List <IGuiaUnidadLogisticaDetalle>)Session["UnidadesAsigAut"];
                    }
                    else
                    {
                        lista = new List <IGuiaUnidadLogisticaDetalle>();
                    }
                    lista.Add(new NegociosSisPack.GuiaUnidadLogisticaDetalle()
                    {
                        Cantidad          = int.Parse(txtCantidad.Text),
                        UnidadLogisticaId = int.Parse(ddlUnidades.SelectedItem.Value),
                        Descripcion       = ddlUnidades.SelectedItem.Text,
                        ClienteId         = unidad.ClienteID,
                        RazonCliente      = unidad.RazonSocial,
                        ProveedorId       = unidad.ProveedorID,
                        RazonProv         = unidad.RazonSocial,
                        UsuarioID         = this.usuario.UsuarioID,
                        AgenciaID         = AgenciaConectadaID
                    });
                    Session["UnidadesAsigAut"] = lista;

                    #region ArmarGuiaUnidadLogistica
                    cantidad = 0;
                    /*Cargo datos para la emision de la guia de Unidad de Logistica*/
                    IGuiaUnidadLogistica guiaUnidad = GuiaUnidadLogisticaFactory.GetIGuiaUnidadLogistica();
                    this.ObtenerNroGuia();
                    ((IGuia)guiaUnidad).NumeroCAI       = this.numeroCAI;
                    ((IGuia)guiaUnidad).TipoGuia        = this.tipoGuiaUnidadLogistica;
                    ((IGuia)guiaUnidad).NroSucursalGuia = this.nroSucursalGuiaUnidadLogistica;
                    ((IGuia)guiaUnidad).NroGuia         = this.nroGuiaUnidadLogistica;
                    /**/
                    ((IGuia)guiaUnidad).AgenciaOrigenID     = this.AgenciaConectadaID;
                    ((IGuia)guiaUnidad).UnidadNegocioID     = this.UnidadNegocioID;
                    ((IGuia)guiaUnidad).ClasificacionGuiaID = NegociosSisPackInterface.SisPack.ClasificacionGuia.UnidadLogistica;
                    ((IGuia)guiaUnidad).AgenciaDestinoID    = Utiles.Validaciones.obtieneEntero(busqAgencia.AgenciaID);



                    foreach (var guiaUL in (List <IGuiaUnidadLogisticaDetalle>)Session["UnidadesAsigAut"])
                    {
                        cantidad = cantidad + guiaUL.Cantidad;
                        guiaUnidad.GuiasUnidadesLogisticas.AddGuiaUnidadLogisticaDetalle(guiaUL);
                    }
                    ((IGuiaFactura)guiaUnidad).EmpresaFacturacionID = 1;

                    ((IGuiaFactura)guiaUnidad).CantidadBultosTotal = Utiles.Validaciones.obtieneEntero(txtCantidad.Text);
                    guiaUnidad.TipoOperacionUnidadLogistica        = (ddlTipoAccion.SelectedItem.Value == "1" ? NegociosSisPackInterface.SisPack.TipoOperacionUnidadLogistica.Ingreso : NegociosSisPackInterface.SisPack.TipoOperacionUnidadLogistica.Egreso);
                    ((IGuia)guiaUnidad).ObservacionID = Utiles.Validaciones.obtieneEntero(busqObservacion.ObservacionID);
                    #endregion

                    /*Guardo la asignacion y la guia de unidad de logistica*/
                    if (unidad.Guardar(guiaUnidad, null))
                    {
                        BindGrid();
                        #region ImpresionGuiaUnidadLogistica
                        Session["UnidadesAsigAut"] = null;
                        IAdministrarGuias admGuia = AdministrarGuiasFactory.GetAdministrarGuias();
                        admGuia.GuiaID = ((NegociosSisPack.Guia)guiaUnidad).GuiaID;
                        DsGuiaFacturaImpresion dataSrc = admGuia.GetDataSetImpresionByGuiaID();
                        Session["DatosGuia"] = dataSrc;
                        IAgencia agOrigen = AgenciaFactory.GetAgencia();
                        agOrigen.AgenciaID = AgenciaConectadaID;
                        agOrigen.ConsultarBasico();
                        if (agOrigen.TipoImpresionGuiaId == 0)
                        {
                            ((ErrorWeb)this.phErrores.Controls[0]).setMensaje("No se puede imprimir la guía de unidad de logistica generada. El tipo de impresión no está definido.");
                            return;
                        }
                        // Voy a imprimir siempre como Autoimpresor_EnBlanco porque es un comprobante interno.
                        agOrigen.TipoImpresionGuiaId = (int)NegociosSisPackInterface.SisPack.TipoImpresionGuia.Autoimpresor_EnBlanco;
                        txtPaginaImpresion.Value     = agOrigen.GetPaginaImpresion(agOrigen.TipoImpresionGuiaId, this.Implementacion);
                        txtGuiaUnidadID.Value        = ((NegociosSisPack.Guia)guiaUnidad).GuiaID.ToString();
                        string pagina = agOrigen.GetPaginaImpresion(agOrigen.TipoImpresionGuiaId, this.Implementacion);
                        string script = "<script language='javascript'>\n";
                        script += "			window.showModalDialog('"+ pagina +
                                  "','Imprimiendo Guía de unidad logistica...','dialogHeight: 934px;dialogWidth: 762px;edge: Raised; center: No; Status:No; help: No; resizable: No;');";
                        script += "		</script>\n";
                        Page.RegisterStartupScript("scriptImprimirGuiaUnidad", script);

                        #endregion
                        txtCantidad.Text              = string.Empty;
                        ddlUnidades.SelectedIndex     = 0;
                        ddlTipoAccion.SelectedIndex   = 0;
                        txtDocumento.Text             = string.Empty;
                        txtRazonSocial.Text           = string.Empty;
                        busqObservacion.ObservacionID = string.Empty;
                        busqObservacion.ObsDescrip    = string.Empty;
                        busqObservacion.ObservacionID = string.Empty;
                        busqObservacion.Codigo        = string.Empty;

                        Session["UnidadesAsigAut"] = null;
                        string mensaje = "Los datos se guardaron correctamente.";

                        string script1 = "<script language='javascript'>\n";
                        script1 += "alert('" + mensaje + "');";
                        script1 += "</script>";

                        Page.RegisterStartupScript("scriptOk", script1);
                    }
                }
            }
            catch (Exception ex)
            {
                Session["UnidadesAsigAut"] = null;
                ((ErrorWeb)this.phErrores.Controls[0]).setMensaje("No se pudo realizar la operación: " + ex.Message);
            }
        }
        protected void btnConsultar_Click(object sender, EventArgs e)
        {
            IAdministrarGuias admGuiaO = AdministrarGuiasFactory.GetAdministrarGuias();


            try
            {
                if (txtRangoDesde.Text == "")
                {
                    throw new Exception("Falta ingresar rango");
                }

                if (txtRangoHasta.Text == "")
                {
                    throw new Exception("Falta ingresar rango");
                }
                if (ddlTipoGuia.SelectedValue == "")
                {
                    throw new Exception("Falta seleccionar tipo de guia");
                }


                //if (cantidad >= 51 || cantidad < 0)
                //{
                //    throw new Exception("Solamente se permite un rango de 50 CB a imprimir .");

                //}
                IAgencia ag = AgenciaFactory.GetAgencia();
                ag.AgenciaID = usuario.AgenciaID;
                ag.Consultar();

                IGuia    oGuia    = GuiaFactory.GetGuia();
                IFactura oFactura = FacturaFactory.GetFactura();
                DsGuias  ds       = new DsGuias();

                if (ddlEmpresa.SelectedValue == "Cargas")
                {
                    string SucursalFinal = ag.SucursalDGI.Trim().Substring(1, 3);
                    nrosucrusal = 5 + SucursalFinal;
                    //5
                }
                else if (ddlEmpresa.SelectedValue == "Express")
                {
                    nrosucrusal = ag.SucursalDGI.Trim();
                    //4
                }
                else
                {
                    nrosucrusal = "";
                }

                int NroDesde = Convert.ToInt32(txtRangoDesde.Text);
                int NroHasta = Convert.ToInt32(txtRangoHasta.Text);

                string tipoguia = ddlTipoGuia.SelectedValue;

                ds = oGuia.GetGuiasByFecha(NroDesde, NroHasta, nrosucrusal, tipoguia, usuario.AgenciaID);

                if (ds.Datos.Count == 0)
                {
                    throw new Exception("No existen guias en el rango ingresado");
                }

                if (ds.Datos.Count > 0)
                {
                    for (int i = 0; i < ds.Datos.Count(); i++)
                    {
                        DsGuias.DatosRow dr     = (DsGuias.DatosRow)ds.Datos.Rows[i];
                        string           guiaid = dr.GuiaID.ToString();
                        admGuiaO.GuiaID = Convert.ToInt32(guiaid);
                        try
                        {
                            dataImpresion = admGuiaO.GetDataSetImpresionByGuiaID();
                        }
                        catch (Exception ex)
                        {
                            throw new Exception(ex.Message);
                        }
                        origen  = dataImpresion.Datos.Rows[0][60].ToString();
                        destino = dataImpresion.Datos.Rows[0]["LocalidadDestinatario"].ToString();

                        admGuiaO.TipoGuia        = dataImpresion.Datos.Rows[0][1].ToString();
                        admGuiaO.NroSucursalGuia = dataImpresion.Datos.Rows[0][2].ToString();
                        admGuiaO.NroGuia         = Convert.ToInt32(dataImpresion.Datos.Rows[0][3].ToString());
                        admGuiaO.CantBultos      = Convert.ToInt32(dataImpresion.Datos.Rows[0][29].ToString());

                        NegociosSisPack.ImpresionCajon IC = new NegociosSisPack.ImpresionCajon();
                        try
                        {
                            Session["ImpresoraUsuario"].ToString();

                            //para el caso en el que quieran imprimir solamente un CB
                            //por ejemplo una guia que tenga 50 bultos.
                            //Si presionan el check solamente se imprime 1 etiqueta. FQuiroga 22/12/2016

                            if (chkCantidad.Checked == true)
                            {
                                admGuiaO.CantBultos = 1;
                            }

                            string cb = (admGuiaO.TipoGuia == "R" ? "9" : (admGuiaO.TipoGuia == "A" ? "3" : "4")) + admGuiaO.NroSucursalGuia + admGuiaO.NroGuia.ToString();
                            try
                            {
                                for (int i2 = 1; i2 <= admGuiaO.CantBultos; i2++)
                                {
                                    IC.Imprimir(admGuiaO.TipoGuia + " " + admGuiaO.NroSucursalGuia + admGuiaO.NroGuia.ToString().ToString(), i2 + "/" + admGuiaO.CantBultos.ToString("000"), cb + i2.ToString("000"), CINT("1", 1), Session["ImpresoraUsuario"].ToString(), origen, destino);
                                }
                            }
                            catch (Exception ex)
                            {
                                ((ErrorWeb)(this.phErrores.Controls[0])).setMensaje(TraducirTexto("El usuario no tiene configurada una impresora."));
                            }
                        }
                        catch (Exception ex)
                        {
                            ((ErrorWeb)(this.phErrores.Controls[0])).setMensaje(TraducirTexto("El usuario no tiene configurada una impresora."));
                        }
                        //descanso de codigos para que no salgan tan rapido y se trabe
                        Thread.Sleep(Utiles.Validaciones.obtieneEntero("500"));
                    }
                }
            }
            catch (Exception ex)
            {
                ((ErrorWeb)(this.phErrores.Controls[0])).setMensaje(TraducirTexto(ex.Message));
            }
            Limpiar();
        }