private void EntSalImprimir_NeedDataSource(object sender, EventArgs e)
        {
            try
            {
                this.sqlConnection2.ConnectionString = this.ReportParameters["Conexion"].Value.ToString();
                //Transfer the ReportParameter value to the parameter of the select command
                this.sqlDataAdapter1.SelectCommand.Parameters["@Id_Emp"].Value           = this.ReportParameters["Id_Emp"].Value;
                this.sqlDataAdapter1.SelectCommand.Parameters["@Id_Cd"].Value            = this.ReportParameters["Id_Cd"].Value;
                this.sqlDataAdapter1.SelectCommand.Parameters["@Id_Es"].Value            = this.ReportParameters["Id_Es"].Value;
                this.sqlDataAdapter1.SelectCommand.Parameters["@EsDet_Naturaleza"].Value = this.ReportParameters["EsDet_Naturaleza"].Value;

                //Take the Telerik.Reporting.Processing.Report instance and set the adapter as it's DataSource
                Telerik.Reporting.Processing.Report report = (Telerik.Reporting.Processing.Report)sender;
                report.DataSource = this.sqlDataAdapter1;

                // ---------------------------------------------------------------------------------------------
                // Si se asigno correctamente el origen de datos, se actualiza el estatus de la orden de compra
                // ---------------------------------------------------------------------------------------------
                //actualiza estatus de entrada salida a Impreso (I)
                int           verificador = 0;
                EntradaSalida entSal      = new EntradaSalida();

                entSal.Id_Emp = int.Parse(this.ReportParameters["Id_Emp"].Value.ToString());
                entSal.Id_Cd  = int.Parse(this.ReportParameters["Id_Cd"].Value.ToString());
                //this.sqlDastaAdapter1.SelectCommand.Parameters["@Id_Es"].Value = this.ReportParameters["@Id_Es"].Value; <==borrame
                entSal.Id_Es         = int.Parse(this.ReportParameters["Id_Es"].Value.ToString());
                entSal.Es_Naturaleza = int.Parse(this.ReportParameters["EsDet_Naturaleza"].Value.ToString());
                entSal.Es_Estatus    = "i";
                new CN_CapEntradaSalida().ModificarEntradaSalida_Estatus(entSal, this.ReportParameters["Conexion"].Value.ToString(), ref verificador);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Beispiel #2
0
 public void ModificarEntradaSalida_Estatus(EntradaSalida entradaSalida, string conexion, ref int verificador)
 {
     try
     {
         new CD_CapEntradaSalida().ModificarEntradaSalida_Estatus(entradaSalida, conexion, ref verificador);
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
Beispiel #3
0
 /// <summary>
 /// Recibe un objeto EntradaSalida y consulta sus detalles
 /// </summary>
 /// <param name="sesion"></param>
 /// <param name="entsal"></param>
 /// <param name="detalles"></param>
 public void ConsultarEntradaSalidaDetalles(Sesion sesion, EntradaSalida entsal, ref List <EntradaSalidaDetalle> detalles)//, ref DataTable dt)
 {
     try
     {
         new CD_CapEntradaSalida().ConsultarEntradaSalidaDetalles(sesion, entsal, ref detalles);//, ref dt);
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
Beispiel #4
0
 public void ConsultarDisponible(EntradaSalida entsal, string Conexion, int producto, int cantidad, ref string verificador)
 {
     try
     {
         new CD_CapEntradaSalida().ConsultarDisponible(entsal, Conexion, producto, cantidad, ref verificador);
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
Beispiel #5
0
 public void InsertarEntradaSalida_BajaRemisionesSIAN(ref EntradaSalida entSal, string Conexion, ref int verificador)
 {
     try
     {
         new CD_CapEntradaSalida().InsertarEntradaSalida_BajaRemisionesSIAN(ref entSal, Conexion, ref verificador);
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
Beispiel #6
0
 public void EdicionEntradaSalida(EntradaSalida entsal, List <EntradaSalidaDetalle> listaDetalle, ref string verificadorStr, int strEmp, string Conexion)
 {
     try
     {
         CD_CapEntradaSalida cd_capEntradaSalida = new CD_CapEntradaSalida();
         cd_capEntradaSalida.EdicionEntradaSalida(entsal, listaDetalle, verificadorStr, strEmp, Conexion);
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
Beispiel #7
0
 /// <summary>
 /// Asignarle el estatus de baja desde un principio
 /// </summary>
 /// <param name="entradaSalida"></param>
 /// <param name="detalles"></param>
 /// <param name="sesion"></param>
 /// <param name="verificador"></param>
 /// <param name="afecta"></param>
 /// <param name="entrada"></param>
 public void BajaEntradaSalida(ref EntradaSalida entradaSalida, ref List <EntradaSalidaDetalle> detalles, Sesion sesion, ref int verificador,
                               int afecta, bool entrada, bool actualizacionDocumento)
 {
     try
     {
         CapaDatos.CD_Datos CapaDatos = null;
         new CD_CapEntradaSalida().BajaEntradaSalida(ref entradaSalida, ref detalles, sesion, ref verificador, afecta, entrada,
                                                     actualizacionDocumento, ref CapaDatos);
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
Beispiel #8
0
        /// <summary>
        /// Insertar factura
        /// </summary>
        public void InsertarFactura(Sesion sesion, ref Factura factura, ref DataTable listaFacturaDet, ref DataTable listaFacturaDetAdenda, int CantidadR, string Conexion,
                                    ref int verificador, ref int?Id_Ped, ref List <EntradaSalida> listaEntSalRemisiones, List <AdendaDet> listAdendaCabecera,
                                    string IdRF, string arrayRemisiones, ref EntradaSalida entSal, ref List <EntradaSalidaDetalle> listaEntSalDetalle, ref FacturaEspecial facturaEsp, ref List <FacturaDet> listaProductosFacturaEspecial, bool actualizar)// int Id_Tm_Rem)
        {
            try
            {
                CD_CapFactura claseCapaDatos = new CD_CapFactura();

                claseCapaDatos.InsertarFactura(sesion, ref factura, ref listaFacturaDet, ref listaFacturaDetAdenda, CantidadR, Conexion, ref verificador, ref Id_Ped, ref listaEntSalRemisiones, listAdendaCabecera, IdRF, arrayRemisiones, ref entSal, ref listaEntSalDetalle, ref facturaEsp, ref listaProductosFacturaEspecial, actualizar);//, Id_Tm_Rem);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Beispiel #9
0
        //public void ConsultarCantidadEntradasCentroDist(ref int verificador, int Id_Cd, string Conexion)
        //{
        //    try
        //    {
        //        new CD_CapEntradaSalida().ConsultarCantidadEntradasCentroDist(ref verificador, Id_Cd, Conexion);
        //    }
        //    catch (Exception ex)
        //    {
        //        throw ex;
        //    }
        //}

        //public void ConsultarCantidadSalidasCentroDist(ref int verificador, int Id_Cd, string Conexion)
        //{
        //    try
        //    {
        //        new CD_CapEntradaSalida().ConsultarCantidadSalidasCentroDist(ref verificador, Id_Cd, Conexion);
        //    }
        //    catch (Exception ex)
        //    {
        //        throw ex;
        //    }
        //}

        public void EdicionEntradaSalida(ref EntradaSalida entradaSalida, ref List <EntradaSalidaDetalle> detalles, Sesion sesion,
                                         ref int verificador, int tipo_movimiento, int grupoMovimientosActivo, int afecta, bool entrada,
                                         System.Data.DataTable preciosModificar, ref string verificadorStr, int VGEmpresa)
        {
            try
            {
                CD_CapEntradaSalida cd_capEntradaSalida = new CD_CapEntradaSalida(); //xyz
                cd_capEntradaSalida.EditarEntradaSalida(ref entradaSalida, ref detalles, sesion, ref verificador, tipo_movimiento,
                                                        grupoMovimientosActivo, afecta, entrada, preciosModificar, ref verificadorStr, VGEmpresa);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Beispiel #10
0
        /// <summary>
        /// Insertar factura con pedido previo, tipo MOv. 16, (aparatos in productivos)
        /// </summary>
        public void ModificarFactura_AparatosInproductivos(ref Factura factura, ref DataTable listaFacturaDet, ref DataTable listaFacturaDetAdenda
                                                           , int CantidadR
                                                           , string Conexion
                                                           , ref int verificador
                                                           , ref EntradaSalida entSal
                                                           , ref List <EntradaSalidaDetalle> listaEntSalDetalle
                                                           , ref List <EntradaSalida> listaEntSalRemisiones, List <AdendaDet> listAdendaCabecera, string idRF, string arrayRemisiones)
        {
            try
            {
                CD_CapFactura claseCapaDatos = new CD_CapFactura();

                claseCapaDatos.ModificarFactura_AparatosInproductivos(ref factura, ref listaFacturaDet, ref listaFacturaDetAdenda, CantidadR, Conexion, ref verificador, ref entSal
                                                                      , ref listaEntSalDetalle, ref listaEntSalRemisiones, listAdendaCabecera, idRF, arrayRemisiones);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Beispiel #11
0
        private List <EntradaSalida> GetList()
        {
            try
            {
                List <EntradaSalida> entradasSalidas = new List <EntradaSalida>();
                EntradaSalida        entsal          = new EntradaSalida();
                Sesion session = new Sesion();
                session = (Sesion)Session["Sesion" + Session.SessionID];
                CN_CapEntradaSalida cnentSal = new CN_CapEntradaSalida();
                int ManAut;
                switch (cmbManAuto.SelectedValue)
                {
                case "1":
                    ManAut = 1;     //manual
                    break;

                case "0":
                    ManAut = 0;     //automatico
                    break;

                default:
                    ManAut = -1;     //todos los demas
                    break;
                }
                cnentSal.ConsultarEntradasSalidas(ref entradasSalidas, ref entsal, session,
                                                  txtNombre2.Text,
                                                  txtCliente1.Text == "" ? -1 : int.Parse(txtCliente1.Text), txtCliente2.Text == "" ? -1 : int.Parse(txtCliente2.Text),
                                                  ManAut,
                                                  txtProveedor1.Text == "" ? -1 : int.Parse(txtProveedor1.Text), txtProveedor2.Text == "" ? -1 : int.Parse(txtProveedor2.Text),
                                                  txtReferencia2.Text,
                                                  dpFecha1.SelectedDate, dpFecha2.SelectedDate,//<==
                                                  cmbEstatus.SelectedValue,
                                                  txtNumero1.Text == "" ? -1 : int.Parse(txtNumero1.Text), txtCliente3.Text == "" ? -1 : int.Parse(txtCliente3.Text));
                return(entradasSalidas);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Beispiel #12
0
        private void Guardar()
        {
            try
            {
                Sesion sesion = (Sesion)Session["Sesion" + Session.SessionID];

                PartidasBajaRemisionSian pbr = null;
                if (Session["PartidasBajaRemisionSianC" + Session.SessionID] != null)
                {
                    string   cookie_data = Session["PartidasBajaRemisionSianC" + Session.SessionID].ToString();
                    string[] arrayCookie = cookie_data.Split(new char[] { '|' });
                    pbr = new PartidasBajaRemisionSian();

                    foreach (string dato in arrayCookie)
                    {
                        string[] datoValores = dato.Split(new char[] { '=' });
                        switch (datoValores[0].Trim())
                        {
                        case "ocprocostosian":
                            pbr.Ocprocostosian = datoValores[1].Trim().Split(new char[] { ',' });
                            break;

                        case "ocfechasian":
                            pbr.Ocfechasian = datoValores[1].Trim().Split(new char[] { ',' });
                            break;

                        case "ocremsian":
                            pbr.Ocremsian = datoValores[1].Trim().Split(new char[] { ',' });     //<--- ESTE ES EL IDENTIFICADOR
                            break;

                        case "oczonnumsian":
                            pbr.Oczonnumsian = datoValores[1].Trim().Split(new char[] { ',' });
                            break;

                        case "ocpronumsian":
                            pbr.Ocpronumsian = datoValores[1].Trim().Split(new char[] { ',' });
                            break;

                        case "ocantidadsian":
                            pbr.Ocantidadsian = datoValores[1].Trim().Split(new char[] { ',' });
                            break;

                        case "ocrecibida":
                            pbr.Ocrecibida = datoValores[1].Trim().Split(new char[] { ',' });
                            break;

                        case "cantidad":
                            pbr.Cantidad = datoValores[1].Trim().Split(new char[] { ',' });
                            break;
                        }
                    }
                }
                //Request.Cookies.Remove("PartidasBajaRemisionSianC");
                if (pbr != null)
                {
                    //llenar objeto de entrada-salida
                    EntradaSalida entSal = new EntradaSalida();
                    entSal.Id_Emp        = sesion.Id_Emp;
                    entSal.Id_Cd         = sesion.Id_Cd_Ver;
                    entSal.Id_U          = sesion.Id_U;
                    entSal.Id_Tm         = 4;
                    entSal.Id_Cte        = 0; //se debe enviar como NULL cuando se guarde
                    entSal.Id_Pvd        = 100;
                    entSal.Es_Naturaleza = 0; //entrada
                    entSal.Es_Fecha      = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day);
                    if (pbr.Ocrecibida != null && pbr.Ocremsian != null && pbr.Ocfechasian != null)
                    {
                        if ((pbr.Ocrecibida.Length > 0) && (pbr.Ocremsian.Length > 0) && (pbr.Ocfechasian.Length > 0))
                        {
                            entSal.Es_Referencia = pbr.Ocremsian[0];
                            entSal.Es_Notas      = string.Concat("Entrada automática de almacén central con el folio ", pbr.Ocremsian[0], " el dia ", pbr.Ocfechasian[0]);
                        }
                    }
                    entSal.Es_SubTotal = 0;
                    entSal.Es_Iva      = 0;
                    entSal.Es_Total    = 0; // <--- se calcula en el SP
                    entSal.Es_Estatus  = "I";

                    List <EntradaSalidaDetalle> listaEntSal = new List <EntradaSalidaDetalle>();
                    //List<OrdenCompraDet> listaOCDet = new List<OrdenCompraDet>();
                    string mensaje     = string.Empty;
                    int    verificador = 0;

                    //Recorre array de partidas segun los datos que llegaron por HTTP POST
                    if (pbr.Ocpronumsian != null)
                    {
                        for (int i = 0; i < pbr.Ocpronumsian.Length; i++)
                        {
                            //OrdenCompraDet OCDet = new OrdenCompraDet();
                            //OCDet.Id_Emp = entSal.Id_Emp;
                            //OCDet.Id_Cd = entSal.Id_Cd;
                            //OCDet.Id_Ord = Convert.ToInt32(pbr.Ocremsian[0]);
                            //OCDet.Ord_CantidadCump = Convert.ToSingle(pbr.Cantidad[0]);
                            //listaOCDet.Add(OCDet);

                            //Crear item de lista de entrada-salida mov. 16
                            EntradaSalidaDetalle entSalDetalle = new EntradaSalidaDetalle();
                            entSalDetalle.Id_Emp           = entSal.Id_Emp;
                            entSalDetalle.Id_Cd            = entSal.Id_Cd;
                            entSalDetalle.Id_Es            = 0; //se reasigna al insertar la entSal de encabezado
                            entSalDetalle.Id_EsDet         = 0; //se reasigna al insertar la entSalDetalle
                            entSalDetalle.Id_Ter           = 0; //se debe enviar como NULL cuando se guarde
                            entSalDetalle.Id_Prd           = Convert.ToInt32(pbr.Ocpronumsian[i]);
                            entSalDetalle.EsDet_Naturaleza = 0; //entrada
                            entSalDetalle.Es_Cantidad      = Convert.ToInt32(pbr.Cantidad[i]);
                            entSalDetalle.Es_Costo         = Convert.ToDouble(pbr.Ocprocostosian[i]);
                            entSalDetalle.Es_BuenEstado    = true;
                            entSalDetalle.Afct_OrdCompra   = true;
                            entSalDetalle.Es_CantidadRem   = Convert.ToInt32(pbr.Ocantidadsian[i]); //OGC
                            listaEntSal.Add(entSalDetalle);
                        }
                    }
                    entSal.ListaDetalle = listaEntSal;
                    // ------------------------------------------------------------
                    // Insertar movimiento de Entrada y actualzar inventario
                    // ------------------------------------------------------------
                    if (!string.IsNullOrEmpty(entSal.Es_Referencia))
                    {
                        new CN_CapEntradaSalida().InsertarEntradaSalida_BajaRemisionesSIAN(ref entSal, sesion.Emp_Cnx, ref verificador);
                    }
                    else
                    {
                        throw new Exception("El sistema no pudo obtener la información para realizar la baja de remisiones a SIAN");
                    }
                }
                else
                {
                    throw new Exception("El sistema no pudo obtener la información para realizar la baja de remisiones a SIAN");
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Beispiel #13
0
 /// <summary>
 /// Eliminación de factura, Baja lógica
 /// </summary>
 public void EliminarFactura(ref Factura factura, string Conexion, ref int verificador, ref EntradaSalida entSal
                             , ref List <EntradaSalidaDetalle> listaEntSalDetalle)
 {
     try
     {
         new CD_CapFactura().EliminarFactura(ref factura, Conexion, ref verificador, ref entSal, ref listaEntSalDetalle);//, ref notaCredito, ref listaNotaCredDetalle);
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
Beispiel #14
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;
            }
        }
Beispiel #15
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);
            }
        }
Beispiel #16
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;
            }
        }
Beispiel #17
0
 /// <summary>
 /// Trae una lista de EntradasSalidas de acuerdo a los parametros de busqueda seleccionados
 /// </summary>
 /// <param name="entradasSalidas"></param>
 /// <param name="entradaSalida"></param>
 /// <param name="sesion"></param>
 /// <param name="NombreCliente"></param>
 /// <param name="ClienteIni"></param>
 /// <param name="ClienteFin"></param>
 /// <param name="ManAut"></param>
 /// <param name="ProveedorIni"></param>
 /// <param name="ProveedorFin"></param>
 /// <param name="Es_Referencia"></param>
 /// <param name="FechaIni"></param>
 /// <param name="FechaFin"></param>
 /// <param name="Estatus"></param>
 /// <param name="NumeroIni">Rango de documentos: Id inicial </param>
 /// <param name="NumeroFin">Rango de documentos: Id final</param>
 public void ConsultarEntradasSalidas(ref List <EntradaSalida> entradasSalidas, ref EntradaSalida entradaSalida, CapaEntidad.Sesion sesion,
                                      string NombreCliente, int ClienteIni, int ClienteFin, int ManAut, int ProveedorIni, int ProveedorFin, string Es_Referencia,
                                      DateTime?FechaIni, DateTime?FechaFin,
                                      string Estatus, int NumeroIni, int NumeroFin)
 {
     try
     {
         new CD_CapEntradaSalida().ConsultarEntradasSalidas(ref entradasSalidas, ref entradaSalida, sesion,
                                                            NombreCliente, ClienteIni, ClienteFin, ManAut, ProveedorIni, ProveedorFin, Es_Referencia,
                                                            FechaIni, FechaFin,
                                                            Estatus, NumeroIni, NumeroFin);
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
Beispiel #18
0
 public void ConsultarEntradaSalida(Sesion sesion, int Id_Emp, int Id_Cd_Ver, int Id_Es, int Es_Naturaleza, ref EntradaSalida entradaSalida)
 {
     try
     {
         new CD_CapEntradaSalida().ConsultarEntradaSalida(sesion, Id_Emp, Id_Cd_Ver, Id_Es, Es_Naturaleza, ref entradaSalida);
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }