コード例 #1
0
        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); }
        }
コード例 #2
0
 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); }
 }
コード例 #3
0
        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); }
        }