Пример #1
0
        public void GuardarGuia()
        {
            Page.Validate();
            if (!Page.IsValid)
            {
                return;
            }

            /*IAgencia oAgencia = AgenciaFactory.GetAgencia();
             * oAgencia.AgenciaID = this.AgenciaConectadaID;
             * oAgencia.ConsultarBasico();*/

            oGuiaRen = GuiaRendicionFactory.GetGuiaRendicion();
            ((IGuia)oGuiaRen).AgenciaOrigenID     = Utiles.Validaciones.obtieneEntero(this.txtAgenciaOrigenID.Text);
            ((IGuia)oGuiaRen).AgenciaDestinoID    = 187;         //Convert.ToInt32(this.txtAgenciaDestino.Text);
            ((IGuia)oGuiaRen).NroGuia             = Convert.ToInt32(this.txtNroGuia.Text);
            ((IGuia)oGuiaRen).Observaciones       = this.txtObservaciones.Text;
            ((IGuia)oGuiaRen).UnidadNegocioID     = this.UnidadNegocioID;
            ((IGuia)oGuiaRen).NroSucursalGuia     = "2183";         //oAgencia.SucursalDGI;//VER si conviene
            ((IGuia)oGuiaRen).ClasificacionGuiaID = NegociosSisPackInterface.SisPack.ClasificacionGuia.Rendicion;
            ((IGuia)oGuiaRen).FechaEmision        = DateTime.Now;
            ((IGuia)oGuiaRen).TipoGuia            = this.ddlTipoGuia.SelectedValue;

            ((IGuia)oGuiaRen).RemitenteEventual.ClienteEv.Nombre      = this.txtNombre.Text;
            ((IGuia)oGuiaRen).RemitenteEventual.ClienteEv.Apellido    = this.txtApellido.Text;
            ((IGuia)oGuiaRen).DestinatarioEventual.ClienteEv.Nombre   = this.txtNombreDesti.Text;
            ((IGuia)oGuiaRen).DestinatarioEventual.ClienteEv.Apellido = this.txtApellidoDesti.Text;

            bool seleccion = false;             //indico si se seleccionó alguna guia

            foreach (DataGridItem item in this.dtgGuiasAsociadas.Items)
            {
                if (((CheckBox)item.FindControl("chkGuia")).Checked)
                {
                    IGuiaRendicionDetalle guiaRendida = oGuiaRen.GuiasRendidas.AddGuiaRendicionDetalle();
                    guiaRendida.GuiaRendidaID = Convert.ToInt32(this.dtgGuiasAsociadas.DataKeys[item.ItemIndex]);
                    seleccion = true;
                }
            }

            try
            {
                if (seleccion)
                {
                    if (oGuiaRen.EmitirGuiaRendicion(usuario))
                    {
                        this.BindGrilla();
                        GenerarJavaScripts.MostrarMensaje("La guía de rendición se generó con éxito.", "GuiaRendicionNoAutomatizada.aspx");
                    }
                }
                else
                {
                    ((ErrorWeb)phErrores.FindControl("Error")).setMensaje("Debe seleccionar alguna guía para asociar a la rendición.");
                    BindGrilla();
                    this.butConfirmar.Enabled = true;
                }
            }
            catch (Exception ex)
            {
                ((ErrorWeb)phErrores.FindControl("Error")).setMensaje(TraducirTexto(ex.Message));
            }
        }
        private void ChequearGuia()
        {
            //CHEQUEAR QUE LA GUIA SEA DE RENDICION
            if (Convert.ToInt32(this.txtTipoFactura.Text) != (int)NegociosSisPackInterface.SisPack.ClasificacionGuia.Rendicion)
            {
                Page.RegisterStartupScript("Imprimir", GenerarJavaScripts.MostrarMensaje("La guía ingresada no es de rendición"));
            }

            //CHEQUEAR AGENCIA DESTINO
            int agenciaDestParam;

            IParametroUNegocio param = ParametroUNegocioFactory.GetParametroUNegocio();

            param.UnidadNegocioID = this.UnidadNegocioID;
            param.Parametro       = NegociosSisPackInterface.SisPack.Parametro.AgenciaDeAdministracion;
            param.Consultar();
            agenciaDestParam = Convert.ToInt32(param.ValorString);
            if (this.AgenciaConectadaID != agenciaDestParam)
            {
                Page.RegisterStartupScript("Imprimir", GenerarJavaScripts.MostrarMensaje("La guía de rendición tiene que ser recibida por la agencia de administración"));
            }


            //	CHEQUEAR ESTADOS
            IGuiaEstadoHistorico guiaEstadoHistorico = GuiaEstadoHistoricoFactory.GetGuiaEstadoHistorico();

            guiaEstadoHistorico.GuiaID = Convert.ToInt32(this.txtGuiaID.Text);
            DsGuiaEstadoHistorico ds = guiaEstadoHistorico.GetGuiaEstadoHistoricoDataSet();

            //Verifica que la guía no tenga el estado ANULADA
            //ANULADA --> EstadoCliente y Ninguno. En realidad es el estado: Anulada!!
            DsGuiaEstadoHistorico.DatosRow[] dr = (DsGuiaEstadoHistorico.DatosRow[])ds.Datos.Select("TipoEstadoGuiaID =" + (int)NegociosSisPackInterface.SisPack.TipoEstadoGuia.EstadoAdministrativo
                                                                                                    + " AND EstadoGuiaID = " + (int)NegociosSisPackInterface.SisPack.ValorEstadoAdministrativo.Anulada);
            if (dr.Length > 0)
            {
                Page.RegisterStartupScript("Imprimir", GenerarJavaScripts.MostrarMensaje("La guía se encuentra anulada"));
                this.butConfirmar.Enabled = false;
                return;
            }
            else
            {
                this.butConfirmar.Enabled = true;
            }



            //Verifica que la guía no tenga el estado CONFORMADA
            dr = null;
            dr = (DsGuiaEstadoHistorico.DatosRow[])ds.Datos.Select("TipoEstadoGuiaID =" + (int)NegociosSisPackInterface.SisPack.TipoEstadoGuia.EstadoAdministrativo
                                                                   + " AND AgenciaID = " + this.AgenciaConectadaID, "GuiaEstadoHisID");
            if (dr.Length > 0)
            {
                //Recuperamos que el último estado de este tipo para la guia sea el que buscamos: Pendiente de entrega.
                if (dr[dr.Length - 1].EstadoGuiaID == (int)NegociosSisPackInterface.SisPack.ValorEstadoAdministrativo.Conformada)
                {
                    this.butConfirmar.Enabled = false;
                    Page.RegisterStartupScript("Imprimir", GenerarJavaScripts.MostrarMensaje("La guía de rendición se encuentra conformada."));
                }
            }


            /* SFE: Comentado el 08/08/2011 . Por pedido en nuevo desarrollo de trazabilidad de rendiciones.
             *
             * //TRASBORDADA --> EstadoEstatico y EnAgenciaTrasbordo
             * //dr = null;
             * //dr = (DsGuiaEstadoHistorico.DatosRow[]) ds.Datos.Select("TipoEstadoGuiaID =" + (int)NegociosSisPackInterface.SisPack.TipoEstadoGuia.EstadoEstatico
             * //    +" AND EstadoGuiaID = " + (int)NegociosSisPackInterface.SisPack.ValorEstadoEstatico.EnAgenciaDeTrasbordo);
             * //if (dr.Length > 0)
             * //{
             * //    Page.RegisterStartupScript("Imprimir",GenerarJavaScripts.MostrarMensaje("La guía se encuentra en Agencia de Trasbordo"));
             *
             * //}
             */

            // SFE: Comentado el 08/08/2011 . Por pedido en nuevo desarrollo de trazabilidad de rendiciones.

            /*
             * //Controla que la guia este asignada a una hoja de ruta y que la hoja de ruta esté confirmada
             * dr = null;
             * dr = (DsGuiaEstadoHistorico.DatosRow[]) ds.Datos.Select("TipoEstadoGuiaID =" + (int)NegociosSisPackInterface.SisPack.TipoEstadoGuia.EstadoMovimiento, "GuiaEstadoHisID");
             * if (dr.Length > 0)
             * {
             *  //Recuperamos que el último estado de este tipo para la guia sea el que buscamos: En Viaje.
             *  if( dr[dr.Length-1].EstadoGuiaID == (int)NegociosSisPackInterface.SisPack.ValorEstadoMovimiento.EnViaje && guiaEstadoHistorico.HojaRutaConfirmada())
             *  {
             *
             *      this.butConfirmar.Enabled=true;
             *
             *  }
             *      else
             *      {
             *          this.butConfirmar.Enabled=false;
             *
             *          Page.RegisterStartupScript("Imprimir",GenerarJavaScripts.MostrarMensaje("La guía no se encuentra en condiciones de ser recibida,verificar que este asignada a una hoja de ruta o que la misma esté confirmada."));
             *
             *      }
             *  }	*/
        }
Пример #3
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);
            }
        }