private void butConfirmar_Click(object sender, System.EventArgs e)
        {
            //bool bOK=false;
            //IGuia oGuia=GuiaFactory.GetGuia();
            //oGuia.GuiaID= Convert.ToInt32(this.txtGuiaID.Text);
            //oGuia.Entregada(
            try
            {
                IGuiaRendicion oGuiaRen = GuiaRendicionFactory.GetGuiaRendicion();

                ((IGuia)oGuiaRen).GuiaID = Convert.ToInt32(this.txtGuiaID.Text);
                //((IGuia)oGuiaRen).Entregada("",this.AgenciaConectadaID,this.usuario);
                foreach (DataGridItem item in this.dtgGuiasAsociadas.Items)
                {
                    IGuiaRendicionDetalle guiaRendida = oGuiaRen.GuiasRendidas.AddGuiaRendicionDetalle();
                    if (((CheckBox)item.FindControl("chkGuia")).Checked)
                    {
                        guiaRendida.GuiaID           = Convert.ToInt32(this.txtGuiaID.Text);
                        guiaRendida.GuiaRendidaID    = Convert.ToInt32(this.dtgGuiasAsociadas.DataKeys[item.ItemIndex]);
                        guiaRendida.EnAdministracion = true;
                    }
                    else
                    {
                        guiaRendida.GuiaID           = Convert.ToInt32(this.txtGuiaID.Text);
                        guiaRendida.GuiaRendidaID    = Convert.ToInt32(this.dtgGuiasAsociadas.DataKeys[item.ItemIndex]);
                        guiaRendida.EnAdministracion = false;
                    }
                }
                ((IGuia)oGuiaRen).GuiaRecibidaDesdeModuloRecepcionGuiaRendicion = true;
                if (oGuiaRen.RecibirGuiaRendicion(this.txtObservaciones.Text, this.AgenciaConectadaID, this.usuario))
                {
                    string mensaje = "Los datos se guardaron correctamente. ";

                    string script = "<script language='javascript'>\n";
                    script += "alert('" + mensaje + "');";
                    script += "window.location.href = 'RecibirGuiaRendicion.aspx';\n";
                    script += "</script>";

                    Page.RegisterStartupScript("scriptOk", script);
                }
                else
                {
                    string script = "<script language='javascript'>\n";
                    script += "alert('Los datos no se guardaron debido a errores.');\n";
                    script += "</script>";

                    Page.RegisterStartupScript("scriptError", script);
                }
            }
            catch (Exception ex)
            {
                ((ErrorWeb)this.phErrores.FindControl("Error")).setMensaje(this.TraducirTexto(ex.Message));
            }
        }
        private void BindGrilla()
        {
            SisPackController.AdministrarGrillas.Configurar(this.dtgGuiasAsociadas, "GuiaID", this.CantidadOpciones);
            IGuiaRendicion guiaRend = GuiaRendicionFactory.GetGuiaRendicion();

            ((IGuia)guiaRend).GuiaID = this.txtGuiaID.Text == "" ? 0 : Convert.ToInt32(this.txtGuiaID.Text);
            DsGuias ds = guiaRend.GetGuiasAsignadaGuiaRendicionByGuiaID();

            this.dtgGuiasAsociadas.DataSource = ds;
            this.dtgGuiasAsociadas.DataBind();
        }
예제 #3
0
        private void Consultar()
        {
            int          guiaID = Convert.ToInt32(this.Request.QueryString["GuiaID"]);
            IGuiaFactura guia   = GuiaFacturaFactory.GetGuiaFactura();

            ((IGuia)guia).GuiaID = guiaID;
            DsGuiasFacturas ds = guia.GetGuiasRendicionDataSet(new DateTime(1900, 1, 1), DateTime.Now);

            DsGuiasFacturas.DatosRow[] dr = (DsGuiasFacturas.DatosRow[])ds.Datos.Select("GuiaID =" + guiaID);
            if (dr.Length > 0)
            {
                char[]   separador = { ',' };
                string[] nombre    = /*dr[0].IsRemitenteClienteNull() ? {''} :*/ dr[0].RemitenteCliente.Split(separador);
                if (!dr[0].RemitenteCliente.Equals(""))
                {
                    this.txtNombre.Text   = nombre[1].ToString().Trim();
                    this.txtApellido.Text = nombre[0].ToString().Trim();
                }

                nombre = /*dr[0].IsDestinatarioClienteNull() ? {''} :*/ dr[0].DestinatarioCliente.Split(separador);
                if (!dr[0].DestinatarioCliente.Equals(""))
                {
                    this.txtNombreDesti.Text   = nombre[1].ToString().Trim();
                    this.txtApellidoDesti.Text = nombre[0].ToString().Trim();
                }

                this.txtObservaciones.Text = dr[0].IsObservacionesNull() ? "" : dr[0].Observaciones;
                this.butAceptar.Attributes.Add("style", "display:none");
                this.txtApellido.Enabled      = false;
                this.txtApellidoDesti.Enabled = false;
                this.txtNombre.Enabled        = false;
                this.txtNombreDesti.Enabled   = false;
                this.txtObservaciones.Enabled = false;
                this.chkTodos.Enabled         = false;

                oGuiaRen = GuiaRendicionFactory.GetGuiaRendicion();
                ((IGuia)oGuiaRen).GuiaID = guiaID;
                DsGuias dsGuiasRendidas = oGuiaRen.GetGuiasAsignadaGuiaRendicionByGuiaID();
                SisPackController.AdministrarGrillas.Configurar(this.dtgGuiasRendicion, "GuiaID", this.CantidadOpciones);
                this.dtgGuiasRendicion.DataSource = dsGuiasRendidas;
                this.dtgGuiasRendicion.DataBind();
                this.dtgGuiasRendicion.Enabled = false;
                this.butVolver.Attributes.Add("style", "display:inline");
            }
        }
예제 #4
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 Int32 EmitirGuiaRendicion(Int32 AgenciaID, Int32 UnidadNegocioID, IUsuarios Usuario, Int32 RendicionHojaRutaID)
        {
            using (System.Data.SqlClient.SqlConnection conexion = new System.Data.SqlClient.SqlConnection())
            {
                conexion.ConnectionString = System.Configuration.ConfigurationManager.AppSettings["ConnectionString"];
                conexion.Open();
                System.Data.SqlClient.SqlTransaction transaccion = conexion.BeginTransaction();

                IGuiaRendicion    GuiaRendicion = GuiaRendicionFactory.GetGuiaRendicion();
                IAdministrarGuias admGuiaO      = AdministrarGuiasFactory.GetAdministrarGuias();

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

                admGuiaO.AgenciaOrigenID        = AgenciaID;
                admGuiaO.AgentePagoCondicionIVA = NegociosSisPackInterface.SisPack.CondicionIva.Ninguno;
                admGuiaO.CondicionPagoID        = NegociosSisPackInterface.SisPack.CondicionPago.CuentaCorriente; // Para que genere tipo guía R
                //admGuiaO.GetNroGuia();
                admGuiaO.CargarInfoComprobante((int)NegociosSisPackInterface.SisPack.TipoValidacionEmision.CAI);

                if (agOrigen.TipoImpresionGuiaId == (int)NegociosSisPackInterface.SisPack.TipoImpresionGuia.PreImpresa)
                {
                    throw new DatosInvalidosException("No se puede generar la guía debido a que es preimpresa");
                }
                else
                {
                    // La agencia es autoimpresora. Reviso si el CAI esta vencido o no
                    if (DateTime.Today > admGuiaO.FechaVencimientoCAI)
                    {
                        // El CAI esta vencido. Reviso si se puede emitir con el CAI vencido
                        IParametroUNegocio param = ParametroUNegocioFactory.GetParametroUNegocio();
                        param.UnidadNegocioID = UnidadNegocioID;
                        param.Parametro       = NegociosSisPackInterface.SisPack.Parametro.PermiteEmitirConCAIVencido;
                        param.Consultar();
                        bool permite = param.ValorString == "1" ? true : false;
                        if (permite == false)
                        {
                            // No se puede emitir con el CAI vencido.
                            throw new DatosInvalidosException("No se puede emitir la guía debido a que la fecha de vencimiento de CAI es superior a la fecha actual.");
                        }
                    }

                    // El CAI no esta vencido o se permite emitir con CAE vencido. Cargo los datos de la guía
                    ((IGuia)GuiaRendicion).NumeroCAI       = admGuiaO.NumeroCAI;
                    ((IGuia)GuiaRendicion).NroGuia         = admGuiaO.NroGuia;
                    ((IGuia)GuiaRendicion).TipoGuia        = admGuiaO.TipoGuia;
                    ((IGuia)GuiaRendicion).NroSucursalGuia = admGuiaO.NroSucursalGuia;
                }

                GuiaRendicion.AgenciaOrigenID = AgenciaID;
                GuiaRendicion.UnidadNegocioID = UnidadNegocioID;

                IParametroUNegocio parametro = ParametroUNegocioFactory.GetParametroUNegocio();
                parametro.UnidadNegocioID = UnidadNegocioID;
                parametro.Parametro       = SisPack.Parametro.AgenciaDestinoGuiaRendicion;
                parametro.Consultar();
                if (parametro.ValorString == null)
                {
                    throw new DatosInvalidosException("No hay cargado una agencia de destino para la guía de rendición");
                }

                GuiaRendicion.AgenciaDestinoID                 = Convert.ToInt32(parametro.ValorString);
                ((IGuia)GuiaRendicion).ClasificacionGuiaID     = NegociosSisPackInterface.SisPack.ClasificacionGuia.Rendicion;
                ((IGuia)GuiaRendicion).FechaEmision            = DateTime.Now;
                ((IGuia)GuiaRendicion).UsuarioID               = Usuario.UsuarioID;
                ((IGuiaFactura)GuiaRendicion).ImporteTotalGuia = 0;

                parametro.Parametro = SisPack.Parametro.ClienteGuiaRendicionHR;
                parametro.Consultar();
                if (parametro.ValorString == null)
                {
                    throw new DatosInvalidosException("No hay configurado un cliente destinatario para la guía de rendición");
                }

                ((IGuiaFactura)GuiaRendicion).DestinatarioCliente = Convert.ToInt32(parametro.ValorString);
                admGuiaO.TipoGuia = NegociosSisPackInterface.SisPack.TipoGuia("9");
                ((IGuiaFactura)GuiaRendicion).EmpresaFacturacionID = admGuiaO.ObtieneEmpresaFacturacion();

                if (GuiaRendicion.GuiasRendidas.getCount() == 0)
                {
                    IGuiaRendicionDetalle guiaConServARendir = GuiaRendicion.GuiasRendidas.AddGuiaRendicionDetalle();
                    guiaConServARendir.RendicionAgenciaID = RendicionHojaRutaID;
                }

                if (GuiaRendicion.EmitirGuiaRendicion(transaccion, Usuario) == false)
                {
                    transaccion.Rollback();
                    throw new Exception("Error al emitir guía de rendición");
                }

                IGuiaFacturaDetalle detalle = GuiaFacturaDetalleFactory.GetGuiaFacturaDetalle();
                detalle.AgenciaOrigenID = AgenciaID;
                detalle.CantidadBultos  = 0;
                detalle.GuiaID          = ((IGuia)GuiaRendicion).GuiaID;

                parametro.Parametro = SisPack.Parametro.UnidadVentaGuiaRendicionHR;
                parametro.Consultar();
                if (parametro.ValorString == null)
                {
                    transaccion.Rollback();
                    throw new DatosInvalidosException("No hay configurada una unidad de venta para la guía de rendición");
                }
                detalle.UnidadVentaID = Convert.ToInt32(parametro.ValorString);
                if (detalle.Guardar(transaccion) == false)
                {
                    transaccion.Rollback();
                    throw new Exception("Error al guardar el detalle de la guía de rendición");
                }

                transaccion.Commit();

                return(((IGuia)GuiaRendicion).GuiaID);
            }
        }
