private void butImprimir_Click(object sender, System.EventArgs e)
        {
            try
            {
                IGuia     oGuia      = GuiaFactory.GetGuia();
                IFactura  oFactura   = FacturaFactory.GetFactura();
                DsGuias   ds         = new DsGuias();
                DsFactura dsFacturas = null;
                DsGuiaFacturaImpresion dsFacturaImpresion;
                IAgencia agencia             = null;
                int      tipoImpresionGuiaID = 0;
                int      puedeReimprimir     = 0;

                /*if(this.rbCodigo.Checked)
                 *  ds = oGuia.GetGuiasOneByCodigoBarra(this.txtCodigoBarra.Text.Trim());
                 */

                if (this.rbCodigo.Checked)
                {
                    try
                    {
                        oGuia.TipoGuia = NegociosSisPackInterface.SisPack.TipoGuia(this.txtCodigoBarra.Text.Substring(0, 1).Trim()).Trim();

                        if (oGuia.TipoGuia.Equals(""))
                        {
                            throw new Exception("Errores.Invalidos.CodigoBarrasLongitud");
                        }

                        oGuia.NroSucursalGuia = this.txtCodigoBarra.Text.Substring(1, 4);
                        oGuia.NroGuia         = Convert.ToInt32(this.txtCodigoBarra.Text.Substring(5));
                    }
                    catch (Exception)
                    {
                        ((ErrorWeb)this.phErrores.Controls[0]).setMensaje("No se ha ingresado un nro. de guía correcto.");
                        return;
                    }
                }
                else if (this.rbTipo.Checked)
                {
                    oGuia.TipoGuia        = this.ddlTipoGuia.SelectedValue;
                    oGuia.NroSucursalGuia = this.txtNroSucursal.Text.Trim().Equals("") ? "0" : this.txtNroSucursal.Text.Trim();
                    oGuia.NroGuia         = this.txtNroGuia.Text.Trim().Equals("") ? 0 : Convert.ToInt32(this.txtNroGuia.Text.Trim());
                }
                else
                {
                    ((ErrorWeb)this.phErrores.Controls[0]).setMensaje("No se ha ingresado el nro. de guía ha reimprimir.");
                    return;
                }

                ds = oGuia.GetGuiaOneDataSet();


                if (ds.Datos.Count == 0)
                {
                    oFactura.TipoGuia        = oGuia.TipoGuia;
                    oFactura.NroSucursalGuia = oGuia.NroSucursalGuia;
                    oFactura.NroGuia         = oGuia.NroGuia;
                    dsFacturas = oFactura.GetByNroFactura();
                }

                if (ds.Datos.Count > 0)
                {
                    DsGuias.DatosRow dr = (DsGuias.DatosRow)ds.Datos.Rows[0];
                    this.txtGuiaID.Text = dr.GuiaID.ToString();
                    puedeReimprimir     = oGuia.VerificarReImpresion(dr.GuiaID, this.usuario.AgenciaID);
                    if (puedeReimprimir == 1)
                    {
                        ((ErrorWeb)this.phErrores.Controls[0]).setMensaje("No se puede reimprimir una guia FPD en el destino.");
                        return;
                    }
                    else if (puedeReimprimir == 2)
                    {
                        ((ErrorWeb)this.phErrores.Controls[0]).setMensaje("No se puede reimprimir la guia ya que no esta en la agencia.");
                        return;
                    }
                    else
                    {
                        oGuia.RegistrarReImpresion(this.usuario.UsuarioID, this.usuario.AgenciaID, dr.GuiaID);
                    }

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

                    /* Traer los datos de la guía para la impresión. */
                    IAdministrarGuias oAdminGuia = AdministrarGuiasFactory.GetAdministrarGuias();
                    oAdminGuia.GuiaID  = Convert.ToInt32(this.txtGuiaID.Text.Trim());
                    dsFacturaImpresion = oAdminGuia.GetDataSetImpresionByGuiaID();
                    oAdminGuia         = null;

                    // 20/12/2013. Consulto (seteo) el tipo de impresion segun la agencia y la empresa de facturacion
                    tipoImpresionGuiaID = Convert.IsDBNull(dsFacturaImpresion.Datos[0].TipoImpresionGuiaID) ? 0 : dsFacturaImpresion.Datos[0].TipoImpresionGuiaID;

                    Session["DatosGuia"] = dsFacturaImpresion;
                    /*************************************************/
                }
                else if (ds.Datos.Count == 0)
                {
                    if (dsFacturas.Datos.Count > 0)
                    {
                        DsFactura.DatosRow drFac = (DsFactura.DatosRow)dsFacturas.Datos.Rows[0];
                        //this.txtGuiaID.Text = drFac.GuiaID.ToString();

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

                        /* Traer los datos de la factura para la impresión. */
                        oFactura.FacturaID = drFac.FacturaID;
                        // Reviso si se trata de una factura de concepto de facturación o de una factura que cancela un remito pendiente
                        if (dsFacturas.Datos[0].ClasificacionFacturaID == (Int32)NegociosSisPackInterface.SisPack.ClasificacionFactura.ConceptoFacturacion)
                        {
                            // Se trata de una factura de concepto de facturación
                            dsFacturaImpresion   = ToDsGuiaFacturaConceptoImpresion(oFactura.GetFacturaConceptoImpresionByFacturaID());
                            tipoImpresionGuiaID  = Convert.IsDBNull(dsFacturaImpresion.Datos[0].TipoImpresionGuiaID) ? 0 : dsFacturaImpresion.Datos[0].TipoImpresionGuiaID;
                            Session["DatosGuia"] = dsFacturaImpresion;
                        }
                        else
                        {
                            // Se trata de una factura de un flete pago en destino, entrega o un remito de cta cte
                            dsFacturaImpresion = ToDsGuiaFacturaImpresion(drFac.AgenciaID, oFactura.GetFacturaImpresionByFacturaID());
                            // 20/12/2013. Consulto (seteo) el tipo de impresion segun la agencia y la empresa de facturacion
                            tipoImpresionGuiaID  = Convert.IsDBNull(dsFacturaImpresion.Datos[0].TipoImpresionGuiaID) ? 0 : dsFacturaImpresion.Datos[0].TipoImpresionGuiaID;
                            Session["DatosGuia"] = dsFacturaImpresion;
                        }
                        drFac = null;
                        /*************************************************/
                    }
                    else
                    {
                        ((ErrorWeb)this.phErrores.Controls[0]).setMensaje("No se encuentra la guía / factura ingresada.");
                        return;
                    }
                }

                // Se comenta la siguiente linea para el desarrollo de integracion de SisPack-Delfos. El tipo de impresion depende de la empresa y la agencia. Esto estaba al 20/12/2013
                //int tipoImpresionGuiaID = Convert.IsDBNull(agencia.TipoImpresionGuiaId) ? 0 : agencia.TipoImpresionGuiaId;

                // Si es Unidad de Logistica, imprimir el comprobante como Autoimpresor_EnBlanco
                if (oGuia.TipoGuia == "X")
                {
                    tipoImpresionGuiaID = (int)NegociosSisPackInterface.SisPack.TipoImpresionGuia.Autoimpresor_EnBlanco;
                }

                if (tipoImpresionGuiaID == 0)
                {
                    ((ErrorWeb)this.phErrores.Controls[0]).setMensaje("No se puede reimprimir la guía ingresada. El tipo de impresión no está definido.");
                    return;
                }
                if (tipoImpresionGuiaID == (int)NegociosSisPackInterface.SisPack.TipoImpresionGuia.PreImpresa)
                {
                    ((ErrorWeb)this.phErrores.Controls[0]).setMensaje("No se puede reimprimir una guía pre-impresa.");
                    return;
                }

                string implementacion  = System.Configuration.ConfigurationSettings.AppSettings["Implementacion"].ToString();
                string paginaImpresion = agencia.GetPaginaImpresion(tipoImpresionGuiaID, implementacion);

                if (paginaImpresion.Trim().Equals(""))
                {
                    ((ErrorWeb)this.phErrores.Controls[0]).setMensaje("No se puede reimprimir la guía ingresada. La página de impresión no está definida.");
                    return;
                }
                agencia = null;
                /*****************************/

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

                Page.RegisterStartupScript("scriptImpresion", scriptString);

                oGuia              = null;
                oFactura           = null;
                dsFacturaImpresion = null;
                ds         = null;
                dsFacturas = null;
            }
            catch (Exception ex)
            {
                ((ErrorWeb)this.phErrores.Controls[0]).setMensaje(ex.Message);
            }
        }
