Example #1
0
        private void Editar()
        {
            try
            {
                IUsuarios      usuario       = (IUsuarios)Session["Usuario"];
                IUnidadNegocio unidadNegocio = UnidadNegocioFactory.GetUnidadNegocio();
                unidadNegocio.UnidadNegocioID = usuario.UnidadNegocioID;
                unidadNegocio.Consultar();
                this.lblUnidadNegocio.Text = unidadNegocio.Nombre.Trim();
                unidadNegocio = null;

                IGuiaDorso guiaDorso = GuiaDorsoFactory.GetGuiaDorso();
                guiaDorso.UnidadNegocioID = usuario.UnidadNegocioID;
                guiaDorso.Consultar();
                this.txtGuiaDorsoID.Value = guiaDorso.GuiaDorsoID.ToString();
                this.txtTexto.Text        = guiaDorso.Texto.Trim();
                guiaDorso = null;
            }
            catch (Exception ex)
            {
                string mensaje = ex.Message;
                try
                {
                    if (mensaje == "" || mensaje == null)
                    {
                        mensaje = ex.Message;
                    }
                }
                catch (Exception)
                {
                    mensaje = ex.Message;
                }
                ((ErrorWeb)this.phErrores.Controls[0]).setMensaje(mensaje);
            }
        }
        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++;
            }
        }
Example #3
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);
                }
            }
        }
        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);
                }
            }
        }