예제 #6
0
        public void GuardarGuia()
        {                       //Ver la primera vez !!!!!!!!!!!!!!!!!
            Page.Validate();
            if (!Page.IsValid)
            {
                return;
            }
            IAgencia oAgencia = AgenciaFactory.GetAgencia();

            oAgencia.AgenciaID = this.AgenciaConectadaID;
            oAgencia.ConsultarBasico();

            oGuiaRen = GuiaRendicionFactory.GetGuiaRendicion();
            ((IGuia)oGuiaRen).AgenciaOrigenID     = this.AgenciaConectadaID;
            ((IGuia)oGuiaRen).AgenciaDestinoID    = 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     = oAgencia.SucursalDGI;        //VER si conviene
            ((IGuia)oGuiaRen).ClasificacionGuiaID = NegociosSisPackInterface.SisPack.ClasificacionGuia.Rendicion;
            ((IGuia)oGuiaRen).FechaEmision        = DateTime.Now;
            ((IGuia)oGuiaRen).TipoGuia            = this.txtTipoGuia.Text;
            ((IGuia)oGuiaRen).NombreReceptor      = this.txtNombre.Text;
            ((IGuia)oGuiaRen).ApellidoReceptor    = this.txtApellido.Text;

            ((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;

            dtgGuiasRendicion.AllowPaging = false;
            BinGrilla(false);
            foreach (DataGridItem item in this.dtgGuiasRendicion.Items)
            {
                if (((CheckBox)item.FindControl("chkGuia")).Checked)
                {
                    IGuiaRendicionDetalle guiaRendida = oGuiaRen.GuiasRendidas.AddGuiaRendicionDetalle();
                    //guiaRendida.GuiaID = Convert.ToInt32(this.txtGuiaID.Text); VER esto
                    guiaRendida.GuiaRendidaID = Convert.ToInt32(this.dtgGuiasRendicion.DataKeys[item.ItemIndex]);
                }
            }
            this.txtNroGuia.Text = "";
            try
            {
                if (oGuiaRen.EmitirGuiaRendicion(usuario))
                {
                    if (this.ExportarPDF())
                    {
                        string scriptString = "<script language='javascript'>\n";
                        scriptString += "window.open('VerGuia.aspx?id=Guia_" + ((IGuia)this.oGuiaRen).GuiaID + "_" + this.AgenciaConectadaID + ".pdf', '', 'width=0,height=0,status=no,scrollbars=yes,resizable=yes');\n";
                        scriptString += "window.location.href = 'GuiaRendicion.aspx';\n";
                        scriptString += "</script>\n";

                        Page.RegisterStartupScript("scriptOpen", scriptString);
                    }
                }
            }
            catch (Exception ex)
            {
                ((ErrorWeb)phErrores.FindControl("Error")).setMensaje(TraducirTexto(ex.Message));
            }
        }