Beispiel #2
0
        private void butBuscar_Click(object sender, System.EventArgs e)
        {
            try
            {
                DsGuias   ds;
                DsFactura dsFactura;
                ds = BuscarPorTipo();

                if (ds.Datos.Count == 0)
                {
                    dsFactura = BuscarFacturaPorTipo();
                    if (dsFactura.Datos.Count > 0)
                    {
                        DsFactura.DatosRow drFac = (DsFactura.DatosRow)dsFactura.Datos.Rows[0];
                        if (drFac.AgenciaID != 0)
                        {
                            IAgencia agenciaOrigen = AgenciaFactory.GetAgencia();
                            agenciaOrigen.AgenciaID = drFac.AgenciaID;
                            if (agenciaOrigen.Consultar())
                            {
                                this.txtAgenciaOrigenID.Text       = agenciaOrigen.AgenciaID.ToString();
                                this.txtAgenciaOrigenDescrip.Text  = agenciaOrigen.RazonSocial;
                                this.txtSucursalAgenciaOrigen.Text = agenciaOrigen.SucursalDGI;
                            }
                        }

                        this.txtFacturaID.Text = drFac.FacturaID.ToString();
                        this.txtGuiaID.Text    = drFac.GuiaID.ToString();
                        IGuiaFactura guiaFactura = GuiaFacturaFactory.GetGuiaFactura();
                        ((IGuia)guiaFactura).GuiaID = drFac.GuiaID;
                        DsGuiasFacturas dsGuiaFactura = guiaFactura.GetGuiaFacturaOneDataSet();
                        if (dsGuiaFactura.Datos.Count > 0)
                        {
                            DsGuiasFacturas.DatosRow drGuiaFactura = (DsGuiasFacturas.DatosRow)dsGuiaFactura.Datos.Rows[0];
                            this.txtCantidadBultos.Text   = drGuiaFactura.CantidadBultosTotal.ToString();
                            this.txtVolumenDeclarado.Text = drGuiaFactura.ValorDeclaradoTotal.ToString();
                        }
                    }
                    else
                    {
                        ((ErrorWeb)this.phErrores.Controls[0]).setMensaje("La guía ingresada no existe en el sistema");
                    }
                }
                else
                {
                    DsGuias.DatosRow[] drLista = (DsGuias.DatosRow[])ds.Datos.Select("UnidadNegocioID = " + this.UnidadNegocioID);
                    DsGuias.DatosRow   dr      = drLista[0];
                    if (dr.AgenciaOrigenID != 0)
                    {
                        IAgencia agenciaOrigen = AgenciaFactory.GetAgencia();
                        agenciaOrigen.AgenciaID = dr.AgenciaOrigenID;
                        if (agenciaOrigen.Consultar())
                        {
                            this.txtAgenciaOrigenID.Text       = agenciaOrigen.AgenciaID.ToString();
                            this.txtAgenciaOrigenDescrip.Text  = agenciaOrigen.RazonSocial;
                            this.txtSucursalAgenciaOrigen.Text = agenciaOrigen.SucursalDGI;
                        }
                    }
                    if (dr.IsAgenciaDestinoIDNull())
                    {
                        IPuntoRecepcion punto = PuntoRecepcionFactory.GetPuntoRecepcion();
                        punto.PuntoRecepcionID = dr.PuntoRecepcionID;
                        if (punto.Consultar())
                        {
                            this.lblAgenciaDestino.Text           = this.TraducirTexto("Etiquetas.PuntoRecepcion");
                            this.txtSucursalAgenciaDestino.Text   = punto.RazonSocial;
                            this.txtAgenciaDestinoDescrip.Visible = false;
                        }
                    }
                    else
                    {
                        IAgencia agenciaDestino = AgenciaFactory.GetAgencia();
                        agenciaDestino.AgenciaID    = dr.AgenciaDestinoID;
                        this.lblAgenciaDestino.Text = this.TraducirTexto("Etiquetas.AgenciaDestino");
                        if (agenciaDestino.Consultar())
                        {
                            this.txtAgenciaDestinoID.Text       = agenciaDestino.AgenciaID.ToString();
                            this.txtAgenciaDestinoDescrip.Text  = agenciaDestino.RazonSocial;
                            this.txtSucursalAgenciaDestino.Text = agenciaDestino.SucursalDGI;
                        }
                    }

                    this.txtGuiaID.Text           = dr.GuiaID.ToString();
                    this.txtCantidadBultos.Text   = dr.CantidadBultosTotal.ToString();
                    this.txtVolumenDeclarado.Text = dr.ValorDeclaradoTotal.ToString();
                }

                this.tblComprobante.Visible = true;

                this.butConfirmar.Enabled = true;

                this.BindGrilla();
                this.BindGrillaComprobantes();

                this.butConfirmar.Enabled = true;
            }
            catch (Exception ex)
            {
                ((ErrorWeb)this.phErrores.Controls[0]).setMensaje(ex.Message);
            }
        }
        private void ImprimirGuia(int GuiaID, NegociosSisPackInterface.SisPack.ClasificacionGuia ClasificacionGuia)
        {
            try
            {
                IGuia     oGuia      = GuiaFactory.GetGuia();
                IFactura  oFactura   = FacturaFactory.GetFactura();
                DsGuias   ds         = new DsGuias();
                DsFactura dsFacturas = null;
                DsGuiaFacturaImpresion dsFacturaImpresion;
                IAgencia agencia = null;
                oGuia.GuiaID = GuiaID;

                if (ClasificacionGuia == NegociosSisPackInterface.SisPack.ClasificacionGuia.Remito)
                {
                    ds = oGuia.GetGuiaOneDataSet();
                }
                else if (ClasificacionGuia == NegociosSisPackInterface.SisPack.ClasificacionGuia.Factura)
                {
                    oFactura.FacturaID = GuiaID;
                    dsFacturas         = oFactura.GetFacturaByFacturaID(GuiaID);
                }

                if (ds.Datos.Count > 0)
                {
                    DsGuias.DatosRow dr = (DsGuias.DatosRow)ds.Datos.Rows[0];

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

                    /* Traer los datos de la guía para la impresión. */
                    IAdministrarGuias oAdminGuia = AdministrarGuiasFactory.GetAdministrarGuias();
                    oAdminGuia.GuiaID  = GuiaID;
                    dsFacturaImpresion = oAdminGuia.GetDataSetImpresionByGuiaID();
                    oAdminGuia         = null;

                    Session["DatosGuia"] = dsFacturaImpresion;
                    /*************************************************/
                }
                else if (ds.Datos.Count == 0)
                {
                    if (dsFacturas.Datos.Count > 0)
                    {
                        DsFactura.DatosRow drFac = (DsFactura.DatosRow)dsFacturas.Datos.Rows[0];
                        //this.txtGuiaID.Text = drFac.GuiaID.ToString();

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

                        /* Traer los datos de la factura para la impresión. */
                        oFactura.FacturaID = drFac.FacturaID;

                        // Reviso si se trata de una factura de concepto de facturación o de una factura que cancela un remito pendiente
                        if (dsFacturas.Datos[0].ClasificacionFacturaID == (Int32)NegociosSisPackInterface.SisPack.ClasificacionFactura.ConceptoFacturacion)
                        {
                            // Se trata de una factura de concepto de facturación
                            Session["DatosGuia"] = ToDsGuiaFacturaConceptoImpresion(oFactura.GetFacturaConceptoImpresionByFacturaID());
                        }
                        else
                        {
                            // Se trata de una factura de un flete pago en destino, entrega o un remito de cta cte
                            dsFacturaImpresion   = ToDsGuiaFacturaImpresion(drFac.AgenciaID, oFactura.GetFacturaImpresionByFacturaID());
                            Session["DatosGuia"] = dsFacturaImpresion;
                        }
                        drFac = null;
                        /*************************************************/
                    }
                    else
                    {
                        return;
                    }
                }

                int tipoImpresionGuiaID = Convert.IsDBNull(agencia.TipoImpresionGuiaId) ? 0 : agencia.TipoImpresionGuiaId;

                if (tipoImpresionGuiaID == 0)
                {
                    return;
                }
                if (tipoImpresionGuiaID == (int)NegociosSisPackInterface.SisPack.TipoImpresionGuia.PreImpresa)
                {
                    return;
                }

                string implementacion  = System.Configuration.ConfigurationSettings.AppSettings["Implementacion"].ToString();
                string paginaImpresion = agencia.GetPaginaImpresion(tipoImpresionGuiaID, implementacion);

                if (paginaImpresion.Trim().Equals(""))
                {
                    return;
                }
                agencia = null;
                /*****************************/

                ImprimirGuiaBlanco();

                oGuia              = null;
                oFactura           = null;
                dsFacturaImpresion = null;
                ds         = null;
                dsFacturas = null;
            }
            catch (Exception ex)
            {
            }
        }
