Exemple #1
0
        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); }
        }
Exemple #2
0
 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); }
 }
Exemple #3
0
        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); }
        }