示例#1
0
        public override void proGrabar()
        {
            base.proGrabar();
            try {
                //Eliminamos las filas vacias del detalle
                objDetalle.RemoveAll(p => p.IteCodigo.Equals(""));
                //Verificamos las validaciones de los campos requeridos
                if (!varBanValidaciones)
                {
                    return;
                }
                //Validamos que todos los datos se han llenado correctamente en el detalle
                string varMensaje = clsGraLaboratorioDet.funValidarDetalle(objDetalle);
                //Refrescamos el detalle despues de eliminar
                this.grcListado.RefreshDataSource();
                //Verificamos si existe un error
                if (!varMensaje.Equals(""))
                {
                    throw new Exception(varMensaje);
                }
                //Asignamos los valores de la propiedades de la clase animal
                var csRegistro = new clsGraLaboratorioCab()
                {
                    CabCodigo = this.txtCodigo.Text.Equals("") ? 0 : int.Parse(this.txtCodigo.Text),
                    DocCodigo = this.txtCodSerie.Text.Equals("") ? 0 : int.Parse(this.txtCodSerie.Text),
                    CabNumero = this.txtNumero.Text.Equals("") ? 0 : int.Parse(this.txtNumero.Text),
                    AnmCodigo = this.gluAnimal.EditValue.Equals("") ? 0 : int.Parse(this.gluAnimal.EditValue.ToString()),
                    CabDosis  = this.txtDosis.Text.Equals("") ? 0 : int.Parse(this.txtDosis.Text),

                    CabFecha = (DateTime)datFecha.EditValue,

                    AnmAlternativo = this.gluAnimal.Text,
                    IteCodigo      = this.bedItem.Text,
                    IteNombre      = this.txtIteNombre.Text,
                    CabLote        = this.txtLote.Text,
                    BodCodigo      = this.lueBodega.EditValue.ToString(),
                    CabComentario  = this.memObsDocumento.Text,
                    CabComenDiario = this.memObsDiario.Text,
                    CabCstInicial  = decimal.Parse(this.txtCstInicial.Text)
                };
                //Enviamos la informacion a la base de datos
                int varCodigo = csRegistro.funMantenimiento(varOpeCodigo, objDetalle);
                //Si no hay ningun error procedemos a mostrar el mensaje respectivo
                switch (varOpeCodigo)
                {
                case 1:
                    XtraMessageBox.Show(string.Format("Registro ingresado con la nro: {0}", varCodigo), "Informacion", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    break;

                case 2:
                    XtraMessageBox.Show("Registro ha sido actualizado", "Informacion", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    break;

                default:
                    break;
                }
                this.Close();
            }
            catch (Exception ex) { XtraMessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); }
        }
示例#2
0
        private void proEnviarSAP(int varRegistro)
        {
            try {
                string varMensaje  = "";
                int    varDocEntry = 0;
                int    varDocNum   = 0;
                //Instanciamos la clase de laboratorio
                clsGraLaboratorioCab objLaboratorioCab = new clsGraLaboratorioCab();
                //Recuperamos la informacion de cabecera del registro de laboratorio
                objLaboratorioCab = clsGraLaboratorioCab.funListar(varRegistro)[0];
                //Verificamos que nos exista valores en cero en los costos acumulados
                if (clsGraCstAcumulado.funVerificarCstAcumulado(objLaboratorioCab.AnmCodigo, objLaboratorioCab.CabFecha) > 0)
                {
                    XtraMessageBox.Show(string.Format("Favor de verificar que los movimientos de inventario relacionados con la chapeta: {0} se encuentren enviados a SAP", objLaboratorioCab.AnmAlternativo), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return;
                }
                //Verificamos si el documento ya ha sido ingresado en SAP
                DataTable objDtVerificarSAP;
                objDtVerificarSAP = clsGraLaboratorioCab.funVerificarSalInventarioSAP(objLaboratorioCab.DocNombre, objLaboratorioCab.CabNumero);

                //Verifico si el documento no haya sido enviado a SAP
                if (objLaboratorioCab.EstCodigo.ToUpper().Equals("SAP") || objDtVerificarSAP.Rows.Count > 0)
                {
                    //Actualizacion en el formulario de movimientos de inventario
                    varDocEntry = int.Parse(objDtVerificarSAP.Rows[0]["DocEntry"].ToString());
                    varDocNum   = int.Parse(objDtVerificarSAP.Rows[0]["DocNum"].ToString());
                    clsGraLaboratorioCab.proActMovInventarioSalida(varDocEntry, varDocNum, objLaboratorioCab.CabCodigo);
                    clsGraLaboratorioCab.proActCstAcumulado(varDocEntry, objLaboratorioCab.CabCodigo);
                    XtraMessageBox.Show(string.Format("El registro nro. {0} ya ha sido enviado a SAP", objLaboratorioCab.CabNumero), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
                else
                {
                    varMensaje = objLaboratorioCab.funEnviarSalMercanciaSAP();
                }

                //Verifico si el documento de diario no haya sido enviado a SAP
                objDtVerificarSAP = clsGraLaboratorioCab.funVerificarDiarioSAP(objLaboratorioCab.DocNombre, objLaboratorioCab.CabNumero);
                //Verifico si el documento no haya sido enviado a SAP
                if (objLaboratorioCab.EstCodigo.ToUpper().Equals("SAP") || objDtVerificarSAP.Rows.Count > 0)
                {
                    //Actualizacion en el formulario de movimientos de inventario
                    varDocEntry = int.Parse(objDtVerificarSAP.Rows[0]["TransId"].ToString());
                    varDocNum   = int.Parse(objDtVerificarSAP.Rows[0]["Number"].ToString());
                    clsGraLaboratorioCab.proActDiario(varDocEntry, varDocNum, objLaboratorioCab.CabCodigo);
                    //Actualizamos  las lineas del detalle de actualizacion de costos
                    clsGraCstAcumulado.proActualizarCstAcumulado(objLaboratorioCab.AnmCodigo, objLaboratorioCab.CabFecha, "Bla", "GRA_DETLABORATORIO", "LABORATORIO", objLaboratorioCab.CabCodigo);
                    //Actualizamos  las lineas del detalle de actualizacion de costos standares
                    clsGraCstStdAcumulado.proActualizarCstStdAcumulado(objLaboratorioCab.AnmCodigo, objLaboratorioCab.CabFecha, "Bla", objLaboratorioCab.CabCodigo);
                    XtraMessageBox.Show(string.Format("El registro nro. {0} ya ha sido enviado a SAP", objLaboratorioCab.CabNumero), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
                else
                {
                    varMensaje = objLaboratorioCab.funEnviarDiarioSAP();
                }

                objDtVerificarSAP = clsGraLaboratorioCab.funVerificarEntInventarioSAP(objLaboratorioCab.DocNombre, objLaboratorioCab.CabNumero);
                //Verifico si el documento no haya sido enviado a SAP
                if (objLaboratorioCab.EstCodigo.ToUpper().Equals("SAP") || objDtVerificarSAP.Rows.Count > 0)
                {
                    //Actualizacion en el formulario de movimientos de inventario
                    varDocEntry = int.Parse(objDtVerificarSAP.Rows[0]["DocEntry"].ToString());
                    varDocNum   = int.Parse(objDtVerificarSAP.Rows[0]["DocNum"].ToString());
                    clsGraLaboratorioCab.proActMovInventarioEntrada(varDocEntry, varDocNum, objLaboratorioCab.CabCodigo);
                    XtraMessageBox.Show(string.Format("El registro nro. {0} ya ha sido enviado a SAP", objLaboratorioCab.CabNumero), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
                else
                {
                    varMensaje = objLaboratorioCab.funEnviarEntMercanciaSAP();
                }

                if (varMensaje.Equals(""))
                {
                    XtraMessageBox.Show(string.Format("Registro nro {0} enviado a SAP", objLaboratorioCab.CabNumero), "Informacion", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                else
                {
                    XtraMessageBox.Show(string.Format("Registro nro {0} presento el siguiente error: {1}", objLaboratorioCab.CabNumero, varMensaje), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
            catch (Exception e) { throw new Exception(e.Message); }
        }