Exemple #1
0
 private void UIGRIDVIEW_DETA_KeyDown(object sender, KeyEventArgs e)
 {
     if (e.KeyCode == Keys.Delete && UIGRIDVIEW_DETA.FocusedRowHandle >= 0)
     {
         if (MetodosForm.preguntar(3))
         {
             INV_DETA_REQ d = new INV_DETA_REQ()
             {
                 ID = (int)UIGRIDVIEW_DETA.GetFocusedRowCellValue("ID")
             };
             eliminardetalle(d);
         }
     }
 }
Exemple #2
0
        private void UIGRIDVIEW_DETA_RowUpdated(object sender, DevExpress.XtraGrid.Views.Base.RowObjectEventArgs e)
        {
            V_INV_DETA_REQ v = (V_INV_DETA_REQ)e.Row;
            INV_DETA_REQ   d = new INV_DETA_REQ {
                ID = v.ID, ID_ARTICULO = v.ID_ARTICULO, NM_CANTIDAD = v.NM_CANTIDAD, ID_REQ = v.ID_REQ
            };

            if (d.ID == 0)
            {
                insertardetalle(d);
            }
            else
            {
                modificardetalle(d);
            }
        }
Exemple #3
0
 public void insertardetalle(INV_DETA_REQ d)
 {
     try
     {
         //_datasistema.ContextoInventario.Refresh(System.Data.Linq.RefreshMode.OverwriteCurrentValues);
         //_datasistema.ContextoInventario.INV_DETA_REQ .InsertOnSubmit(d);
         //_datasistema.ContextoInventario.SubmitChanges();
         manejadorDetalleRequirimiento.insertar(d);
         consultardetalle();
     }
     catch (Exception ex)
     {
         MetodosForm.mensajeErrorDefault(ex.Message, _datasistema);
         consultardetalle();
     }
 }
Exemple #4
0
 public void eliminardetalle(INV_DETA_REQ d)
 {
     try
     {
         //INV_DETA_REQ tupla = (from u in _datasistema.ContextoInventario.INV_DETA_REQ
         //                             where u.ID == d.ID
         //                             select u).First();
         //_datasistema.ContextoInventario.INV_DETA_REQ .DeleteOnSubmit(tupla);
         //_datasistema.ContextoInventario.SubmitChanges();
         manejadorDetalleRequirimiento.eliminar(d);
         consultardetalle();
     }
     catch (Exception ex)
     {
         MetodosForm.mensajeErrorDefault(ex.Message, _datasistema);
         consultardetalle();
     }
 }
Exemple #5
0
 public void modificardetalle(INV_DETA_REQ d)
 {
     try
     {
         //INV_DETA_REQ tupla = (from u in _datasistema.ContextoInventario.INV_DETA_REQ
         //                             where u.ID == d.ID
         //                             select u).First();
         //tupla.ID_ARTICULO  = d.ID_ARTICULO ;
         //tupla.NM_CANTIDAD = d.NM_CANTIDAD;
         //_datasistema.ContextoInventario.Refresh(System.Data.Linq.RefreshMode.OverwriteCurrentValues);
         //_datasistema.ContextoInventario.SubmitChanges();
         manejadorDetalleRequirimiento.modificar(d);
         consultardetalle();
     }
     catch (Exception ex)
     {
         MetodosForm.mensajeErrorDefault(ex.Message, _datasistema);
         consultardetalle();
     }
 }
