private List <Comun> GetList()
 {
     try
     {
         List <Comun> List = new List <Comun>();
         if (Request.QueryString["Precio"] != null)
         {
             Session["BuscarPrecio" + Session.SessionID] = null;
             CN_CatCliente clsCatProveedores = new CN_CatCliente();
             Sesion        session2          = new Sesion();
             session2 = (Sesion)Session["Sesion" + Session.SessionID];
             Clientes prv = new Clientes();
             prv.Id_Emp = session2.Id_Emp;
             prv.Id_Cd  = session2.Id_Cd_Ver;
             prv.Id_Cte = Convert.ToInt32(Request.QueryString["cte"]);
             clsCatProveedores.ConsultaPrecios(prv, session2.Emp_Cnx, ref List, null, null);
         }
         else
         {
             CN_CatCliente clsCatProveedores = new CN_CatCliente();
             Sesion        session2          = new Sesion();
             session2 = (Sesion)Session["Sesion" + Session.SessionID];
             Clientes prv = new Clientes();
             prv.Id_Emp = session2.Id_Emp;
             prv.Id_Cd  = session2.Id_Cd_Ver;
             clsCatProveedores.ConsultaClientes(prv, session2.Emp_Cnx, ref List, null, null);
         }
         return(List);
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
Exemplo n.º 2
0
 protected void txtCliente_TextChanged(object sender, EventArgs e)
 {
     try
     {
         Sesion   sesion = (Sesion)Session["Sesion" + Session.SessionID];
         Clientes cte    = new Clientes();
         cte.Id_Cte = Convert.ToInt32((sender as RadNumericTextBox).Value.HasValue ? (sender as RadNumericTextBox).Value : -1);
         cte.Id_Emp = sesion.Id_Emp;
         cte.Id_Cd  = sesion.Id_Cd_Ver;
         CN_CatCliente cnCliente = new CN_CatCliente();
         cnCliente.ConsultaClientes(ref cte, sesion.Emp_Cnx);
         if (cte.Cte_NomComercial != null)
         {
             txtClienteNombre.Text = cte.Cte_NomComercial;
             txtFolio1.Focus();
         }
         else
         {
             txtClienteNombre.Text = "";
             Alerta("El cliente no existe o esta inactivo");
         }
     }
     catch (Exception ex)
     {
         ErrorManager(ex, new System.Diagnostics.StackTrace().GetFrame(0).GetMethod().Name);
     }
 }
Exemplo n.º 3
0
        protected void txtClave_TextChanged(object sender, EventArgs e)
        {
            try
            {
                if (txtClienteID.Text == "")
                {
                    //CargarProductos();
                    return;
                }

                Sesion Sesion = new Sesion();
                Sesion = (Sesion)Session["Sesion" + Session.SessionID];
                CN_CatCliente cn_cliente = new CN_CatCliente();
                Clientes      cliente    = new Clientes();
                cliente.Id_Emp = Sesion.Id_Emp;
                cliente.Id_Cd  = Sesion.Id_Cd_Ver;
                cliente.Id_Cte = txtClienteID.Value.HasValue ? Convert.ToInt32(txtClienteID.Value.Value) : 0;
                try
                {
                    cn_cliente.ConsultaClientes(ref cliente, Sesion.Emp_Cnx);
                }
                catch (Exception ex)
                {
                    AlertaFocus(ex.Message, txtClienteID.ClientID);
                    txtClienteID.Text = "";
                    cmbCliente.Text   = "";
                    return;
                }

                if (cliente.Cte_NomComercial != null)
                {
                    cmbCliente.SelectedValue = cliente.Id_Cte.ToString();
                    cmbCliente.Text          = cliente.Cte_NomComercial;
                    txtTerritorio.Focus();
                }
                else
                {
                    txtClienteID.Text = "";
                    cmbCliente.Text   = "";
                    txtClienteID.Focus();
                }
            }
            catch (Exception)
            {
                throw;
            }
        }
Exemplo n.º 4
0
        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                Sesion Sesion = new Sesion();
                Sesion = (Sesion)Session["Sesion" + Session.SessionID];
                string valor_retorno = "";

                if (Request.Params["ini"] != null || Sesion == null)
                {
                    valor_retorno = "-0";
                }
                else
                {
                    try
                    {
                        int      Cte      = int.Parse(Request.Params["cte"]);
                        Sesion   sesion   = (Sesion)Session["Sesion" + Session.SessionID];
                        Clientes clientes = new Clientes();
                        clientes.Id_Emp          = sesion.Id_Emp;
                        clientes.Id_Cd           = sesion.Id_Cd_Ver;
                        clientes.Id_Cte          = Cte;
                        clientes.Ignora_Inactivo = false;
                        CN_CatCliente clsCliente = new CN_CatCliente();
                        try
                        {
                            clsCliente.ConsultaClientes(ref clientes, sesion.Emp_Cnx);
                            valor_retorno = clientes.Cte_NomComercial;
                        }
                        catch (Exception ex)
                        {
                            valor_retorno = "-1@@" + ex.Message;
                        }
                    }
                    catch
                    {
                        valor_retorno = "";
                    }
                }

                Response.Write(valor_retorno);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
 private List <Comun> GetList()
 {
     try
     {
         List <Comun> List = new List <Comun>();
         if (Request.QueryString["Precio"] != null)
         {
             Session["BuscarPrecio" + Session.SessionID] = null;
             CN_CatCliente clsCatProveedores = new CN_CatCliente();
             Sesion        session2          = new Sesion();
             session2 = (Sesion)Session["Sesion" + Session.SessionID];
             Clientes prv = new Clientes();
             prv.Id_Emp = session2.Id_Emp;
             prv.Id_Cd  = session2.Id_Cd_Ver;
             prv.Id_Cte = Convert.ToInt32(Request.QueryString["cte"]);
             clsCatProveedores.ConsultaPrecios(prv, session2.Emp_Cnx, ref List, txtClave.Value, txtNombre.Text == "" ? null : txtNombre.Text);
         }
         else if (Request.QueryString["pvd"] != null)
         {
             CN_CatProducto clsCatProducto = new CN_CatProducto();
             Sesion         session2       = new Sesion();
             session2 = (Sesion)Session["Sesion" + Session.SessionID];
             Producto prd = new Producto();
             prd.Id_Emp = session2.Id_Emp;
             prd.Id_Cd  = session2.Id_Cd_Ver;
             prd.Id_Pvd = Convert.ToInt32(Request.QueryString["pvd"]);
             clsCatProducto.ConsultaBuscar(prd, session2.Emp_Cnx, ref List, txtClave.Value, txtNombre.Text == "" ? null : txtNombre.Text);
         }
         else
         {
             CN_CatCliente clsCatProveedores = new CN_CatCliente();
             Sesion        session2          = new Sesion();
             session2 = (Sesion)Session["Sesion" + Session.SessionID];
             Clientes prv = new Clientes();
             prv.Id_Emp  = session2.Id_Emp;
             prv.Id_Cd   = session2.Id_Cd_Ver;
             prv.Id_Terr = Request.QueryString["ter"] == null ? (int?)null : Convert.ToInt32(Request.QueryString["ter"]);
             clsCatProveedores.ConsultaClientes(prv, session2.Emp_Cnx, ref List, txtClave.Value, txtNombre.Text == "" ? null : txtNombre.Text);
         }
         return(List);
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
Exemplo n.º 6
0
        protected void txtCliente_TextChanged(object sender, EventArgs e)
        {
            try
            {
                Sesion   sesion = (Sesion)Session["Sesion" + Session.SessionID];
                Clientes cte    = new Clientes();
                cte.Id_Cte  = Convert.ToInt32((sender as RadNumericTextBox).Value.HasValue ? (sender as RadNumericTextBox).Value : -1);
                cte.Id_Emp  = sesion.Id_Emp;
                cte.Id_Cd   = sesion.Id_Cd_Ver;
                cte.Id_Terr = ((sender as RadNumericTextBox).Parent.FindControl("txtIdTer") as RadNumericTextBox).Value.HasValue ? (int)((sender as RadNumericTextBox).Parent.FindControl("txtIdTer") as RadNumericTextBox).Value.Value : 0;

                if (cte.Id_Cte == -1)
                {
                    return;
                }
                DataRow[] Ar_Dr2 = dt.Select("Id_Emp='" + cte.Id_Emp + "' and id_cd='" + cte.Id_Cd + "' and Id_Cte='" + cte.Id_Cte + "' and Id_Ter='" + cte.Id_Terr + "'");
                if (Ar_Dr2.Length > 0)
                {
                    AlertaFocus("El cliente-territorio ya fue capturado", (sender as RadNumericTextBox).ClientID);
                    (sender as RadNumericTextBox).Text = "";
                    ((sender as RadNumericTextBox).Parent.FindControl("txtCliente") as RadTextBox).Text = "";
                    return;
                }

                CN_CatCliente cnCliente = new CN_CatCliente();
                try
                {
                    cnCliente.ConsultaClientes(ref cte, sesion.Emp_Cnx);
                }
                catch (Exception ex)
                {
                    AlertaFocus(ex.Message, (sender as RadNumericTextBox).ClientID);
                    (sender as RadNumericTextBox).Text = "";
                    ((sender as RadNumericTextBox).Parent.FindControl("txtCliente") as RadTextBox).Text = "";
                    return;
                }
                ((sender as RadNumericTextBox).Parent.FindControl("txtCliente") as RadTextBox).Text = cte.Cte_NomComercial;
                ((sender as RadNumericTextBox).Parent.FindControl("txtFis_Consignados") as RadNumericTextBox).Focus();
                RadComboBox combo = ((sender as RadNumericTextBox).Parent.FindControl("Cmb_Id_Ter") as RadComboBox);
            }
            catch (Exception ex)
            {
                ErrorManager(ex, new System.Diagnostics.StackTrace().GetFrame(0).GetMethod().Name);
            }
        }
Exemplo n.º 7
0
        protected void txtCliente_TextChanged(object sender, EventArgs e)
        {
            try
            {
                ErrorManager();

                Sesion Sesion = new Sesion();
                Sesion = (Sesion)Session["Sesion" + Session.SessionID];
                if (!txtCliente.Value.HasValue)
                {
                    txtClienteDescripcion.Text = "";
                    return;
                }
                Clientes cte = new Clientes();
                cte.Id_Emp = Sesion.Id_Emp;
                cte.Id_Cd  = Sesion.Id_Cd_Ver;
                //cte.Id_Cte = Convert.ToInt32(cmbCliente.SelectedValue);
                cte.Id_Cte = Convert.ToInt32(txtCliente.Value.HasValue ? txtCliente.Value.Value : -1);
                CN_CatCliente catcliente = new CN_CatCliente();
                try
                {
                    catcliente.ConsultaClientes(ref cte, Sesion.Emp_Cnx);
                    txtClienteDescripcion.Text = cte.Cte_NomComercial;
                    txtAparatos.Focus();
                }
                catch (Exception ex)
                {
                    AlertaFocus(ex.Message, txtCliente.ClientID);
                    txtCliente.Text            = "";
                    txtClienteDescripcion.Text = "";
                    return;
                }
            }
            catch (Exception ex)
            {
                ErrorManager(ex, new System.Diagnostics.StackTrace().GetFrame(0).GetMethod().Name);
            }
        }
Exemplo n.º 8
0
        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                Sesion sesion = (Sesion)Session["Sesion" + Session.SessionID];
                if (!Page.IsPostBack)
                {
                    // ------------------------------------------------------------------------
                    // Consulta datos Gnerales, Nombre de Epmresa, C. Dist y Región
                    // ------------------------------------------------------------------------
                    CN_CapFactura fac      = new CN_CapFactura();
                    string[]      datosGen = fac.ConsultaFacturacion_DatosGeneralesFacturacion(sesion.Emp_Cnx, sesion.Id_Emp, sesion.Id_Cd_Ver);

                    //Define variable de sesion con datos de impresion de reporte de valuacion de proyectos
                    this.HD_Folio.Value = string.Concat(
                        Page.Request.QueryString["Id_Emp"].ToString()
                        , ",", Page.Request.QueryString["Id_Cd"].ToString()
                        , ",", Page.Request.QueryString["Id_Vap"].ToString());
                    Session["ReporteValuacionProyecto" + Session.SessionID] = this.HD_Folio.Value;
                    //Define variable de sesion como indicativo de impreion de reporte de rentabilidad
                    Session["ReporteRentabilidadClientes" + Session.SessionID] = "SI";

                    CN_CatCliente cnCliente = new CN_CatCliente();
                    Clientes      cte       = new Clientes();
                    cte.Id_Cte = Convert.ToInt32(Request.QueryString["Id_Cte"]);
                    cte.Id_Emp = Convert.ToInt32(Request.QueryString["Id_Emp"]);
                    cte.Id_Cd  = Convert.ToInt32(Request.QueryString["Id_Cd"]);
                    cnCliente.ConsultaClientes(ref cte, sesion.Emp_Cnx);
                    txtPlazoPago.Text = cte.Cte_CondPago.ToString();

                    //Datos del centro de distribución
                    CentroDistribucion cd = new CentroDistribucion();
                    new CN_CatCentroDistribucion().ConsultarCentroDistribucion(ref cd
                                                                               , Convert.ToInt32(Page.Request.QueryString["Id_Cd"])
                                                                               , Convert.ToInt32(Page.Request.QueryString["Id_Emp"])
                                                                               , sesion.Emp_Cnx);

                    //Datos de valuación de proyectos del C. de Dist.
                    CentroDistribucion cdValProy = new CentroDistribucion();
                    new CN_CatCentroDistribucion().ConsultaCentroDistribucion_DatosValProyecto(ref cdValProy, sesion.Emp_Cnx);

                    //Llenar Datos de valuación de proyecto del centro de distribucion
                    #region Llenar Datos de valuación de proyecto del centro de distribucion
                    txtCetes.Text                     = cd.Cd_TasaCetes == 0 ? cdValProy.Cd_TasaCetes.ToString() : cd.Cd_TasaCetes.ToString();
                    txtAdicionalCetes.Text            = cd.Cd_TasaIncCostoCapital == 0 ? cdValProy.Cd_TasaIncCostoCapital.ToString() : cd.Cd_TasaIncCostoCapital.ToString();
                    txtInventarioKey.Text             = cd.Cd_Dias == 0 ? cdValProy.Cd_Dias.ToString() : cd.Cd_Dias.ToString();
                    txtInventarioKeyConsignacion.Text = cd.Cd_DiasInv == 0 ? cdValProy.Cd_DiasInv.ToString() : cd.Cd_DiasInv.ToString();
                    txtIva.Text                   = cd.Cd_Iva == 0 ? cdValProy.Cd_Iva.ToString() : cd.Cd_Iva.ToString();
                    txtComision.Text              = cd.Cd_ComisionRik == 0 ? cdValProy.Cd_ComisionRik.ToString() : cd.Cd_ComisionRik.ToString();
                    txtCostosFijosNoPapel.Text    = cd.Cd_ContribucionGastosFijosOtros == 0 ? cdValProy.Cd_ContribucionGastosFijosOtros.ToString() : cd.Cd_ContribucionGastosFijosOtros.ToString();
                    txtCostosFijosPapel.Text      = cd.Cd_ContribucionGastosFijosPapel == 0 ? cdValProy.Cd_ContribucionGastosFijosPapel.ToString() : cd.Cd_ContribucionGastosFijosPapel.ToString();
                    txtInversionActivosFijos.Text = cd.Cd_FactorConvActFijo == 0 ? cdValProy.Cd_FactorConvActFijo.ToString() : cd.Cd_FactorConvActFijo.ToString();
                    txtIsr.Text                   = cd.Cd_ISRyPTU == 0 ? cdValProy.Cd_ISRyPTU.ToString() : cd.Cd_ISRyPTU.ToString();
                    txtUcs.Text                   = cd.Cd_CargoUCS == 0 ? cdValProy.Cd_CargoUCS.ToString() : cd.Cd_CargoUCS.ToString();
                    #endregion
                }
            }
            catch (Exception ex)
            {
                this.DisplayMensajeAlerta(string.Concat(ex.Message, "Page_Load_error"));
            }
        }
Exemplo n.º 9
0
        private void ImprimirRemisionElectronica(EntradaSalida entSal)
        {
            try
            {
                Sesion sesion = (Sesion)Session["Sesion" + Session.SessionID];
                List <EntradaSalidaDetalle> listaProdFacturaEspecialFinal = new List <EntradaSalidaDetalle>();

                entSal.Es_Estatus = "I";
                int verificador = 0;
                entSal.Id_Emp = sesion.Id_Emp;
                new CN_CapEntradaSalida().ModificarEntradaSalida_Estatus(entSal, sesion.Emp_Cnx, ref verificador);


                CN_CatCliente cn_catcliente = new CN_CatCliente();
                Clientes      clientes      = new Clientes();
                clientes.Id_Emp = sesion.Id_Emp;
                clientes.Id_Cd  = sesion.Id_Cd_Ver;
                clientes.Id_Cte = entSal.Id_Cte;
                cn_catcliente.ConsultaClientes(ref clientes, sesion.Emp_Cnx);
                entSal.Id_Emp = sesion.Id_Emp;
                CN_CapEntradaSalida cn_catensal = new CN_CapEntradaSalida();
                cn_catensal.ConsultarEntradaSalidaDetalles(sesion, entSal, ref listaProdFacturaEspecialFinal);

                CN_CatCentroDistribucion cn_cd = new CN_CatCentroDistribucion();
                CentroDistribucion       cd    = new CentroDistribucion();
                double iva = 0;
                cn_cd.ConsultarIva(sesion.Id_Emp, sesion.Id_Cd_Ver, ref iva, sesion.Emp_Cnx);



                StringBuilder XML_Enviar = new StringBuilder();
                XML_Enviar.Append("<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>");
                XML_Enviar.Append("<RemisionCuentaNacional");
                XML_Enviar.Append(" TipoDocumento=\"\">");


                XML_Enviar.Append(" <Sucursal");
                XML_Enviar.Append(" CDINum=\"\"");
                XML_Enviar.Append(" CDINom=\"\"");
                XML_Enviar.Append(" CDIIVA=\"\"/>");

                XML_Enviar.Append(" <Documento");
                XML_Enviar.Append(" Folio=\"\"");
                XML_Enviar.Append(" CuentaNacional=\"\"");
                XML_Enviar.Append(" Status=\"\"");
                XML_Enviar.Append(" Fecha=\"\"");
                XML_Enviar.Append(" Remision=\"\"");
                XML_Enviar.Append(" Total=\"\"/>");



                XML_Enviar.Append(" <DetalleKey>");
                if (listaProdFacturaEspecialFinal.Count() > 0)
                {
                    foreach (EntradaSalidaDetalle d in listaProdFacturaEspecialFinal)
                    {
                        XML_Enviar.Append(" <Producto");
                        XML_Enviar.Append(" Codigo=\"" + d.Id_Prd.ToString() + "\"");
                        XML_Enviar.Append(" Descipcion=\"" + d.Prd_Descripcion.ToString().Replace("\"", "").Replace("'", "").Replace("&", "")
                                          + "\"");
                        XML_Enviar.Append(" Cantidad=\"" + d.Es_Cantidad + "\"");
                        XML_Enviar.Append(" Unidad=\"" + d.Prd_Unidad + "\"");
                        XML_Enviar.Append(" Presentacion=\"" + d.Prd_Presentacion + "\"");
                        XML_Enviar.Append(" Precio=\"" + d.Es_Costo + "\"");
                        XML_Enviar.Append(" />");
                    }
                }
                XML_Enviar.Append(" </DetalleKey>");

                XML_Enviar.Append(" </RemisionCuentaNacional>");



                XmlDocument xml = new XmlDocument();

                xml.LoadXml(XML_Enviar.ToString());


                XmlNode RemisionCuentaNacional = xml.SelectSingleNode("RemisionCuentaNacional");
                RemisionCuentaNacional.Attributes["TipoDocumento"].Value = "Entrada";

                XmlNode Sucursal = RemisionCuentaNacional.SelectSingleNode("Sucursal");
                Sucursal.Attributes["CDINum"].Value = entSal.Id_Cd.ToString();
                Sucursal.Attributes["CDINom"].Value = "Prueba";
                Sucursal.Attributes["CDIIVA"].Value = iva.ToString();


                XmlNode Documento = RemisionCuentaNacional.SelectSingleNode("Documento");
                Documento.Attributes["Folio"].Value          = entSal.Id_Es.ToString();
                Documento.Attributes["Status"].Value         = entSal.Es_Estatus.ToString();
                Documento.Attributes["CuentaNacional"].Value = entSal.Es_CteCuentaNacional.ToString();
                Documento.Attributes["Remision"].Value       = entSal.Es_Referencia.ToString();
                Documento.Attributes["Fecha"].Value          = entSal.Es_Fecha.ToShortDateString();
                Documento.Attributes["Total"].Value          = entSal.Es_Total.ToString();



                StringWriter  sw = new StringWriter();
                XmlTextWriter tx = new XmlTextWriter(sw);
                xml.WriteTo(tx);
                string xmlString = sw.ToString();

                WS_RemElectronicaCtaNacional.Service1 remelectronica = new WS_RemElectronicaCtaNacional.Service1();

                string sianRemisionElectronicaResult = remelectronica.Imprime_Entrada(xmlString).ToString();

                byte[] PDFRemision = this.Base64ToByte(sianRemisionElectronicaResult);


                string tempPDFname   = string.Concat("BAJAREMISION_", entSal.Id_Emp.ToString(), "_", entSal.Id_Cd.ToString(), "_", entSal.Id_U.ToString(), ".pdf");
                string URLtempPDF    = Server.MapPath(string.Concat(System.Configuration.ConfigurationManager.AppSettings["URLtempPDF"].ToString(), tempPDFname));
                string WebURLtempPDF = string.Concat(System.Configuration.ConfigurationManager.AppSettings["WebURLtempPDF"].ToString(), tempPDFname);
                this.ByteToTempPDF(URLtempPDF, PDFRemision);
                RadAjaxManager1.ResponseScripts.Add(string.Concat(@"AbrirFacturaPDF('", WebURLtempPDF, "')"));
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Exemplo n.º 10
0
        private void baja(ref GridCommandEventArgs e, ref List <string> statusPosibles, ref GridItem item)
        {
            Sesion Sesion = new Sesion();

            Sesion = (Sesion)Session["Sesion" + Session.SessionID];
            DateTime fecha = DateTime.Parse(rgEntSal.MasterTableView.Items[e.Item.ItemIndex]["Es_Fecha"].Text);

            ///Si el documento es automatico no se puede cancelar.
            ///Si el documento no se puede dar de baja, el sistema mostrará un mensaje:
            ///“Imposible dar de baja este documento.”
            if (rgEntSal.MasterTableView.Items[e.Item.ItemIndex]["ManAutStr"].Text != "Manual")
            {
                Alerta("Imposible dar de baja este documento");
                e.Canceled = true;
                return;
            }
            if (!(fecha >= Sesion.CalendarioIni && fecha <= Sesion.CalendarioFin))////validar fecha dentro del periodo
            {
                Alerta("La fecha se encuentra fuera del periodo");
                e.Canceled = true;
                return;
            }
            //validar que no sea tipo impreso
            statusPosibles = new List <string>()
            {
                "B"
            };
            if (statusPosibles.Contains(rgEntSal.MasterTableView.Items[e.Item.ItemIndex]["Es_Estatus"].Text.ToUpper()))
            {
                Alerta("El documento se encuentra en estatus no válido para realizar la baja");
                e.Canceled = true;
                return;
            }
            //Si es un movimiento de entrada va a checar si se tiene disponible
            //suficiente (inventario final menos asignado).
            EntradaSalida entSal = new EntradaSalida();

            entSal.Id_Emp               = int.Parse(rgEntSal.MasterTableView.Items[e.Item.ItemIndex]["Id_Emp"].Text);
            entSal.Id_Cd                = int.Parse(rgEntSal.MasterTableView.Items[e.Item.ItemIndex]["Id_Cd"].Text);
            entSal.Id_Es                = int.Parse(rgEntSal.MasterTableView.Items[e.Item.ItemIndex]["Id_Es"].Text);
            entSal.Es_Naturaleza        = int.Parse(rgEntSal.MasterTableView.Items[e.Item.ItemIndex]["Es_Naturaleza"].Text);
            entSal.Id_Tm                = int.Parse(rgEntSal.MasterTableView.Items[e.Item.ItemIndex]["Id_Tm"].Text);
            entSal.Id_Cte               = -1;
            entSal.Es_CteCuentaNacional = -1;
            new CN_CapEntradaSalida().ConsultarEntradaSalida(Sesion, Sesion.Id_Emp, Sesion.Id_Cd_Ver, entSal.Id_Es, entSal.Es_Naturaleza, ref entSal);//, ref dt);

            entSal.Es_Estatus = "B";

            List <EntradaSalidaDetalle> detalles = new List <EntradaSalidaDetalle>();

            //DataTable dt = new DataTable();
            new CN_CapEntradaSalida().ConsultarEntradaSalidaDetalles(Sesion, entSal, ref detalles); //, ref dt);
            //Cuando es cancelacion de una entrada
            if (rgEntSal.MasterTableView.Items[e.Item.ItemIndex]["Es_Naturaleza"].Text == "0")      // 0 es entrada, 1 es salida
            {                                                                                       //***************************************
                //Agrupar lista de EntsalDetalles y VALIDAR el DISPONIBLE de los productos
                DataTable dt_detalles = new DataTable();
                dt_detalles.Columns.Add("Id_Prd");
                dt_detalles.Columns.Add("Cantidad");
                foreach (EntradaSalidaDetalle EnSalDet in detalles)
                {
                    dt_detalles.Rows.Add(new object[] { EnSalDet.Id_Prd, EnSalDet.Es_Cantidad });
                }
                DataTable dt_detalles2 = new DataTable();
                dt_detalles2.Columns.Add("Id_Prd");
                dt_detalles2.Columns.Add("Cantidad");
                DataRow[] editable_dr;
                foreach (DataRow rowdt in dt_detalles.Rows)
                {
                    if (dt_detalles2.Select("Id_Prd='" + rowdt["Id_Prd"].ToString() + "'").Length > 0)
                    {
                        editable_dr = dt_detalles2.Select("Id_Prd='" + rowdt["Id_Prd"].ToString() + "'");
                        editable_dr[0].BeginEdit();
                        editable_dr[0]["Cantidad"] = int.Parse(editable_dr[0]["Cantidad"].ToString()) + int.Parse(rowdt["Cantidad"].ToString());
                        editable_dr[0].AcceptChanges();
                    }
                    else
                    {
                        dt_detalles2.Rows.Add(new object[] { rowdt["Id_Prd"].ToString(), rowdt["Cantidad"].ToString() });
                    }
                }

                foreach (DataRow row in dt_detalles2.Rows)
                {
                    int disponible = 0;
                    int invFinal   = 0;
                    int asignado   = 0;
                    new CN_CapEntradaSalida().ConsultarDisponible(Sesion, int.Parse(row["Id_Prd"].ToString()), ref disponible, ref invFinal, ref asignado);
                    if (int.Parse(row["Cantidad"].ToString()) > disponible)
                    {// MSG asignado por antiguo sian
                        Alerta("Producto " + row["Id_Prd"].ToString() +
                               " inventario disponible insuficiente, inventario final: " + invFinal.ToString() +
                               ", asignado: " + asignado.ToString() + ", disponible: " + disponible.ToString());
                        e.Canceled = true;
                        return;
                    }
                }
            }
            ///Cuando es la cancelación de una entrada se le va a decrementar y cuando es
            //la cancelación de una salida se va a incrementar el inventario
            //CANCELAR EL MOVIMIENTO
            int afecta = -1;

            switch (entSal.Id_Tm)
            {
            case 6:
            case 15:
            case 16:
                afecta = 0;
                break;

            case 7:
            case 11:
            case 12:
            case 13:
                //Afectan remision
                afecta = 1;
                break;

            case 2:
            case 4:
                //Afectan orden de compra
                afecta = 2;
                entSal.Es_Referencia = "sin ref";
                break;

            case 14:
                afecta = 3;
                break;

            default:
                //No afectan nada
                break;
            }
            int verificador = -1;

            try
            {
                CN_CatCliente cn_catcliente = new CN_CatCliente();
                Clientes      cliente       = new Clientes();
                cliente.Id_Emp = Sesion.Id_Emp;
                cliente.Id_Cd  = Sesion.Id_Cd_Ver;
                cliente.Id_Cte = entSal.Id_Cte;

                new CN_CapEntradaSalida().BajaEntradaSalida(ref entSal, ref detalles, Sesion, ref verificador, afecta, entSal.Es_Naturaleza == 1 ? false : true, false);
                rgEntSal.Rebind();
                Alerta("El documento se dio de baja correctamente"); //<==CAMBIAR MSG
                cn_catcliente.ConsultaClientes(ref cliente, Sesion.Emp_Cnx);

                if (cliente.Cte_RemisionElectronica != -1)
                {
                    ImprimirRemisionElectronica(entSal);
                }
            }
            catch (Exception ex)
            {
                Alerta(ex.Message);
            }
        }
Exemplo n.º 11
0
        private void Imprimir(ref GridCommandEventArgs e, ref List <string> statusPosibles)
        {
            try
            {   ///El movimiento solo se podrá imprimir siempre y cuando se encuentre en estatus C capturado, e I de impreso.
                ///Lo manda a imprimir, y se cambia el estatus a impreso.
                statusPosibles = new List <string>()
                {
                    "C", "I"
                };
                if (!statusPosibles.Contains(rgEntSal.MasterTableView.Items[e.Item.ItemIndex]["Es_Estatus"].Text.ToUpper()))
                {
                    Alerta("El documento se encuentra en estatus no válido");
                    e.Canceled = true;
                    return;
                }
                int Id_Emp        = int.Parse(rgEntSal.MasterTableView.Items[e.Item.ItemIndex]["Id_Emp"].Text);
                int Id_Cd_Ver     = int.Parse(rgEntSal.MasterTableView.Items[e.Item.ItemIndex]["Id_Cd"].Text);
                int Id_Es         = int.Parse(rgEntSal.MasterTableView.Items[e.Item.ItemIndex]["Id_Es"].Text);
                int Es_Naturaleza = int.Parse(rgEntSal.MasterTableView.Items[e.Item.ItemIndex]["Es_Naturaleza"].Text);

                GridItem gi     = Session["Pedido" + Session.SessionID] as GridItem;
                Sesion   sesion = (Sesion)Session["Sesion" + Session.SessionID];



                EntradaSalida entSal = new EntradaSalida();
                new CN_CapEntradaSalida().ConsultarEncabezadoImprimir(sesion, Id_Emp, Id_Cd_Ver, Id_Es, Es_Naturaleza, ref entSal);
                entSal.Id_Es = Id_Es;

                if (entSal.Id_Tm == 25)
                {
                    CN_CatCliente cn_catcliente = new CN_CatCliente();
                    Clientes      cliente       = new Clientes();
                    cliente.Id_Emp = sesion.Id_Emp;
                    cliente.Id_Cd  = sesion.Id_Cd_Ver;
                    cliente.Id_Cte = entSal.Id_Cte;
                    cn_catcliente.ConsultaClientes(ref cliente, sesion.Emp_Cnx);

                    if (cliente.Cte_RemisionElectronica != -1)
                    {
                        ImprimirRemisionElectronica(entSal);
                        return;
                    }
                }

                ArrayList ALValorParametrosInternos = new ArrayList();



                ALValorParametrosInternos.Add(entSal.Es_NaturalezaStr);
                ALValorParametrosInternos.Add(entSal.Es_Fecha);
                ALValorParametrosInternos.Add(entSal.Nombre_Cliente);
                ALValorParametrosInternos.Add(entSal.Calle);
                ALValorParametrosInternos.Add(entSal.Numero);//<
                ALValorParametrosInternos.Add(entSal.Colonia);
                ALValorParametrosInternos.Add(entSal.Municipio);
                ALValorParametrosInternos.Add(entSal.Estado);
                ALValorParametrosInternos.Add(entSal.Id_Cte);
                ALValorParametrosInternos.Add(entSal.Id_Tm);
                ALValorParametrosInternos.Add(entSal.Tm_Nombre);
                ALValorParametrosInternos.Add(entSal.Es_Referencia);
                ALValorParametrosInternos.Add(entSal.Id_Cd);
                ALValorParametrosInternos.Add((entSal.Id_Ter == -1) ? string.Empty : entSal.Id_Ter.ToString());
                ALValorParametrosInternos.Add(entSal.Id_Rik == -1 ? string.Empty : entSal.Id_Rik.ToString());
                ALValorParametrosInternos.Add(entSal.Es_SubTotal);
                ALValorParametrosInternos.Add(entSal.Es_Iva);
                ALValorParametrosInternos.Add(entSal.Es_Total);
                //parametros para el cuerpo del reporte
                ALValorParametrosInternos.Add(Id_Emp);
                ALValorParametrosInternos.Add(Id_Es);
                ALValorParametrosInternos.Add(entSal.Es_Naturaleza);
                //conexion
                ALValorParametrosInternos.Add(sesion.Emp_Cnx);
                ALValorParametrosInternos.Add(entSal.Es_Notas);
                Type instance = null;
                instance = typeof(LibreriaReportes.EntSalImprimir);
                Session["InternParameter_Values" + Session.SessionID + HF_ClvPag.Value] = null;
                Session["InternParameter_Values" + Session.SessionID + HF_ClvPag.Value] = ALValorParametrosInternos;
                Session["assembly" + Session.SessionID + HF_ClvPag.Value] = instance.AssemblyQualifiedName;

                //NOTA: El estatus de impresión, lo pone cuando el reporte se carga
                if (_PermisoImprimir)
                {
                    RadAjaxManager1.ResponseScripts.Add("AbrirReporteCve('" + HF_ClvPag.Value + "');");
                }
                else
                {
                    Alerta("No tiene permiso para imprimir");
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }