Пример #1
0
        //Operacion de guardar
        public override void proGrabar()
        {
            base.proGrabar();
            try
            {
                //Eliminamos las filas vacias del detalle
                objDetalle.RemoveAll(p => p.DetCantNeta.Equals(0) && p.DetCantBruta.Equals(0));
                //Verificamos las validaciones de los campos requeridos
                if (!varBanValidaciones)
                {
                    return;
                }
                //Modificamos la informacion de los resumentes
                foreach (clsComEntMercanciasDet objFilaDetalle in objDetalle)
                {
                    clsComEntMercanciasRes objFilaResumen = objDetalleRes.Where(p => p.IteCodigo == objFilaDetalle.IteCodigo).ToList <clsComEntMercanciasRes>()[0];
                    objFilaDetalle.DetUnidad   = objFilaResumen.DetUnidad;
                    objFilaDetalle.DetCantidad = objFilaResumen.DetCantidad;
                    objFilaDetalle.DetCosto    = objFilaResumen.DetCosto;
                    objFilaDetalle.DetTotal    = objFilaResumen.DetTotal;
                }
                //Refrescamos el detalle despues de eliminar
                this.grcListado.RefreshDataSource();
                var csRegistro = new clsComEntMercanciasCab()
                {
                    CabCodigo      = this.txtCodigo.Text.Equals("") ? 0 : int.Parse(this.txtCodigo.Text),
                    DocCodigo      = this.txtCodSerie.Text.Equals("") ? 0 : int.Parse(this.txtCodSerie.Text),
                    DocNombre      = this.txtNomSerie.Text,
                    CabNumero      = this.txtNumero.Text.Equals("") ? 0 : int.Parse(this.txtNumero.Text),
                    CabLstPrecio   = this.txtListaPrecio.Text.Equals("") ? 0 : int.Parse(this.txtListaPrecio.Text),
                    CabEntrySap    = 0,
                    CabNumSap      = 0,
                    CabFecha       = (DateTime)this.datFecha.EditValue,
                    PrvCodigo      = this.bedProveedor.EditValue.ToString(),
                    PrvNombre      = this.txtNombre.Text,
                    BodCodigo      = this.lueBodega.EditValue.ToString(),
                    CabImportacion = this.txtImportacion.Text,
                    CabComentario  = this.memObservacion.Text,
                    CabLote        = this.txtLote.Text,
                    CabTipCompra   = this.cmbTipo.Text,
                    CabTotNeto     = decimal.Parse(this.txtTotalNeto.Text),
                    CabTotCamal    = this.txtTotalCamal.Text.Equals("") ? 0 : decimal.Parse(this.txtTotalCamal.Text),
                    CabDiferencia  = decimal.Parse(this.txtDiferencia.Text),
                    CabTolerancia  = this.txtTolerancia.Text.Equals("") ? 0 : decimal.Parse(this.txtTolerancia.Text),
                };

                int varCodigo = csRegistro.funMantenimiento(varOpeCodigo, objDetalle);
                if (!varCodigo.Equals(0))
                {
                    this.txtNumero.EditValue = varCodigo;
                    if (!varBandGuardar)
                    {
                        if (XtraMessageBox.Show("Desea imprimir la tirilla", "Informacion", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.Yes)
                        {
                            this.impDocumento.Print();
                        }
                    }
                    if (varOpeCodigo.Equals(1))
                    {
                        XtraMessageBox.Show(string.Format("El registro actual ha sido grabado con el nro: {0}", varCodigo), "Informacion", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                    else
                    {
                        XtraMessageBox.Show("Registro grabado con exito", "Informacion", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                    if (!varBandGuardar)
                    {
                        if (this.puertoSerial.IsOpen)
                        {
                            this.puertoSerial.Close();
                        }
                        this.Close();
                    }
                }
            }
            catch (Exception ex) { XtraMessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); }
        }
Пример #2
0
        //Operacion enviar a SAP
        private void btnEnviarSAP_Click(object sender, EventArgs e)
        {
            try
            {
                int varRegistro = 0;
                //Verificamos si selecciono una sola fila
                if (grvListado.GetSelectedRows().Length.Equals(0))
                {
                    //Recuperamos el codigo del documento seleccionado
                    varCodDocumento = ((clsComEntMercanciasCab)this.grvListado.GetRow(this.grvListado.FocusedRowHandle)).DocCodigo;
                    int varCuantos = clsSegAccFormulario.funAccesoOperacion(clsVariablesGlobales.varCodUsuario, varCodFormulario, varCodDocumento, 10);
                    //Si ya ha sido enviado a SAP terminamos el proceso
                    if (varCuantos.Equals(0))
                    {
                        XtraMessageBox.Show("El usuario no tiene acceso para enviar a SAP el documento seleccionado", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); return;
                    }
                    //Recuperamos el codigo interno del registro de laboratorio
                    varRegistro = ((clsComEntMercanciasCab)this.grvListado.GetRow(this.grvListado.FocusedRowHandle)).CabCodigo;
                    clsComEntMercanciasCab csComEntMercancias = clsComEntMercanciasCab.funListar(varRegistro)[0];
                    string varMensaje = "";
                    if (csComEntMercancias.CabTipCompra.Equals("EXTERNO"))
                    {
                        varMensaje = csComEntMercancias.funEnviarDocPreliminarSAP();
                    }
                    else
                    {
                        clsComEntMercanciasCab.proActEstado(varRegistro);
                    }

                    if (varMensaje.Equals(""))
                    {
                        XtraMessageBox.Show(string.Format("Registro nro {0} enviado a SAP", csComEntMercancias.CabNumero), "Informacion", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                    else
                    {
                        XtraMessageBox.Show(string.Format("Registro nro {0} presento el siguiente error: {1}", csComEntMercancias.CabNumero, varMensaje), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }
                foreach (int varPosicion in this.grvListado.GetSelectedRows())
                {
                    //Recuperamos el codigo del documento seleccionado
                    varCodDocumento = ((clsComEntMercanciasCab)this.grvListado.GetRow(varPosicion)).DocCodigo;
                    int varCuantos = clsSegAccFormulario.funAccesoOperacion(clsVariablesGlobales.varCodUsuario, varCodFormulario, varCodDocumento, 10);
                    //Si ya ha sido enviado a SAP terminamos el proceso
                    if (varCuantos.Equals(0))
                    {
                        XtraMessageBox.Show("El usuario no tiene acceso para enviar a SAP el documento seleccionado", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); return;
                    }
                    //Recuperamos el codigo interno del registro de laboratorio
                    varRegistro = ((clsComEntMercanciasCab)this.grvListado.GetRow(varPosicion)).CabCodigo;
                    clsComEntMercanciasCab csComEntMercancias = clsComEntMercanciasCab.funListar(varRegistro)[0];
                    string varMensaje = "";
                    if (csComEntMercancias.CabTipCompra.Equals("EXTERNO"))
                    {
                        varMensaje = csComEntMercancias.funEnviarDocPreliminarSAP();
                    }
                    else
                    {
                        clsComEntMercanciasCab.proActEstado(varRegistro);
                    }

                    if (varMensaje.Equals(""))
                    {
                        XtraMessageBox.Show(string.Format("Registro nro {0} enviado a SAP", csComEntMercancias.CabNumero), "Informacion", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                    else
                    {
                        XtraMessageBox.Show(string.Format("Registro nro {0} presento el siguiente error: {1}", csComEntMercancias.CabNumero, varMensaje), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }
                //Actualizamos los datos de listado despues de realizar los cambios
                this.proActListado();
            }
            catch (Exception ex) { XtraMessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); }
        }