Exemple #6
0
        public INV_ENCA_DESP despachar(INV_ENCA_DESP data)
        {
            _datasistema.conectarInventario();
            INV_ENCA_DESP p = (from u in _datasistema.ContextoInventario.INV_ENCA_DESP
                               where u.ID == data.ID
                               select u).First();
            List <V_INV_DETA_DESP> lista_deta = (from u in _datasistema.ContextoInventario.V_INV_DETA_DESP
                                                 where u.ID == data.ID
                                                 select u).ToList();

            if (p.CD_ESTA_DOCUMENTO == 'D')
            {
                int?   error = 0;
                string msj   = string.Empty;

                ///valida si hay existencia
                foreach (var item in lista_deta)
                {
                    INV_ARTICULO art = (from u in _datasistema.ContextoInventario.INV_ARTICULO where u.ID == item.ID_ARTICULO select u).First();
                    if ((from u in _datasistema.ContextoInventario.INV_EXISTENCIA
                         where u.ID_EMPRESA == _datasistema.empresa.ID && u.NM_EJERCICIO == _datasistema.periodo.NM_EJERCICIO && u.NM_PERIODO == _datasistema.periodo.NM_PERIODO && u.ID_BODEGA == p.ID_UBICACION_DESP && u.ID_ARTICULO == item.ID_ARTICULO
                         select u).Count() <= 0 && art.FLG_INVENTARIABLE == 'S')
                    {
                        throw new Exception("El articulo " + item.DS_NOMBRE + " no es inventariable ");
                    }

                    INV_EXISTENCIA exist = (from u in _datasistema.ContextoInventario.INV_EXISTENCIA
                                            where u.ID_EMPRESA == _datasistema.empresa.ID && u.NM_EJERCICIO == _datasistema.periodo.NM_EJERCICIO && u.NM_PERIODO == _datasistema.periodo.NM_PERIODO && u.ID_BODEGA == p.ID_UBICACION_DESP && u.ID_ARTICULO == item.ID_ARTICULO
                                            select u).First();
                    if (exist.NM_CANT_ACTUAL < item.NM_CANTIDAD && art.FLG_INVENTARIABLE == 'S')
                    {
                        throw new Exception("No hay suficientes existencias del " + item.DS_NOMBRE + " para despacharlo");
                    }
                    INV_DETA_REQ req = (from u in _datasistema.ContextoInventario.INV_DETA_REQ
                                        where u.ID == item.ID_DETA_REQ
                                        select u).First();
                    if (item.NM_CANTIDAD > req.NM_CANTIDAD - req.NM_CANT_DESP && item.FLG_DESP != 'S')
                    {
                        throw new Exception("El articulo " + item.DS_NOMBRE + " solo tiene pendiente de despachar " + (req.NM_CANTIDAD - req.NM_CANT_DESP).ToString());
                    }
                }

                foreach (var item in lista_deta)
                {
                    INV_ARTICULO art = (from u in _datasistema.ContextoInventario.INV_ARTICULO where u.ID == item.ID_ARTICULO select u).First();
                    if (item.FLG_DESP != 'S')
                    {
                        if (art.FLG_INVENTARIABLE == 'S')
                        {
                            _datasistema.ContextoInventario.PR_INV_PROC_DESPACHO(_datasistema.empresa.ID, p.ID_UBICACION_DESP, p.NM_EJERCICIO, p.NM_PERIODO, item.ID_ARTICULO, item.NM_CANTIDAD, p.ID, p.ID_TIPO_DOCUMENTO, p.CD_SERIE + p.CD_NUMERO.ToString(), ref error, ref msj);
                        }
                        if (error == 0)
                        {
                            INV_DETA_DESP d = (from u in _datasistema.ContextoInventario.INV_DETA_DESP
                                               where u.ID == item.ID
                                               select u).First();
                            INV_DETA_REQ r = (from u in _datasistema.ContextoInventario.INV_DETA_REQ
                                              where u.ID == item.ID_DETA_REQ
                                              select u).First();
                            d.FLG_DESP     = 'S';
                            r.NM_CANT_DESP = r.NM_CANT_DESP + item.NM_CANTIDAD;
                            _datasistema.ContextoInventario.Refresh(System.Data.Linq.RefreshMode.OverwriteCurrentValues);
                            _datasistema.ContextoInventario.SubmitChanges();
                        }
                        else
                        {
                            throw new Exception(msj);
                        }
                    }
                }

                if ((from u in _datasistema.ContextoInventario.INV_DETA_DESP
                     where u.ID_DESP == p.ID && u.FLG_DESP != 'S'
                     select u).Count() > 0)
                {
                    throw new Exception("Despacho parcial: Hay productos que no se despacharon, reintentar");
                }
                p.CD_ESTA_DOCUMENTO = 'A';
                _datasistema.ContextoInventario.Refresh(System.Data.Linq.RefreshMode.OverwriteCurrentValues);
                _datasistema.ContextoInventario.SubmitChanges();
                _datasistema.ContextoInventario.PR_CONT_GENE_CONT_DESP(p.ID, ref error, ref msj);
                if (error != 0)
                {
                    throw new Exception(msj);
                }
            }
            return(p);
        }