Beispiel #4
0
        private void butBuscar_Click(object sender, System.EventArgs e)
        {
            try
            {
                DsFactura ds;

                if (this.radioTipo.Checked)
                {
                    ds = BuscarPorTipo();
                }
                else
                {
                    ds = BuscarPorCodigo();
                }

                if (ds != null)
                {
                    this.butBuscar.Enabled = true;

                    IFactura             factura = FacturaFactory.GetFactura();
                    DsFactura.DatosRow[] drLista = (DsFactura.DatosRow[])ds.Datos.Select("UnidadNegocioID = " + this.UnidadNegocioID);
                    int total = drLista.Length;

                    if (total > 0)
                    {
                        DsFactura.DatosRow dr = drLista[0];
                        if (dr.EstadoFacturaID == (int)NegociosSisPackInterface.SisPack.EstadoFactura.Anulada)
                        {
                            /* La factura ya ha sido anulada */
                            Page.RegisterStartupScript("NoAnular", GenerarJavaScripts.MostrarMensaje("La factura se encuentra anulada."));
                            this.butConfirmar.Enabled = false;
                            return;
                        }

                        if (dr.AgenciaID != 0)
                        {
                            IAgencia agencia = AgenciaFactory.GetAgencia();
                            agencia.AgenciaID = dr.AgenciaID;
                            if (agencia.Consultar())
                            {
                                this.txtAgenciaID.Text = agencia.AgenciaID.ToString();
                                this.txtAgencia.Text   = agencia.RazonSocial.Trim();
                            }
                            agencia = null;
                        }

                        // Permitir anulacion de facturas de conceptos facturables.
                        this.txtGuiaID.Text                 = dr.IsGuiaIDNull() ? "" : dr.GuiaID.ToString();
                        this.txtFecha.Text                  = dr.FechaEmision.ToShortDateString().Trim();
                        this.txtImporte.Text                = Utiles.Formatos.Importe(dr.ImporteNeto + dr.ImporteIVA);
                        this.txtTipoImpresionGuiaID.Text    = dr.IsTipoImpresionGuiaIDNull()? "0": dr.TipoImpresionGuiaID.ToString().Trim();
                        this.txtFacturaID.Text              = dr.FacturaID.ToString().Trim();
                        this.txtClasificacionFactura.Text   = dr.ClasificacionFactura.Trim();
                        this.txtClasificacionFacturaID.Text = dr.ClasificacionFacturaID.ToString().Trim();

                        this.butConfirmar.Enabled = true;
                        this.butBuscar.Enabled    = false;
                        this.radioTipo.Enabled    = false;
                        this.radioCodigo.Enabled  = false;
                        dr = null;
                    }
                    else
                    {
                        string script = "<script language='javascript'>\n";
                        script += "alert('No se encontro la factura.');\n";
                        script += "</script>";

                        Page.RegisterStartupScript("scriptError", script);
                    }
                    factura = null;
                    drLista = null;
                }
            }
            catch (Exception ex)
            {
                butBuscar.Enabled = false;
                string mensaje = ex.Message;
                try
                {
                    mensaje = this.TraducirTexto(ex.Message);
                    if (mensaje == "" || mensaje == null)
                    {
                        mensaje = ex.Message;
                    }
                }
                catch (Exception)
                {
                    mensaje = ex.Message;
                }
                ((ErrorWeb)this.phErrores.Controls[0]).setMensaje(mensaje);
            }
        }