private void grvListado_ValidatingEditor(object senDet, DevExpress.XtraEditors.Controls.BaseContainerValidateEditorEventArgs e) { try { clsComEntMercanciasDet objFilaDetalle = (clsComEntMercanciasDet)this.grvListado.GetRow(this.grvListado.FocusedRowHandle); if (this.grvListado.FocusedColumn == colDetCantBruta) { objFilaDetalle.DetCantBruta = decimal.Parse(e.Value.ToString()); objFilaDetalle.DetTotTara = objFilaDetalle.DetTara + objFilaDetalle.DetTolerancia; objFilaDetalle.DetCantNeta = objFilaDetalle.DetCantBruta - objFilaDetalle.DetTotTara; this.proCalcularTotales(); } else if (this.grvListado.FocusedColumn == colDetTara) { objFilaDetalle.DetTara = decimal.Parse(e.Value.ToString()); objFilaDetalle.DetTotTara = objFilaDetalle.DetTara + objFilaDetalle.DetTolerancia; objFilaDetalle.DetCantNeta = objFilaDetalle.DetCantBruta - objFilaDetalle.DetTotTara; this.proCalcularTotales(); } else if (this.grvListado.FocusedColumn == colDetAbreviatura) { string varAenCodigo = e.Value.ToString(); var objFilaAbreviatura = objDetalleAbr.Where(p => p.AenCodigo == varAenCodigo).Select(p => new { p.AenCodigo, p.IteCodigo, p.AenTara }).ToList(); //Verificamos si existe la abreviatura digitada if (objFilaAbreviatura.Count > 0) { clsInvItem csItem = clsInvItem.funListar(objFilaAbreviatura[0].IteCodigo)[0]; objFilaDetalle.DetAbreviatura = objFilaAbreviatura[0].AenCodigo; objFilaDetalle.IteCodigo = csItem.ItemCode; objFilaDetalle.IteNombre = csItem.ItemName; objFilaDetalle.IteUndInventario = csItem.InvntryUom; objFilaDetalle.DetTara = objFilaAbreviatura[0].AenTara; objFilaDetalle.DetTieLote = csItem.ManBtchNum; objFilaDetalle.DetLote = csItem.ManBtchNum.Equals("Y") ? this.txtLote.Text : ""; objFilaDetalle.DetCantNeta = objFilaDetalle.DetCantBruta - objFilaDetalle.DetTara - objFilaDetalle.DetTolerancia; } else { objFilaDetalle.DetAbreviatura = ""; objFilaDetalle.IteCodigo = ""; objFilaDetalle.IteNombre = ""; objFilaDetalle.IteUndInventario = ""; objFilaDetalle.DetTara = 0; objFilaDetalle.DetTieLote = "N"; objFilaDetalle.DetLote = ""; objFilaDetalle.DetCantNeta = 0; } this.proCalcularTotales(); } } catch (Exception ex) { XtraMessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
private void smiEliminar_Click(object sender, EventArgs e) { try { if (this.grvListado.IsFocusedView) { clsComEntMercanciasDet objFilaDetalle = (clsComEntMercanciasDet)this.grvListado.GetRow(this.grvListado.FocusedRowHandle); objDetalle.Remove(objFilaDetalle); this.grcListado.RefreshDataSource(); this.proCalcularTotales(); } } catch (Exception ex) { XtraMessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
private void xfrmComManEntMercancias_KeyDown(object senDet, KeyEventArgs e) { try { if (e.Control) { if (e.KeyCode == Keys.F4) { btnCancelar.PerformClick(); } } if (e.KeyCode == Keys.Enter) { if (this.grcListado.IsFocused) { if (this.grvListado.FocusedColumn != colDetCantBruta && this.grvListado.FocusedColumn != colDetCantNeta) { return; } //Recuperamos la fila clsComEntMercanciasDet objFilaDetalle; if (this.grvListado.FocusedColumn == colDetCantBruta) { //if (!this.puertoSerial.IsOpen) //{ // this.puertoSerial.Close(); // this.puertoSerial.PortName = "COM1"; // this.puertoSerial.Open(); //} //puertoSerial.NewLine = Environment.NewLine; //puertoSerial.WriteLine("P" + System.Convert.ToChar(13)); //XtraMessageBox.Show("Peso capturado"); //Thread.Sleep(1000); int o = 0; int posicionpb = 0; string varCadena = ""; while (posicionpb == 0) { this.butCapturar.PerformClick(); XtraMessageBox.Show("Peso capturado"); //this.butCapturar.PerformClick(); varCadena = varConsola.Replace(" ", ""); posicionpb = varCadena.IndexOf("kg?G\r\n") == -1 ? varCadena.IndexOf("kgG\r\n") : varCadena.IndexOf("kg?G\r\n"); if (posicionpb == -1) { posicionpb = 0; } o++; if (o.Equals(2)) { return; } } int posicion = varCadena.IndexOf("\r\n"); varCadena = varCadena.Substring(posicion + 2, varCadena.Length - (posicion + 2)); int posicion2 = varCadena.IndexOf("\r\n"); posicionpb = varCadena.IndexOf("kg?G\r\n") == -1 ? varCadena.IndexOf("kgG\r\n") : varCadena.IndexOf("kg?G\r\n"); if (posicion2 < posicionpb) { varCadena = varCadena.Substring(posicion2 + 2, varCadena.Length - (posicion2 + 2)); } posicionpb = varCadena.IndexOf("kg?G\r\n") == -1 ? varCadena.IndexOf("kgG\r\n") : varCadena.IndexOf("kg?G\r\n"); string varPesBruto = varCadena.Substring(0, posicionpb).Trim(); this.grvListado.SetRowCellValue(this.grvListado.FocusedRowHandle, "DetCantBruta", decimal.Parse(varPesBruto)); objFilaDetalle = (clsComEntMercanciasDet)this.grvListado.GetRow(this.grvListado.FocusedRowHandle); objFilaDetalle.DetCantBruta = decimal.Parse(varPesBruto.ToString()); objFilaDetalle.DetCantNeta = objFilaDetalle.DetCantBruta - objFilaDetalle.DetTara - objFilaDetalle.DetTolerancia; this.puertoSerial.DiscardInBuffer(); this.puertoSerial.DiscardOutBuffer(); this.proCalcularTotales(); this.grvListado.FocusedColumn = colDetCantNeta; this.txtConsola.Text = ""; } else if (this.grvListado.FocusedColumn == colDetCantNeta) { objFilaDetalle = (clsComEntMercanciasDet)this.grvListado.GetRow(this.grvListado.FocusedRowHandle); int varSecuencia = objDetalle.Max(p => p.DetSecuencia); int varPosicionFila = this.grvListado.FocusedRowHandle; object varFilaNueva = this.grvListado.GetRowCellValue(this.grvListado.RowCount - 1, colIteCodigo); //Validamos que los campos ha sido debidamente ingresados string varMensaje = objFilaDetalle.funValidarFila(); if (!varMensaje.Equals("")) { string varControl = varMensaje.Split(':')[0]; string varError = varMensaje.Split(':')[1].Trim(); this.grvListado.SetColumnError(this.grvListado.Columns[varControl], varError); this.grvListado.FocusedColumn = this.grvListado.Columns[varControl]; return; } if (varFilaNueva == null || varFilaNueva == DBNull.Value) { if (this.grvListado.RowCount - 1 == 0) { this.objDetalle.Add(new clsComEntMercanciasDet(varSecuencia)); } } else if (this.grvListado.FocusedRowHandle == this.grvListado.RowCount - 1) { if (varOpeCodigo.Equals(2)) //Para la operacion de modificar { //Setencias utilizadas para guardar cada 5 registros int varCuantasLineas = this.grvListado.RowCount; if ((((decimal)varCuantasLineas / 10) - Math.Truncate((decimal)varCuantasLineas / 10)) == 0) { this.grvListado.FocusedColumn = colDetSecuencia; this.grvListado.FocusedColumn = colDetCantNeta; int varPosicion = this.grvListado.FocusedRowHandle; this.grvListado.FocusedRowHandle = varPosicion - 5; this.grvListado.FocusedRowHandle = varPosicion; varBandGuardar = true; this.proGrabar(); varBandGuardar = false; } } string varTotal = decimal.Round(objFilaDetalle.DetCantBruta - objFilaDetalle.DetTara - objFilaDetalle.DetTolerancia, 2).ToString() + " KG"; //proImprimirEtiqueta(bedProveedor.EditValue.ToString(), txtNombre.Text, (DateTime)datFecha.EditValue, varTotal); clsComEntMercanciasDet objNewFilaDetalle = new clsComEntMercanciasDet(); objNewFilaDetalle.DetSecuencia = varSecuencia + 1; objNewFilaDetalle.IteCodigo = objFilaDetalle.IteCodigo; objNewFilaDetalle.IteNombre = objFilaDetalle.IteNombre; objNewFilaDetalle.IteUndInventario = objFilaDetalle.IteUndInventario; objNewFilaDetalle.DetCantBruta = 0; objNewFilaDetalle.DetTara = objFilaDetalle.DetTara; objNewFilaDetalle.DetCantNeta = 0; objNewFilaDetalle.DetLote = objFilaDetalle.DetTieLote.Equals("N") ? "" : this.txtLote.Text; objNewFilaDetalle.DetTieLote = objFilaDetalle.DetTieLote; objNewFilaDetalle.DetAbreviatura = objFilaDetalle.DetAbreviatura; objNewFilaDetalle.DetTolerancia = objFilaDetalle.DetTolerancia; objNewFilaDetalle.DetTotTara = objFilaDetalle.DetTotTara; objNewFilaDetalle.DetUnidad = 0; objNewFilaDetalle.DetCantidad = 0; objNewFilaDetalle.DetCosto = 0; objNewFilaDetalle.DetTotal = 0; objDetalle.Add(objNewFilaDetalle); } if (varPosicionFila < 0) { this.grvListado.FocusedRowHandle = 0; this.grvListado.FocusedColumn = colIteCodigo; } else { this.grvListado.FocusedRowHandle = varPosicionFila + 1; this.grvListado.FocusedColumn = colDetCantBruta; } } //Refrescamos el detalle this.grcListado.RefreshDataSource(); } } } catch (Exception ex) { XtraMessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } }