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; } }
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; } }
/// <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; } }
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; } }
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; } }
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; } }
/// <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; } }
/// <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; } }
//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; } }
/// <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; } }
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; } }
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; } }
/// <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; } }
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; } }
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); } }
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; } }
/// <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; } }
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; } }