private void itxFactura_Leave(object sender, EventArgs e) { try { int varNroFactura = int.Parse((sender as TextEdit).Text); if (varNroFactura.Equals("") || varNroFactura.Equals(0)) return; if (this.colDetFactura.OptionsColumn.ReadOnly) return; if (this.objDetalleFac.Where(p => p.DetFactura == varNroFactura).Count() > 1) { XtraMessageBox.Show("La factura ingresada ya se encuentra ingresada en la guia actual", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); this.grvFacturas.FocusedColumn = colDetSecuencia; return; } DataTable dtFactura = clsLogGuiaRemisionDetFac.funRecFactura(varNroFactura); if (dtFactura.Rows.Count.Equals(0)) { XtraMessageBox.Show("La factura ingresada no fue encontrada", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); this.grvFacturas.FocusedColumn = colDetSecuencia; return; } else { DataRow drFactura = dtFactura.Rows[0]; //Obtengo la primera fila de la consulta clsLogGuiaRemisionDetFac objFilaFactura = (clsLogGuiaRemisionDetFac)this.grvFacturas.GetRow(this.grvFacturas.FocusedRowHandle); //Obtengo la fila en la que se encuentra posicionado el usuario objFilaFactura.DetCodCliente = drFactura["DetCodCliente"].ToString(); objFilaFactura.DetNomCliente = drFactura["DetNomCliente"].ToString(); objFilaFactura.DetCredito = (decimal)drFactura["DetCredito"]; objFilaFactura.DetContado = (decimal)drFactura["DetContado"]; objFilaFactura.DetPeso = (decimal)drFactura["DetPeso"]; objFilaFactura.DetDocEntry = (int)drFactura["DetDocEntry"]; int varPosicionFila = this.grvFacturas.FocusedRowHandle; int varNumeroFila = objDetalleFac.Max(p => p.DetSecuencia); object varFilaNueva = this.grvFacturas.GetRowCellValue(this.grvFacturas.RowCount - 1, colDetSecuencia); if (varFilaNueva == null || varFilaNueva == DBNull.Value){ if (this.grvFacturas.RowCount - 1 == 0) this.objDetalleFac.Add(new clsLogGuiaRemisionDetFac(0)); } else if (this.grvFacturas.FocusedRowHandle == this.grvFacturas.RowCount - 1) this.objDetalleFac.Add(new clsLogGuiaRemisionDetFac(varNumeroFila)); if (varPosicionFila != this.grvFacturas.RowCount - 2) { this.grvFacturas.FocusedRowHandle = varPosicionFila; this.grvFacturas.FocusedColumn = colDetSecuencia; } else { this.grvFacturas.FocusedRowHandle = varPosicionFila + 1; this.grvFacturas.FocusedColumn = colDetSecuencia; } this.grcFacturas.RefreshDataSource(); } } catch (Exception ex) { XtraMessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
private void smiEliminar_Click(object sender, EventArgs e) { try { if (this.grvFacturas.IsFocusedView) { clsLogGuiaRemisionDetFac objFilaFactura = (clsLogGuiaRemisionDetFac)this.grvFacturas.GetRow(this.grvFacturas.FocusedRowHandle); lstEliminados.Add(objFilaFactura.DetDocEntry); objDetalleFac.Remove(objFilaFactura); this.grcFacturas.RefreshDataSource(); } else if (this.grvTransferencia.IsFocusedView) { clsLogGuiaRemisionDetTra objFilaTransferencia = (clsLogGuiaRemisionDetTra)this.grvTransferencia.GetRow(this.grvTransferencia.FocusedRowHandle); objDetalleTra.Remove(objFilaTransferencia); this.grcTransferencia.RefreshDataSource(); } } catch (Exception ex) { XtraMessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
public override void proIniciarFormulario() { base.proIniciarFormulario(); try { //Asignamos el titulo que tendra el formulario this.Text = "Guias de remision"; //Cargamos los listados de mantenimiento que vamos a utilizar this.gluUsuario.Properties.DataSource = clsSegUsuario.funListarSAP(); this.gluChofer.Properties.DataSource = clsLogChofer.funListarSAP(); this.gluAyudante.Properties.DataSource = clsLogChofer.funListarSAP(); //1 this.gluTransporte.Properties.DataSource = clsLogTransporte.funListarSAP(); switch (varOpeCodigo) { case 1: //Opcion 1 para la operacion de insertar //Procedimiento para que el usuario escoja el documento a ingresar la informacion clsValidacionesControles.proAccUsuarioDocumento(txtCodSerie, txtNomSerie, btnCancelar, varForCodigo, varOpeCodigo); //Asignamos los valores recuperados del codigo del documento y nombre del documento varDocCodigo = this.txtCodSerie.Text.Equals("") ? 0 : int.Parse(this.txtCodSerie.Text); varDocNombre = this.txtNomSerie.Text; //Iniciamos los campos con valores predefinidos this.datFecha.DateTime = DateTime.Now; this.datFecSalida.DateTime = DateTime.Now; this.datFecLlegada.DateTime = DateTime.Now.AddDays(1); this.cmbMotivo.SelectedIndex = -1; this.cmbMotivo.SelectedIndex = 0; this.cmbTurno.SelectedIndex = 0; this.txtNumero.Text = "0"; //Debemos instanciar la clase a la grilla para el ingreso de detalles factura this.objDetalleFac = new List<clsLogGuiaRemisionDetFac>(); this.objDetalleFac.Add(new clsLogGuiaRemisionDetFac(0)); this.grcFacturas.DataSource = objDetalleFac; //Debemos instanciar la clase a la grilla para el ingreso de detalles transferencia this.objDetalleTra = new List<clsLogGuiaRemisionDetTra>(); this.objDetalleTra.Add(new clsLogGuiaRemisionDetTra(0)); this.grcTransferencia.DataSource = objDetalleTra; break; case 2: //Opcion 2 para la operacion de modificar case 4: //Opcion 4 para la operacion de consultar this.cmbMotivo.SelectedIndex = -1; foreach (clsLogGuiaRemisionCab objRegistro in clsLogGuiaRemisionCab.funListar(varRegCodigo)) { this.txtCodigo.EditValue = objRegistro.CabCodigo; this.txtCodSerie.EditValue = objRegistro.DocCodigo; this.txtNumero.EditValue = objRegistro.CabNumero; this.txtCodSerie.EditValue = varDocCodigo = objRegistro.DocCodigo; this.datFecha.EditValue = (DateTime)objRegistro.CabFecha; this.datFecSalida.EditValue = (DateTime)objRegistro.CabFecSalida; this.datFecLlegada.EditValue = (DateTime)objRegistro.CabFecLlegada; this.txtNomSerie.Text = objRegistro.DocNombre; this.gluUsuario.EditValue = objRegistro.UsuCodigo; this.gluChofer.EditValue = objRegistro.ChfCodigo; this.gluAyudante.EditValue = objRegistro.AyuCodigo; //1 this.gluTransporte.EditValue = objRegistro.TrnCodigo; this.cmbTurno.Text = objRegistro.CabTurno; this.cmbMotivo.Text = objRegistro.CabMotTraslado.Equals("V") ? "V - VENTA" : objRegistro.CabMotTraslado.Equals("T") ? "T - TRANSFERENCIA" : objRegistro.CabMotTraslado.Equals("C") ? "C - SALIDA A CUENCA" : objRegistro.CabMotTraslado.Equals("I") ? "I - SALIDA A STA. ISABEL" : "R - SALIDA A STA. ROSA"; if (objRegistro.CabMotTraslado.Equals("V")) { //Debemos instanciar la clase a la grilla para el ingreso de detalles this.objDetalleFac = new List<clsLogGuiaRemisionDetFac>(); clsLogGuiaRemisionDetFac.proListar(varRegCodigo, out objDetalleFac); //Verifico si el usuario a ingresado en el sistema SAP facturas vinculadas a la guia actual y si lo ha hecho verifico si ya se encuentra en la guia //en caso de no encontrarse en la guia agrego int varCuantos = 0; int varSecuencia = objDetalleFac.Count.Equals(0) ? 0 : objDetalleFac.Max(p => p.DetSecuencia); foreach (DataRow objDetFactura in clsLogGuiaRemisionDetFac.funRecFacturaSAP (objRegistro.CabNumero).Rows){ varCuantos = this.objDetalleFac.Where(p => p.DetFactura == int.Parse(objDetFactura["DetFactura"].ToString())).Count(); if (varCuantos.Equals(0)) { clsLogGuiaRemisionDetFac objFilaFactura = new clsLogGuiaRemisionDetFac(); objFilaFactura.DetSecuencia = ++varSecuencia; objFilaFactura.DetFactura = int.Parse(objDetFactura["DetFactura"].ToString()); objFilaFactura.DetCodCliente = objDetFactura["DetCodCliente"].ToString(); objFilaFactura.DetNomCliente = objDetFactura["DetNomCliente"].ToString(); objFilaFactura.DetCredito = decimal.Parse(objDetFactura["DetCredito"].ToString()); objFilaFactura.DetContado = decimal.Parse(objDetFactura["DetContado"].ToString()); objFilaFactura.DetPeso = decimal.Parse(objDetFactura["DetPeso"].ToString()); objFilaFactura.DetDocEntry = int.Parse(objDetFactura["DetDocEntry"].ToString()); objDetalleFac.Add(objFilaFactura); } } this.objDetalleFac.Add(new clsLogGuiaRemisionDetFac(varSecuencia)); this.grcFacturas.DataSource = this.objDetalleFac; } else if (objRegistro.CabMotTraslado.Equals("T") || objRegistro.CabMotTraslado.Equals("C") || objRegistro.CabMotTraslado.Equals("I") || objRegistro.CabMotTraslado.Equals("R")) { //Debemos instanciar la clase a la grilla para el ingreso de detalles this.objDetalleTra = new List<clsLogGuiaRemisionDetTra>(); clsLogGuiaRemisionDetTra.proListar(varRegCodigo, out objDetalleTra); int varSecuencia = objDetalleTra.Count.Equals(0) ? 0 : objDetalleTra.Max(p => p.DetSecuencia); this.objDetalleTra.Add(new clsLogGuiaRemisionDetTra(varSecuencia)); this.grcTransferencia.DataSource = this.objDetalleTra; } } //Si es la operacion de consultar bloquemos el boton de grabar if (varOpeCodigo.Equals(4)) { this.btnGrabar.Enabled = false; } break; default: break; } //Verificamos los acceso del usuario al formulario\ this.proAccesoFormulario(); } catch (Exception ex) { XtraMessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } }