private Boolean  grabar()
        {
            bool B_SiGrabo = false;

            try
            {
                string mensaje_cbte_cble = "";
                if (validaciones())
                {
                    decimal idAjusteOut;
                    idAjusteOut = 0;
                    decimal idAjusteIng;
                    idAjusteIng = 0;
                    if (BusMov.GrabarDB(MovEgreso, ref idAjusteOut, ref mensaje_cbte_cble, ref msg))
                    {
                        foreach (var item in LstDetxItemsEgr)
                        {
                            item.IdNumMovi        = MovEgreso.IdNumMovi;
                            item.ot_CodObra       = UCObra.get_item_info().CodObra;
                            item.ot_IdOrdenTaller = Convert.ToDecimal(CmbOrdenTaller.EditValue);
                        }
                        if (BusDetxItems.GuardarDB(LstDetxItemsEgr, ref msg))
                        {
                            txtNumAjuste.Text = Convert.ToString(idAjusteOut);
                            MessageBox.Show("Ajuste # " + idAjusteOut + ". Egreso por Consumo de Producción."
                                            + " Grabado Satisfactoriamente", "Sistemas", MessageBoxButtons.OK, MessageBoxIcon.Information);
                            setCab(MovEgreso);
                            set_Accion(Cl_Enumeradores.eTipo_action.consultar);
                        }
                        else
                        {
                            MessageBox.Show("Ajuste # " + idAjusteOut + ". Egreso por Consumo de Producción."
                                            + " No se Grabo", "Sistemas", MessageBoxButtons.OK, MessageBoxIcon.Information);
                            setCab(MovEgreso);
                            set_Accion(Cl_Enumeradores.eTipo_action.consultar);
                            B_SiGrabo = false;
                        }
                    }
                }
                return(B_SiGrabo);
            }
            catch (Exception ex)
            {
                Log_Error_bus.Log_Error(ex.ToString());
                return(false);
            }
        }
        public Boolean GuardarDB(fa_devol_venta_Info Info, ref string msg)
        {
            try
            {
                // nota de credito
                fa_notaCredDeb_Bus         BusBNotaDB = new fa_notaCredDeb_Bus();
                in_movi_inve_Info          invCabInfo = new in_movi_inve_Info();
                in_movi_inve_Bus           inBus      = new in_movi_inve_Bus();
                cxc_cobro_Info             Cobro      = new cxc_cobro_Info();
                cl_parametrosGenerales_Bus param      = cl_parametrosGenerales_Bus.Instance;
                string  mensaje_cbte_cble             = "";
                decimal idNota                = 0;
                string  codigoNota            = "";
                string  mensajeDocumentoDupli = "";
                string  mensajeError          = "";
                string  numDocumento          = "";


                if (BusBNotaDB.GuardarDB(Info.InfoNotaCreDeb, ref idNota, ref mensajeDocumentoDupli, ref mensajeError))
                {
                    Info.IdNota = idNota;
                    data.GuardarDB(Info, ref msg);
                    invCabInfo = setInventarioMovi(Info);
                    inBus.GrabarDB(invCabInfo, ref idNota, ref mensaje_cbte_cble, ref msg);
                }


                return(true);
            }
            catch (Exception ex)
            {
                Core.Erp.Info.Log_Exception.LoggingManager.Logger.Log(Core.Erp.Info.Log_Exception.LoggingCategory.Error, ex.Message);
                throw new Core.Erp.Info.Log_Exception.DalException(string.Format("", "GuardarDB", ex.Message), ex)
                      {
                          EntityType = typeof(fa_devol_venta_Bus)
                      };
            }
        }
示例#3
0
        public Boolean grabar()
        {
            try
            {
                Boolean resultB;
                string  mensaje = "";

                resultB = true;

                if (Validaciones() == false)
                {
                    return(false);
                }


                get_AjusteMoviInven();

                if (!(_movi_inve_Info == null))
                {
                    decimal idAjusteOut;
                    idAjusteOut = 0;



                    _movi_inve_Info.IdUsuario        = param.IdUsuario;
                    _movi_inve_Info.IdUsuarioUltModi = param.IdUsuario;
                    _movi_inve_Info.ip     = param.ip;
                    _movi_inve_Info.nom_pc = param.nom_pc;


                    //_movi_inve_detalle_List_Info = AsignarIdMovi_Inve(_movi_inve_Info.listmovi_inve_detalle_Info, idAjusteOut);
                    //if (_movi_inve_Info.cm_tipo == "-") // si es egreso
                    //{
                    //    (from Movi in _movi_inve_detalle_List_Info select Movi).ToList().ForEach(var => { var.dm_cantidad = var.dm_cantidad * -1; });
                    //}


                    if (MoviInvenBuss.GrabarDB(_movi_inve_Info, ref idAjusteOut, ref mensaje))// esta funcion graba internamente el detalle y contabiliza la transaccion
                    {
                        ///estas lineas estan en Business de moviinventario
                        /////---------------
                        //MoviInvenDetB.GrabarDB(_movi_inve_detalle_List_Info, ref mensaje);
                        //_ProducxBodegaBus.ActualizarStock_x_Bodega_con_moviInven(_movi_inve_detalle_List_Info, ref mensaje);


                        MessageBox.Show("Ajuste # " + idAjusteOut + " Por Concepto:" + "" + " Grabado Satisfactoriamente", "Sistemas", MessageBoxButtons.OK, MessageBoxIcon.Information);

                        resultB = true;
                        set_Accion(Cl_Enumeradores.eTipo_action.consultar);
                        txtNumAjuste.Text = idAjusteOut.ToString();
                    }
                    else
                    {
                        MessageBox.Show(" Error al Grabar Ajuste verifique con sistemas ...: " + mensaje, "Sistemas", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                        resultB = false;
                    }

                    return(resultB);
                }
                else
                {
                    return(false);
                }
            }
            catch (Exception ex)
            {
                Log_Error_bus.Log_Error(ex.ToString());
                return(false);
            }
        }
示例#4
0
        void grabar()
        {
            try
            {
                txtObservacion.Focus();
                decimal idEnsamb          = 0;
                decimal idMovIng          = 0;
                decimal idMovEg           = 0;
                string  msg               = "";
                string  mensaje_cbte_cble = "";
                mv_cab.IdMovi_inven_tipo          = Convert.ToInt32(paramCidersus.IdMovi_inven_tipo_egr_Ensamblado);
                mv_cab.cm_tipo                    = "-";
                mv_cab.cm_observacion             = " Egr Suc " + UCSuc_Bod.cmb_sucursal.Text + " Bod " + UCSuc_Bod.cmb_bodega.Text + Ensamblado.Observacion;
                mv_cab.listmovi_inve_detalle_Info = Lst_mv_detalle_eg;
                if (Bus_mv.GrabarDB(mv_cab, ref idMovEg, ref mensaje_cbte_cble, ref msg))
                {
                    Lst_mv_detalle_eg.ForEach(var => var.IdNumMovi = idMovEg);
                    int et_anterior = etapaanterior(GT.IdEtapa, GT.IdProcesoProductivo);
                    if (et_anterior == 0)
                    {
                        Lst_mv_detalleXprod_eg.ForEach(var => var.IdNumMovi = idMovEg);
                    }
                    else
                    {
                        Lst_mv_detalleXprod_eg.ForEach(var =>
                        {
                            var.et_IdEmpresa           = param.IdEmpresa;
                            var.IdNumMovi              = idMovEg;
                            var.et_IdProcesoProductivo = GT.IdProcesoProductivo;
                            var.et_IdEtapa             = et_anterior;
                        });
                    }
                }

                {
                    mv_cab.IdMovi_inven_tipo = Convert.ToInt32(paramCidersus.IdMovi_inven_tipo_ing_Ensamblado);
                    mv_cab.cm_tipo           = "+";
                    mv_cab.cm_observacion    = " Ing Suc " + UCSuc_Bod.cmb_sucursal.Text +
                                               " Bod " + UCSuc_Bod.cmb_bodega.Text + Ensamblado.Observacion;
                }
                mv_cab.IdNumMovi = 0;



                if (Bus_mv.GrabarDB(mv_cab, ref idMovIng, ref mensaje_cbte_cble, ref msg))
                {
                    Lst_mv_detalle_ing.ForEach(var => var.IdNumMovi      = idMovIng);
                    Lst_mv_detalleXprod_ing.ForEach(var => var.IdNumMovi = idMovIng);

                    if (Bus_mv_det.GrabarDB(Lst_mv_detalle_ing, ref msg))
                    {
                        Lst_mv_detalleXprod_ing.ForEach(var =>
                        {
                            var.et_IdEmpresa           = GT.IdEmpresa;
                            var.et_IdProcesoProductivo = GT.IdProcesoProductivo;
                            var.et_IdEtapa             = GT.IdEtapa;
                        });

                        if (Bus_mv_detXpro.GuardarDB(Lst_mv_detalleXprod_ing, ref msg))
                        {
                            if (Bus_prodxbod.ActualizarStock_x_Bodega_con_moviInven(Lst_mv_detalle_ing, ref msg))
                            {
                                MessageBox.Show("Movimiento Inventario No. " + idMovIng
                                                + " Ingreso de Bodega de Produccion por Etapa de Ensamblado. \n Grabado Satisfactoriamente",
                                                "Sistemas", MessageBoxButtons.OK, MessageBoxIcon.Information);
                            }
                        }
                    }
                }



                var detalleingreso = Bus_mv_detXpro.ConsultaxMovInvTipo(param.IdEmpresa,
                                                                        mv_cab.IdSucursal, mv_cab.IdBodega, idMovIng, mv_cab.IdMovi_inven_tipo);
                foreach (var item in detalleingreso)
                {
                    txtCodBarra.Text = item.CodigoBarra;
                }
                Ensamblado.CodigoBarra = txtCodBarra.Text;
                Ensamblado.Observacion = Ensamblado.Observacion + "Mov Eg" + idMovEg + "Mov Ing" + idMovIng;

                if (BusEnsamblado.GuardarDB(Ensamblado, DetalleEnsam, ref idEnsamb, ref msg))
                {
                    infoTI.en_IdEmpresa      = infoTI.IdEmpresa = Ensamblado.IdEmpresa;
                    infoTI.en_IdSucursal     = infoTI.IdSucursal = Ensamblado.IdSucursal;
                    infoTI.en_IdEnsamblado   = idEnsamb;
                    infoTI.IdBodega          = mv_cab.IdBodega;
                    infoTI.IdMovi_inven_tipo = Convert.ToInt32(paramCidersus.IdMovi_inven_tipo_egr_Ensamblado);
                    infoTI.IdNumMovi         = idMovEg;


                    if (busTI.GuardarDB(infoTI, ref msg))
                    {
                        infoTI.IdMovi_inven_tipo = Convert.ToInt32(paramCidersus.IdMovi_inven_tipo_ing_Ensamblado);
                        infoTI.IdNumMovi         = idMovIng;

                        if (busTI.GuardarDB(infoTI, ref msg))
                        {
                            MessageBox.Show("Ensamblado No. " + idEnsamb + "\n Grabado Satisfactoriamente", "Sistemas", MessageBoxButtons.OK, MessageBoxIcon.Information);
                            txtEnsamblado.Text = Convert.ToString(idEnsamb);
                            set_Accion(Cl_Enumeradores.eTipo_action.consultar);
                            Ensamblado.IdEnsamblado = idEnsamb;
                            setCab(Ensamblado);
                        }
                    }
                }

                else
                {
                }
            }
            catch (Exception ex)
            {
                Log_Error_bus.Log_Error(ex.ToString());
                MessageBox.Show(ex.ToString());
            }
        }
示例#5
0
        private void btnGuardar_Click(object sender, EventArgs e)
        {
            try
            {
                txtIdGestion.Focus();
                Get();

                string mensaje_cbte_cble = "";


                if (validar())
                {
                    decimal Id = 0;
                    prod_GestionProductivaTechos_CusTalme_X_in_movi_inve_Bus BusprodXMovi = new prod_GestionProductivaTechos_CusTalme_X_in_movi_inve_Bus();
                    if (Bus.GuardarDB(Info, ref Id))
                    {
                        var Parametros_Techo = ((List <prod_ModeloProduccion_CusTalme_Info>)CmbTipoModelo.Properties.DataSource).First(var => var.IdModeloProd == Convert.ToInt32(CmbTipoModelo.EditValue));
                        #region MovimientoInventarioMateriaPrima


                        var ProdMateriaPrima       = _ProdXBode_B.Get_Info_Producto_x_Producto(param.IdEmpresa, Convert.ToInt32(Parametros_Techo.IdSucursal_EgrxMateriaPrima), Convert.ToInt32(Parametros_Techo.IdBodega_EgrxMateriaPrima), Convert.ToDecimal(cmbMateriaPrima.EditValue));
                        in_movi_inve_Info InfoMovi = new in_movi_inve_Info();
                        InfoMovi.IdEmpresa         = param.IdEmpresa;
                        InfoMovi.cm_observacion    = "Egr. Materia P. X Gestion Productiva " + CmbTipoModelo.Text + "# " + Id;
                        InfoMovi.cm_tipo           = "-";
                        InfoMovi.cm_fecha          = DateTime.Now;
                        InfoMovi.Fecha_Transac     = param.Fecha_Transac;
                        InfoMovi.IdUsuario         = param.IdUsuario;
                        InfoMovi.IdUsuarioUltModi  = param.IdUsuario;
                        InfoMovi.Fecha_UltMod      = param.Fecha_Transac;
                        InfoMovi.IdBodega          = Convert.ToInt32(Parametros_Techo.IdBodega_EgrxMateriaPrima);
                        InfoMovi.IdSucursal        = Convert.ToInt32(Parametros_Techo.IdSucursal_EgrxMateriaPrima);
                        InfoMovi.IdMovi_inven_tipo = Convert.ToInt32(Parametros_Techo.IdMovi_inven_tipo_x_EgrxProduc_MatPri);
                        InfoMovi.nom_pc            = param.nom_pc;
                        Info.ip = param.ip;
                        string  men    = "";
                        decimal Idmovi = 0;
                        if (_movi_B.GrabarDB(InfoMovi, ref Idmovi, ref mensaje_cbte_cble, ref men) == false)
                        {
                            MessageBox.Show(men);
                        }
                        prod_GestionProductivaTechos_CusTalme_X_in_movi_inve_Info InfoMovxPro = new prod_GestionProductivaTechos_CusTalme_X_in_movi_inve_Info();
                        InfoMovxPro.IdEmpresa           = InfoMovxPro.prod_IdEmpresa = param.IdEmpresa;
                        InfoMovxPro.IdBodega            = InfoMovi.IdBodega;
                        InfoMovxPro.IdGestionProductiva = Id;
                        InfoMovxPro.IdMovi_inven_tipo   = InfoMovi.IdMovi_inven_tipo;
                        InfoMovxPro.IdNumMovi           = Idmovi;
                        InfoMovxPro.IdSucursal          = InfoMovi.IdSucursal;
                        if (BusprodXMovi.Guardar(InfoMovxPro, ref men) == false)
                        {
                            MessageBox.Show(men);
                        }


                        #region DetalleMovimiento
                        List <in_movi_inve_detalle_Info> ListDetalle = new List <in_movi_inve_detalle_Info>();
                        in_movi_inve_detalle_Info        _DetMovi_I  = new in_movi_inve_detalle_Info();
                        _DetMovi_I.IdBodega          = Convert.ToInt32(Parametros_Techo.IdBodega_EgrxMateriaPrima);
                        _DetMovi_I.IdEmpresa         = param.IdEmpresa;
                        _DetMovi_I.IdMovi_inven_tipo = Convert.ToInt32(Parametros_Techo.IdMovi_inven_tipo_x_EgrxProduc_MatPri);
                        _DetMovi_I.IdNumMovi         = Idmovi;
                        _DetMovi_I.IdProducto        = Info.IdProducto_MateriaPrima;
                        _DetMovi_I.IdSucursal        = Convert.ToInt32(Parametros_Techo.IdSucursal_EgrxMateriaPrima);
                        _DetMovi_I.dm_cantidad       = Convert.ToDouble(txtConsumo.EditValue);
                        _DetMovi_I.dm_observacion    = InfoMovi.cm_observacion;
                        _DetMovi_I.dm_precio         = ProdMateriaPrima.pr_precio_publico;
                        _DetMovi_I.mv_costo          = ProdMateriaPrima.pr_costo_promedio;
                        _DetMovi_I.mv_tipo_movi      = "-";
                        _DetMovi_I.dm_stock_ante     = ProdMateriaPrima.pr_stock;
                        _DetMovi_I.dm_stock_actu     = ProdMateriaPrima.pr_stock - _DetMovi_I.dm_cantidad;
                        ListDetalle.Add(_DetMovi_I);

                        #endregion
                        if (_movidet_b.GrabarDB(ListDetalle, ref men) == false)
                        {
                            MessageBox.Show(men);
                        }
                        ListDetalle.ForEach(var => var.dm_cantidad = var.dm_cantidad * -1);
                        _ProdXBode_B.ActualizarStock_x_Bodega_con_moviInven(ListDetalle, ref men);
                        #endregion
                        #region MovimientoInvenarioProducto
                        InfoMovi                   = new in_movi_inve_Info();
                        ListDetalle                = new List <in_movi_inve_detalle_Info>();
                        InfoMovi.IdEmpresa         = param.IdEmpresa;
                        InfoMovi.cm_observacion    = "Ing. Produ Ter. X Gestion Productiva " + CmbTipoModelo.Text + "# " + Id;
                        InfoMovi.cm_tipo           = "+";
                        InfoMovi.cm_fecha          = DateTime.Now;
                        InfoMovi.Fecha_Transac     = param.Fecha_Transac;
                        InfoMovi.IdUsuario         = param.IdUsuario;
                        InfoMovi.IdUsuarioUltModi  = param.IdUsuario;
                        InfoMovi.Fecha_UltMod      = param.Fecha_Transac;
                        InfoMovi.IdBodega          = Convert.ToInt32(Parametros_Techo.IdBodega_IngxProduc);
                        InfoMovi.IdSucursal        = Convert.ToInt32(Parametros_Techo.IdSucursal_IngxProduc);
                        InfoMovi.IdMovi_inven_tipo = Convert.ToInt32(Parametros_Techo.IdMovi_inven_tipo_x_IngxProduc_ProdTermi);
                        InfoMovi.nom_pc            = param.nom_pc;
                        Info.ip = param.ip;
                        if (_movi_B.GrabarDB(InfoMovi, ref Idmovi, ref mensaje_cbte_cble, ref men) == false)
                        {
                            MessageBox.Show(men);
                        }
                        InfoMovxPro                     = new prod_GestionProductivaTechos_CusTalme_X_in_movi_inve_Info();
                        InfoMovxPro.IdEmpresa           = InfoMovxPro.prod_IdEmpresa = param.IdEmpresa;
                        InfoMovxPro.IdBodega            = InfoMovi.IdBodega;
                        InfoMovxPro.IdGestionProductiva = Id;
                        InfoMovxPro.IdMovi_inven_tipo   = InfoMovi.IdMovi_inven_tipo;
                        InfoMovxPro.IdNumMovi           = Idmovi;
                        InfoMovxPro.IdSucursal          = InfoMovi.IdSucursal;
                        if (BusprodXMovi.Guardar(InfoMovxPro, ref men) == false)
                        {
                            MessageBox.Show(men);
                        }
                        Boolean segunda = false;
                        foreach (var item in Info.ListaDetalle)
                        {
                            var Producto = _ProdXBode_B.Get_Info_Producto_x_Producto(param.IdEmpresa, Convert.ToInt32(Parametros_Techo.IdSucursal_EgrxMateriaPrima), Convert.ToInt32(Parametros_Techo.IdBodega_EgrxMateriaPrima), Convert.ToDecimal(cmbMateriaPrima.EditValue));
                            _DetMovi_I                   = new in_movi_inve_detalle_Info();
                            _DetMovi_I.IdBodega          = Convert.ToInt32(Parametros_Techo.IdBodega_IngxProduc);
                            _DetMovi_I.IdEmpresa         = param.IdEmpresa;
                            _DetMovi_I.IdMovi_inven_tipo = Convert.ToInt32(Parametros_Techo.IdMovi_inven_tipo_x_IngxProduc_ProdTermi);
                            _DetMovi_I.IdNumMovi         = Idmovi;
                            _DetMovi_I.IdProducto        = item.Prod_IdProducto;
                            _DetMovi_I.IdSucursal        = Convert.ToInt32(Parametros_Techo.IdSucursal_IngxProduc);
                            _DetMovi_I.dm_cantidad       = item.Prducc_Unidades;
                            _DetMovi_I.dm_observacion    = InfoMovi.cm_observacion;
                            _DetMovi_I.dm_precio         = Producto.pr_precio_publico;
                            _DetMovi_I.mv_costo          = Producto.pr_costo_promedio;
                            _DetMovi_I.mv_tipo_movi      = "+";
                            _DetMovi_I.dm_stock_ante     = Producto.pr_stock;
                            _DetMovi_I.dm_stock_actu     = Producto.pr_stock - _DetMovi_I.dm_cantidad;
                            ListDetalle.Add(_DetMovi_I);

                            if (segunda)
                            {
                                _DetMovi_I = new in_movi_inve_detalle_Info();
                                var Producto2 = _ProdXBode_B.Get_Info_Producto_x_Producto(param.IdEmpresa, Convert.ToInt32(Parametros_Techo.IdSucursal_EgrxMateriaPrima), Convert.ToInt32(Parametros_Techo.IdBodega_EgrxMateriaPrima), Convert.ToDecimal(item.Segunda_IdProducto));
                                _DetMovi_I                   = new in_movi_inve_detalle_Info();
                                _DetMovi_I.IdBodega          = Convert.ToInt32(Parametros_Techo.IdBodega_IngxProduc);
                                _DetMovi_I.IdEmpresa         = param.IdEmpresa;
                                _DetMovi_I.IdMovi_inven_tipo = Convert.ToInt32(Parametros_Techo.IdMovi_inven_tipo_x_IngxProduc_ProdTermi);
                                _DetMovi_I.IdNumMovi         = Idmovi;
                                _DetMovi_I.IdProducto        = item.Segunda_IdProducto;
                                _DetMovi_I.IdSucursal        = Convert.ToInt32(Parametros_Techo.IdSucursal_IngxProduc);
                                _DetMovi_I.dm_cantidad       = item.Segunda_Unidades;
                                _DetMovi_I.dm_observacion    = InfoMovi.cm_observacion;
                                _DetMovi_I.dm_precio         = Producto2.pr_precio_publico;
                                _DetMovi_I.mv_costo          = Producto2.pr_costo_promedio;
                                _DetMovi_I.mv_tipo_movi      = "+";
                                _DetMovi_I.dm_stock_ante     = Producto2.pr_stock;
                                _DetMovi_I.dm_stock_actu     = Producto2.pr_stock - _DetMovi_I.dm_cantidad;
                                ListDetalle.Add(_DetMovi_I);
                            }
                            _ProdXBode_B.ActualizarStock_x_Bodega_con_moviInven(ListDetalle, ref men);
                        }
                        if (_movidet_b.GrabarDB(ListDetalle, ref men) == false)
                        {
                            MessageBox.Show(men);
                        }
                        ;

                        #endregion
                        txtIdGestion.EditValue = Id;

                        MessageBox.Show("Se ha Ingresado con exito el Registro #: " + Id);
                        btnGuardar.Enabled       = false;
                        btnGuardarYSalir.Enabled = false;
                    }
                }
            }
            catch (Exception ex)
            {
                Log_Error_bus.Log_Error(ex.ToString());
            }
        }
示例#6
0
        public Boolean GuardarDB(com_dev_compra_Info Info, ref decimal id, ref string mensaje1)
        {
            try
            {
                Boolean           resGrabar    = false;
                in_movi_inve_Info InfoMoviInve = new in_movi_inve_Info();
                decimal           IdMoviInven  = 0;
                string            msg_cbte     = "";
                string            msg          = "";

                if (validar_objeto(Info, ref mensaje1))
                {
                    resGrabar = Odata.GuardarDB(Info, ref id, ref mensaje1);

                    if (resGrabar)
                    {
                        resGrabar = Odata_det.GuardarDB(Info.lista_detalle, ref mensaje1);

                        paramInfo = ParamComBus.Get_Info_parametro(param.IdEmpresa);



                        InfoMoviInve.IdEmpresa         = Info.IdEmpresa;
                        InfoMoviInve.IdSucursal        = Info.IdSucursal;
                        InfoMoviInve.IdBodega          = Info.IdBodega;
                        InfoMoviInve.cm_anio           = Info.dv_fecha.Year;
                        InfoMoviInve.cm_fecha          = Info.dv_fecha;
                        InfoMoviInve.cm_mes            = Info.dv_fecha.Month;
                        InfoMoviInve.cm_observacion    = Info.dv_observacion;
                        InfoMoviInve.cm_tipo           = "+";
                        InfoMoviInve.Estado            = "A";
                        InfoMoviInve.IdMovi_inven_tipo = paramInfo.IdMovi_inven_tipo_dev_compra;
                        InfoMoviInve.IdNumMovi         = 0;
                        InfoMoviInve.IdProvedor        = Info.IdProveedor;
                        InfoMoviInve.IdUsuario         = param.IdUsuario;
                        InfoMoviInve.IdUsuarioUltModi  = Info.IdUsuarioUltMod;
                        InfoMoviInve.ip           = param.ip;
                        InfoMoviInve.nom_pc       = param.nom_pc;
                        InfoMoviInve.CodMoviInven = "DEVxCOM";


                        InfoMoviInve.listmovi_inve_detalle_Info = new List <in_movi_inve_detalle_Info>();

                        foreach (var item in Info.lista_detalle)
                        {
                            in_movi_inve_detalle_Info ItemInfo = new in_movi_inve_detalle_Info();


                            ItemInfo.cm_fecha          = InfoMoviInve.cm_fecha;
                            ItemInfo.CodMoviInven      = InfoMoviInve.CodMoviInven;
                            ItemInfo.dm_cantidad       = item.dv_Cantidad;
                            ItemInfo.dm_observacion    = item.dv_observacion;
                            ItemInfo.dm_precio         = item.dv_precioCompra;
                            ItemInfo.dm_stock_actu     = 0;
                            ItemInfo.dm_stock_ante     = 0;
                            ItemInfo.IdBodega          = item.IdBodega;
                            ItemInfo.IdEmpresa         = item.IdEmpresa;
                            ItemInfo.IdMovi_inven_tipo = InfoMoviInve.IdMovi_inven_tipo;
                            ItemInfo.IdNumMovi         = InfoMoviInve.IdNumMovi;
                            ItemInfo.IdProducto        = item.IdProducto;
                            ItemInfo.IdSucursal        = item.IdSucursal;
                            ItemInfo.mv_costo          = 0;
                            ItemInfo.mv_tipo_movi      = InfoMoviInve.cm_tipo;
                            ItemInfo.peso      = item.dv_peso;
                            ItemInfo.Secuencia = item.Secuencia;
                            ItemInfo.mv_costo  = item.dv_precioCompra;
                            InfoMoviInve.listmovi_inve_detalle_Info.Add(ItemInfo);
                        }



                        resGrabar = MoviInven.GrabarDB(InfoMoviInve, ref IdMoviInven, ref msg_cbte, ref msg, true);
                    }
                }
                else
                {
                    resGrabar = false;
                }

                return(resGrabar);
            }
            catch (Exception ex)
            {
                Core.Erp.Info.Log_Exception.LoggingManager.Logger.Log(Core.Erp.Info.Log_Exception.LoggingCategory.Error, ex.Message);
                throw new Core.Erp.Info.Log_Exception.DalException(string.Format("", "GuardarDB", ex.Message), ex)
                      {
                          EntityType = typeof(com_dev_compra_Bus)
                      };
            }
        }
        Boolean Genera_Inventario(in_Ingreso_x_OrdenCompra_Info info, decimal IdIngreso_oc, ref string msg)
        {
            try
            {
                //graba inventario
                in_movi_inve_Info info_MoviInve = new in_movi_inve_Info();

                info_MoviInve.IdEmpresa  = info.IdEmpresa;
                info_MoviInve.IdSucursal = info.IdSucursal;
                info_MoviInve.IdBodega   = info.IdBodega;

                int Idtipo = 0;
                com_parametro_Data odataParam     = new com_parametro_Data();
                com_parametro_Info list_parametro = new com_parametro_Info();

                list_parametro = odataParam.Get_Info_parametro(info.IdEmpresa);
                Idtipo         = list_parametro.IdMovi_inven_tipo_OC;

                if (list_parametro == null)
                {
                    msg = "No existen parámetros de compras";
                    return(false);
                }

                in_movi_inven_tipo_Info Info_moviInvTipo = new in_movi_inven_tipo_Info();
                in_movi_inven_tipo_Bus  bus_moviInvTipo  = new in_movi_inven_tipo_Bus();

                Info_moviInvTipo = bus_moviInvTipo.Get_Info_movi_inven_tipo(info.IdEmpresa, Idtipo);

                if (Info_moviInvTipo == null)
                {
                    msg = "No existen Tipos de Movimientos de Inventario";
                    return(false);
                }

                info_MoviInve.IdMovi_inven_tipo = Info_moviInvTipo.IdMovi_inven_tipo;
                info_MoviInve.CodMoviInven      = Info_moviInvTipo.Codigo;
                info_MoviInve.cm_tipo           = Info_moviInvTipo.cm_tipo_movi;

                info_MoviInve.cm_observacion = info.Observacion;
                info_MoviInve.cm_fecha       = info.Fecha_ing_bod;
                info_MoviInve.cm_anio        = info.Fecha_ing_bod.Year;
                info_MoviInve.cm_mes         = info.Fecha_ing_bod.Month;
                //info_MoviInve.IdCentroCosto = Convert.ToString(cmb_Centro_Costo.EditValue);
                //info_MoviInve.IdCentroCosto_sub_centro_costo = Convert.ToString(cmb_Sub_Centro_Costo.EditValue);
                info_MoviInve.IdProvedor = info.IdProveedor;

                //detalle
                List <in_movi_inve_detalle_Info> list_inveDet = new List <in_movi_inve_detalle_Info>();

                foreach (var item1 in info.listIngxOrdComDet)
                {
                    in_movi_inve_detalle_Info infoMovDet = new in_movi_inve_detalle_Info();

                    // infoMovDet.Checked = item.Checked;
                    infoMovDet.oc_IdEmpresa     = item1.IdEmpresa_oc;
                    infoMovDet.oc_IdSucursal    = item1.IdSucursal_oc;
                    infoMovDet.oc_IdOrdenCompra = item1.IdOrdenCompra;
                    // infoMovDet.oc_Secuencial = item1.secuencia_oc_det;
                    infoMovDet.oc_Secuencial  = item1.Secuencia_oc;
                    infoMovDet.IdProducto     = item1.IdProducto;
                    infoMovDet.dm_cantidad    = item1.Cant_a_recibir;
                    infoMovDet.dm_stock_ante  = item1.pr_stock;
                    infoMovDet.dm_stock_actu  = item1.pr_stock + item1.Cant_a_recibir;
                    infoMovDet.oc_observacion = info_MoviInve.cm_observacion;
                    infoMovDet.dm_precio      = item1.oc_precio;
                    infoMovDet.mv_costo       = item1.oc_precio;// se coloca el costo de la OC de la columna precio de compra
                    infoMovDet.peso           = item1.pr_peso;
                    infoMovDet.IdCentroCosto  = item1.IdCentroCosto;
                    infoMovDet.IdCentroCosto_sub_centro_costo = item1.IdCentroCosto_sub_centro_costo;
                    infoMovDet.nom_producto = item1.nom_producto;

                    list_inveDet.Add(infoMovDet);
                }

                info_MoviInve.listmovi_inve_detalle_Info = list_inveDet;

                //detalle

                in_movi_inve_Bus bus_MovInve = new in_movi_inve_Bus();
                decimal          idMoviInven;
                idMoviInven = 0;
                string mensaje_cbte_cble = "";

                if (bus_MovInve.GrabarDB(info_MoviInve, ref idMoviInven, ref mensaje, ref mensaje_cbte_cble))
                {
                    //grabando tabla intermedia  in_movi_inve_detalle_x_com_ordencompra_local_det

                    #region grabando tabla intermedia  in_movi_inve_detalle_x_com_ordencompra_local_det

                    List <in_movi_inve_detalle_Info> listMovInvDet = new List <in_movi_inve_detalle_Info>();
                    in_movi_inve_detalle_Bus         bus_MovInvDet = new in_movi_inve_detalle_Bus();
                    listMovInvDet = bus_MovInvDet.Get_list_Movi_inven_det(info_MoviInve.IdEmpresa, info_MoviInve.IdSucursal, info_MoviInve.IdBodega, info_MoviInve.IdMovi_inven_tipo, idMoviInven);

                    List <in_movi_inve_detalle_x_com_ordencompra_local_detalle_Info> listIngComp = new List <in_movi_inve_detalle_x_com_ordencompra_local_detalle_Info>();
                    List <in_movi_inve_detalle_x_com_ordencompra_local_detalle_Info> listOrdComp = new List <in_movi_inve_detalle_x_com_ordencompra_local_detalle_Info>();

                    in_movi_inve_detalle_x_com_ordencompra_local_detalle_Info info1;

                    foreach (var item2 in listMovInvDet)
                    {
                        info1 = new in_movi_inve_detalle_x_com_ordencompra_local_detalle_Info();

                        info1.mi_IdEmpresa         = item2.IdEmpresa;
                        info1.mi_IdSucursal        = item2.IdSucursal;
                        info1.mi_IdBodega          = item2.IdBodega;
                        info1.mi_IdMovi_inven_tipo = item2.IdMovi_inven_tipo;
                        info1.mi_IdNumMovi         = item2.IdNumMovi;
                        info1.mi_Secuencia         = item2.Secuencia;

                        listIngComp.Add(info1);
                    }

                    //  foreach (var item in ListaBind)
                    foreach (var item3 in info_MoviInve.listmovi_inve_detalle_Info)
                    {
                        info1 = new in_movi_inve_detalle_x_com_ordencompra_local_detalle_Info();

                        //if (item3.Checked == true)
                        //{
                        info1.ocd_IdEmpresa  = item3.IdEmpresa;
                        info1.ocd_IdSucursal = item3.IdSucursal;
                        //  info1.ocd_IdOrdenCompra = item3.IdOrdenCompra;
                        info1.ocd_IdOrdenCompra = item3.oc_IdOrdenCompra;
                        info1.ocd_Secuencia     = item3.oc_Secuencial;

                        listOrdComp.Add(info1);

                        //}
                    }

                    int     ocd_IdEmpresa     = 0;
                    int     ocd_IdSucursal    = 0;
                    decimal ocd_IdOrdenCompra = 0;
                    int     ocd_Secuencia     = 0;

                    foreach (var item4 in listIngComp)
                    {
                        var items = listOrdComp.First(v => v.mi_IdEmpresa == 0 && v.mi_IdSucursal == 0 && v.mi_IdBodega == 0 && v.mi_IdMovi_inven_tipo == 0 && v.mi_IdNumMovi == 0 && v.mi_Secuencia == 0);
                        ocd_IdEmpresa     = items.ocd_IdEmpresa;
                        ocd_IdSucursal    = items.ocd_IdSucursal;
                        ocd_IdOrdenCompra = items.ocd_IdOrdenCompra;
                        ocd_Secuencia     = items.ocd_Secuencia;

                        listOrdComp.Remove(items);

                        item4.ocd_IdEmpresa     = ocd_IdEmpresa;
                        item4.ocd_IdSucursal    = ocd_IdSucursal;
                        item4.ocd_IdOrdenCompra = ocd_IdOrdenCompra;
                        item4.ocd_Secuencia     = ocd_Secuencia;
                    }

                    in_movi_inve_detalle_x_com_ordencompra_local_detalle_Bus bus_Inter = new in_movi_inve_detalle_x_com_ordencompra_local_detalle_Bus();

                    if (bus_Inter.GrabarDB(listIngComp, ref mensaje))
                    {
                    }

                    // consulta grid contable

                    //info_InMovxCble = new in_movi_inve_x_ct_cbteCble_Info();
                    //info_InMovxCble = bus_InMovxCble.Obtener_x_Movi_Inven(Info_MoviInve.IdEmpresa, Info_MoviInve.IdSucursal, Info_MoviInve.IdBodega, Info_MoviInve.IdMovi_inven_tipo, idMoviInven);

                    //this.ucCon_GridDiarioContable1.setInfo(info_InMovxCble.IdEmpresa, info_InMovxCble.IdTipoCbte, info_InMovxCble.IdCbteCble);

                    #endregion

                    // actualizando los item de movimiento en tabla in_Ingreso_x_OrdenCompra

                    // consulta in_Ingreso_x_OrdenCompra
                    in_Ingreso_x_OrdenCompra_Info infoIngxComp = new in_Ingreso_x_OrdenCompra_Info();
                    infoIngxComp = odata.Get_Info_Ingreso_x_OrdenCompra(info.IdEmpresa, IdIngreso_oc);

                    // consulta in_movi_inve
                    in_movi_inve_Bus  bus_MovInv = new in_movi_inve_Bus();
                    in_movi_inve_Info infoMovInv = new in_movi_inve_Info();
                    infoMovInv = bus_MovInv.Get_Info_Movi_inven(info_MoviInve.IdEmpresa, info_MoviInve.IdSucursal, info_MoviInve.IdBodega, info_MoviInve.IdMovi_inven_tipo, idMoviInven);

                    // actualizar item Movimientos en in_Ingreso_x_OrdenCompra

                    infoIngxComp.IdEmpresa_mIinv        = infoMovInv.IdEmpresa;
                    infoIngxComp.IdSucursal_mInv        = infoMovInv.IdSucursal;
                    infoIngxComp.IdBodega_mInv          = infoMovInv.IdBodega;
                    infoIngxComp.IdMovi_inven_tipo_mInv = infoMovInv.IdMovi_inven_tipo;
                    infoIngxComp.IdNumMovi_mInv         = infoMovInv.IdNumMovi;

                    string msgs = "";
                    // odata.ModificarCabecera(infoIngxComp, ref msgs);
                }

                else
                {
                    msg = mensaje + "-" + mensaje_cbte_cble;
                    return(false);
                }

                return(true);
            }
            catch (Exception ex)
            {
                Core.Erp.Info.Log_Exception.LoggingManager.Logger.Log(Core.Erp.Info.Log_Exception.LoggingCategory.Error, ex.Message);
                throw new Core.Erp.Info.Log_Exception.DalException(string.Format("", "Genera_Inventario", ex.Message), ex)
                      {
                          EntityType = typeof(in_Ingreso_x_OrdenCompra_Bus)
                      };
            }
        }
        private void guardar()
        {
            try
            {
                //    Get_info();



                string mensaje = "";
                if (cmbEstadoAprob.SelectedValue.ToString() == "APRO")
                {
                    var TIngreso = (from q in ListaPorductos
                                    where q.CantidadAjustada > 0
                                    select q).Count();

                    var TEgresos = (from q in ListaPorductos
                                    where q.CantidadAjustada < 0
                                    select q).Count();


                    HayIngresos = (Convert.ToDouble(TIngreso) > 0) ? true : false;

                    #region HayIngreso

                    if (HayIngresos == true)
                    {
                        in_movi_inve_Info InfoMOviIngreso = new in_movi_inve_Info();

                        #region InfoMoviIngres
                        InfoMOviIngreso.IdEmpresa         = param.IdEmpresa;
                        InfoMOviIngreso.IdSucursal        = _Info.IdSucursal;
                        InfoMOviIngreso.IdBodega          = _Info.IdBodega;
                        InfoMOviIngreso.IdMovi_inven_tipo = _Info.IdMovi_inven_tipo_Ing;
                        InfoMOviIngreso.cm_tipo           = "+";
                        InfoMOviIngreso.cm_observacion    = _Info.Observacion;
                        InfoMOviIngreso.IdUsuario         = param.IdUsuario;
                        InfoMOviIngreso.nom_pc            = param.nom_pc;
                        InfoMOviIngreso.ip           = param.ip;
                        InfoMOviIngreso.Estado       = "A";
                        InfoMOviIngreso.cm_fecha     = dtp_fecha.Value;
                        InfoMOviIngreso.CodMoviInven = "AJU";

                        #endregion



                        /// opteniendo el detalle del movimiento de invetario
                        var SelectDetMoviIng = from q in ListaPorductos
                                               where q.CantidadAjustada > 0
                                               select q;

                        int c = 1;
                        foreach (var item in SelectDetMoviIng)
                        {
                            in_movi_inve_detalle_Info detMovInfo = new in_movi_inve_detalle_Info();


                            detMovInfo.peso              = item.pr_peso;
                            detMovInfo.dm_stock_ante     = item.pr_stock;
                            detMovInfo.dm_stock_actu     = Convert.ToDouble(item.StockFisico);
                            detMovInfo.dm_cantidad       = Convert.ToDouble(item.CantidadAjustada);
                            detMovInfo.IdProducto        = item.IdProducto;
                            detMovInfo.Secuencia         = c;
                            detMovInfo.IdEmpresa         = param.IdEmpresa;
                            detMovInfo.IdBodega          = InfoMOviIngreso.IdBodega;
                            detMovInfo.IdSucursal        = InfoMOviIngreso.IdSucursal;
                            detMovInfo.IdMovi_inven_tipo = InfoMOviIngreso.IdMovi_inven_tipo;
                            detMovInfo.IdNumMovi         = IdNumMovi_Ing;
                            detMovInfo.mv_tipo_movi      = InfoMOviIngreso.cm_tipo;
                            detMovInfo.dm_observacion    = _Info.Observacion;
                            detMovInfo.dm_precio         = item.pr_precio_publico;
                            detMovInfo.mv_costo          = item.pr_costo_promedio;
                            listDetMoviIngreso.Add(detMovInfo);
                            c++;
                        }


                        InfoMOviIngreso.listmovi_inve_detalle_Info = listDetMoviIngreso;
                        BusMoviInven.GrabarDB(InfoMOviIngreso, ref IdNumMovi_Ing, ref mensaje);
                    }

                    #endregion
                    #region HayEgreso
                    HayEgresos = (Convert.ToDouble(TEgresos) > 0) ? true : false;

                    if (HayEgresos == true)
                    {
                        #region InfoMoviEgreso
                        in_movi_inve_Info InfoMOviEgres = new in_movi_inve_Info();
                        InfoMOviEgres.IdEmpresa         = param.IdEmpresa;
                        InfoMOviEgres.IdSucursal        = _Info.IdSucursal;
                        InfoMOviEgres.IdBodega          = _Info.IdBodega;
                        InfoMOviEgres.IdMovi_inven_tipo = _Info.IdMovi_inven_tipo_Egr;
                        InfoMOviEgres.cm_tipo           = "-";
                        InfoMOviEgres.cm_observacion    = _Info.Observacion;
                        InfoMOviEgres.IdUsuario         = param.IdUsuario;
                        InfoMOviEgres.nom_pc            = param.nom_pc;
                        InfoMOviEgres.ip           = param.ip;
                        InfoMOviEgres.Estado       = "A";
                        InfoMOviEgres.cm_fecha     = dtp_fecha.Value;
                        InfoMOviEgres.CodMoviInven = "AJU";
                        #endregion


                        /// encontrando el detalle de inventario
                        ///
                        var SelectDetMoviEgre = from q in ListaPorductos
                                                where q.CantidadAjustada < 0
                                                select q;



                        int c = 1;

                        foreach (var item in SelectDetMoviEgre)
                        {
                            in_movi_inve_detalle_Info detMovInfo = new in_movi_inve_detalle_Info();
                            detMovInfo.IdEmpresa         = param.IdEmpresa;
                            detMovInfo.IdBodega          = InfoMOviEgres.IdBodega;
                            detMovInfo.IdSucursal        = InfoMOviEgres.IdSucursal;
                            detMovInfo.IdMovi_inven_tipo = InfoMOviEgres.IdMovi_inven_tipo;
                            detMovInfo.IdNumMovi         = IdNumMovi_Egr;
                            detMovInfo.peso      = item.pr_peso;
                            detMovInfo.Secuencia = c;
                            c++;
                            detMovInfo.mv_tipo_movi   = InfoMOviEgres.cm_tipo;
                            detMovInfo.IdProducto     = item.IdProducto;
                            detMovInfo.dm_cantidad    = Convert.ToDouble(item.CantidadAjustada) * -1;
                            detMovInfo.dm_stock_actu  = Convert.ToDouble(item.StockFisico);
                            detMovInfo.dm_stock_ante  = item.pr_stock;
                            detMovInfo.dm_observacion = _Info.Observacion;
                            detMovInfo.dm_precio      = item.pr_precio_publico;
                            detMovInfo.mv_costo       = item.pr_costo_promedio;

                            listDetMoviEgreso.Add(detMovInfo);
                        }

                        InfoMOviEgres.listmovi_inve_detalle_Info = listDetMoviEgreso;
                        BusMoviInven.GrabarDB(InfoMOviEgres, ref IdNumMovi_Egr, ref mensaje);
                    }
                    #endregion
                }



                if (BusAjusteFisico.GuardarAjusteFisico(_Info, ref IdAjusteFisico, ref IdNumMovi_Egr, ref IdNumMovi_Ing))
                {
                    txtNumAjusteFisico.Text    = IdAjusteFisico.ToString();
                    _Info.IdAjusteFisico       = IdAjusteFisico;
                    txtMoviAjustIngreso.Text   = IdNumMovi_Ing.ToString();
                    txtNumMoviAjustEgreso.Text = IdNumMovi_Egr.ToString();
                    int c = 1;


                    foreach (var item in ListaPorductos)
                    {
                        in_AjusteFisico_Detalle_Info infoAjusteDetalle = new in_AjusteFisico_Detalle_Info();
                        infoAjusteDetalle.IdAjusteFisico   = IdAjusteFisico;
                        infoAjusteDetalle.IdEmpresa        = param.IdEmpresa;
                        infoAjusteDetalle.Secuencia        = c;
                        infoAjusteDetalle.IdProducto       = item.IdProducto;
                        infoAjusteDetalle.CantidadAjustada = Convert.ToDouble(item.CantidadAjustada);
                        infoAjusteDetalle.StockFisico      = Convert.ToDouble(item.StockFisico);
                        infoAjusteDetalle.StockSistema     = item.pr_stock;
                        c++;
                        ListaAjuste.Add(infoAjusteDetalle);
                    }


                    BusAjusDeta.GuardarBase(ListaAjuste);


                    MessageBox.Show("Guardado OK");
                    btn_ok.Enabled          = false;
                    btnGrabarySalir.Enabled = false;
                }

                //in_producto_x_tb_bodega_Bus _BusProdXBode = new in_producto_x_tb_bodega_Bus();

                //string Mensaje = "";



                ListaPorductos = new List <Info.Inventario.in_Producto_Info>();;
            }
            catch (Exception ex)
            {
                Log_Error_bus.Log_Error(ex.ToString());
            }
        }
示例#9
0
        void GenerarMovimientoInvenario()
        {
            try
            {
                decimal IdMoviInvenIngres = 0;
                string  mensaje_cbte_cble = "";

                in_producto_x_tb_bodega_Bus prod_B = new in_producto_x_tb_bodega_Bus();
                in_movi_inve_detalle_x_Producto_CusCider_Bus CusCidersus_B = new in_movi_inve_detalle_x_Producto_CusCider_Bus();

                in_movi_inve_Bus in_Movi_B = new in_movi_inve_Bus();
                in_movi_inve_detalle_x_Producto_CusCider_Bus BusCusCidersu = new in_movi_inve_detalle_x_Producto_CusCider_Bus();
                var OrdenTaller = ((List <prd_OrdenTaller_Info>)(cmbOrdenTaller.Properties.DataSource)).First(v => v.IdOrdenTaller == Convert.ToDecimal(cmbOrdenTaller.EditValue));
                var Parametros  = BusParmetros.ObtenerObjeto(param.IdEmpresa);
                prd_ControlProduccion_Obrero_x_in_movi_inve_Info MoviXcConv;
                in_movi_inve_Info MoviInfo = new in_movi_inve_Info();
                MoviInfo.IdEmpresa      = param.IdEmpresa;
                MoviInfo.cm_fecha       = Convert.ToDateTime(dtpFecha.Value);
                MoviInfo.cm_observacion = txtObservacion.Text +
                                          " Eg x Prd x Ob" + cmbObra.Text +
                                          " Ot " + cmbOrdenTaller.Text +
                                          " Gt " + cmbGrupoAsignado.Text +
                                          " Et I " + txtEtapaAnterior.Text +
                                          " Et F " + txtEtapa.Text
                ;
                MoviInfo.cm_tipo           = "-";
                MoviInfo.IdBodega          = Convert.ToInt32(ctrl_Sucbod.cmb_bodega.EditValue);
                MoviInfo.IdSucursal        = Convert.ToInt32(ctrl_Sucbod.cmb_sucursal.EditValue);
                MoviInfo.IdMovi_inven_tipo = Convert.ToInt32(Parametros.IdMovi_inven_tipo_egr_ContrlProduccion);

                in_producto_Bus busprod = new in_producto_Bus();
                List <in_movi_inve_detalle_Info> Listdetalle = new List <in_movi_inve_detalle_Info>();

                foreach (var item in _ListDetalle)
                {
                    in_movi_inve_detalle_Info Obj = new in_movi_inve_detalle_Info();

                    var Producto = prod_B.Get_Info_Producto_x_Producto(param.IdEmpresa, MoviInfo.IdSucursal, MoviInfo.IdBodega, item.IdProducto);
                    Obj.IdProducto        = item.IdProducto;
                    Obj.IdSucursal        = MoviInfo.IdSucursal;
                    Obj.IdBodega          = MoviInfo.IdBodega;
                    Obj.IdEmpresa         = param.IdEmpresa;
                    Obj.IdMovi_inven_tipo = MoviInfo.IdMovi_inven_tipo;
                    Obj.IdProducto        = item.IdProducto;
                    Obj.mv_costo          = ProductosXEtapa.First(v => v.IdProducto == item.IdProducto).mv_costo;
                    Obj.dm_precio         = ProductosXEtapa.First(v => v.IdProducto == item.IdProducto).dm_precio;
                    Obj.mv_tipo_movi      = "-";
                    Obj.dm_stock_actu     = Producto.pr_stock - 1;
                    Obj.dm_stock_ante     = Producto.pr_stock;

                    var prod = busprod.Get_Info_BuscarProducto(item.IdProducto, param.IdEmpresa);
                    Obj.dm_observacion = " Prod " + prod.pr_descripcion;
                    Obj.dm_observacion = MoviInfo.cm_observacion + Obj.dm_observacion;

                    Obj.dm_cantidad = -1;


                    MoviInfo.listmovi_inve_detalle_Info.Add(Obj);
                }

                decimal IdMoviInven = 0;
                string  Msj         = "";
                int     c           = 1;
                //MoviInfo.listmovi_inve_detalle_Info.ForEach(var => var.dm_cantidad = var.dm_cantidad * -1);
                if (in_Movi_B.GrabarDB(MoviInfo, ref IdMoviInven, ref mensaje_cbte_cble, ref Msj) == false)
                {
                    MessageBox.Show(Msj, "Movimiento Egreso");
                }
                else
                {
                    MoviXcConv                      = new prd_ControlProduccion_Obrero_x_in_movi_inve_Info();
                    MoviXcConv.mv_IdBodega          = MoviInfo.IdBodega;
                    MoviXcConv.mv_IdEmpresa         = MoviInfo.IdEmpresa;
                    MoviXcConv.mv_IdMovi_inven_tipo = MoviInfo.IdMovi_inven_tipo;
                    MoviXcConv.mv_IdNumMovi         = IdMoviInven;
                    MoviXcConv.mv_IdSucursal        = MoviInfo.IdSucursal;
                    listMovi.Add(MoviXcConv);

                    MoviInfo.cm_tipo           = "+";
                    MoviInfo.IdNumMovi         = 0;
                    MoviInfo.IdMovi_inven_tipo = Convert.ToInt32(Parametros.IdMovi_inven_tipo_ing_ContrlProduccion);
                    MoviInfo.cm_observacion    = txtObservacion.Text +
                                                 " Ing x Prd x Ob" + cmbObra.Text +
                                                 " Ot " + cmbOrdenTaller.Text +
                                                 " Gt " + cmbGrupoAsignado.Text +
                                                 " Et I " + txtEtapaAnterior.Text +
                                                 " Et F " + txtEtapa.Text
                    ;

                    foreach (var v in MoviInfo.listmovi_inve_detalle_Info)
                    {
                        v.mv_tipo_movi  = "+"; v.IdMovi_inven_tipo = MoviInfo.IdMovi_inven_tipo; v.dm_cantidad = 1;
                        v.dm_stock_actu = v.dm_stock_actu + 1;
                        v.dm_stock_ante = v.dm_stock_actu;
                        var prod = busprod.Get_Info_BuscarProducto(v.IdProducto, param.IdEmpresa);
                        v.dm_observacion = " Prod " + prod.pr_descripcion;
                        v.dm_observacion = MoviInfo.cm_observacion + v.dm_observacion;
                    }

                    if (in_Movi_B.GrabarDB(MoviInfo, ref IdMoviInvenIngres, ref mensaje_cbte_cble, ref Msj) == false)
                    {
                        MessageBox.Show(Msj, "Movimiento Ingreso");
                    }
                    MoviXcConv                      = new prd_ControlProduccion_Obrero_x_in_movi_inve_Info();
                    MoviXcConv.mv_IdBodega          = MoviInfo.IdBodega;
                    MoviXcConv.mv_IdEmpresa         = MoviInfo.IdEmpresa;
                    MoviXcConv.mv_IdMovi_inven_tipo = MoviInfo.IdMovi_inven_tipo;
                    MoviXcConv.mv_IdNumMovi         = IdMoviInvenIngres;
                    MoviXcConv.mv_IdSucursal        = MoviInfo.IdSucursal;
                    listMovi.Add(MoviXcConv);
                }

                List <in_movi_inve_detalle_x_Producto_CusCider_Info> ListCidersusInfo = new List <in_movi_inve_detalle_x_Producto_CusCider_Info>();
                foreach (var item in _ListDetalle)
                {
                    in_movi_inve_detalle_x_Producto_CusCider_Info CusCidersusInfo = new in_movi_inve_detalle_x_Producto_CusCider_Info();
                    CusCidersusInfo.IdEmpresa   = param.IdEmpresa;
                    CusCidersusInfo.CodigoBarra = item.CodBarraMaestro;
                    CusCidersusInfo.dm_cantidad = -1;
                    var prod = busprod.Get_Info_BuscarProducto(item.IdProducto, param.IdEmpresa);
                    CusCidersusInfo.dm_observacion =
                        txtObservacion.Text +
                        " Eg x Prd x Ob" + cmbObra.Text +
                        " Ot " + cmbOrdenTaller.Text +
                        " Gt " + cmbGrupoAsignado.Text +
                        " Et I " + txtEtapaAnterior.Text +
                        " Et F " + txtEtapa.Text +
                        " Prod " + prod.pr_descripcion
                    ;

                    CusCidersusInfo.dm_precio              = ProductosXEtapa.First(v => v.IdProducto == item.IdProducto).dm_precio;
                    CusCidersusInfo.et_IdEmpresa           = param.IdEmpresa;
                    CusCidersusInfo.et_IdEtapa             = EtapaAnterior.IdEtapa;
                    CusCidersusInfo.et_IdProcesoProductivo = EtapaAnterior.IdProcesoProductivo;
                    CusCidersusInfo.IdBodega          = MoviInfo.IdBodega;
                    CusCidersusInfo.IdSucursal        = MoviInfo.IdSucursal;
                    CusCidersusInfo.IdMovi_inven_tipo = Convert.ToInt32(Parametros.IdMovi_inven_tipo_egr_ContrlProduccion);
                    CusCidersusInfo.IdNumMovi         = IdMoviInven;
                    CusCidersusInfo.IdProducto        = item.IdProducto;
                    CusCidersusInfo.mv_costo          = ProductosXEtapa.First(v => v.IdProducto == item.IdProducto).mv_costo;
                    CusCidersusInfo.ot_CodObra        = OrdenTaller.CodObra;
                    CusCidersusInfo.ot_IdEmpresa      = OrdenTaller.IdEmpresa;
                    CusCidersusInfo.ot_IdOrdenTaller  = OrdenTaller.IdOrdenTaller;
                    CusCidersusInfo.ot_IdSucursal     = OrdenTaller.IdSucursal;
                    CusCidersusInfo.mv_Secuencia      = c;
                    CusCidersusInfo.mv_tipo_movi      = "-";
                    c++;
                    ListCidersusInfo.Add(CusCidersusInfo);
                }


                if (BusCusCidersu.GuardarDB(ListCidersusInfo, ref Msj) == false)
                {
                    MessageBox.Show(Msj, "Cus Cidersus Egreso");
                }
                else
                {
                    foreach (var v in ListCidersusInfo)
                    {
                        v.dm_cantidad            = 1;
                        v.et_IdEtapa             = Etapa.IdEtapa;
                        v.et_IdProcesoProductivo = Etapa.IdProcesoProductivo;
                        v.IdMovi_inven_tipo      = Convert.ToInt32(Parametros.IdMovi_inven_tipo_ing_ContrlProduccion);
                        v.IdNumMovi = IdMoviInvenIngres; v.mv_tipo_movi = "+";
                        var prod = busprod.Get_Info_BuscarProducto(v.IdProducto, param.IdEmpresa);
                        v.dm_observacion =
                            txtObservacion.Text +
                            " Ing x Prd x Ob" + cmbObra.Text +
                            " Ot " + cmbOrdenTaller.Text +
                            " Gt " + cmbGrupoAsignado.Text +
                            " Et I " + txtEtapaAnterior.Text +
                            " Et F " + txtEtapa.Text +
                            " Prod " + prod.pr_descripcion
                        ;
                    }
                    if (BusCusCidersu.GuardarDB(ListCidersusInfo, ref Msj) == false)
                    {
                        MessageBox.Show(Msj, "Cus Cidersus Ingreso");
                    }
                }
            }
            catch (Exception ex)
            {
                Log_Error_bus.Log_Error(ex.ToString());

                MessageBox.Show(ex.ToString());
            }
        }
        void grabar()
        {
            try
            {
                txtObservacion.Focus();
                decimal idEnsamb          = 0;
                decimal idMovIng          = 0;
                decimal idMovEg           = 0;
                string  msg               = "";
                string  mensaje_cbte_cble = "";


                {
                    mv_cab.IdMovi_inven_tipo = Convert.ToInt32(paramCidersus.IdMovi_inven_tipo_egr_Ensamblado);
                    mv_cab.cm_tipo           = "-";
                    mv_cab.cm_observacion    = " Egr Suc " + UCSuc_Bod.cmb_sucursal.Text +
                                               " Bod " + UCSuc_Bod.cmb_bodega.Text + Ensamblado.Observacion;
                }

                GT = busGT.OBtenerGT(param.IdEmpresa, Ensamblado.IdSucursal,
                                     Convert.ToDecimal(gridLkUGrupoTrabajo.EditValue));

                if (Bus_mv.GrabarDB(mv_cab, ref idMovEg, ref mensaje_cbte_cble, ref msg))
                {
                    Lst_mv_detalle_eg.ForEach(var => var.IdNumMovi = idMovEg);
                    int et_anterior = etapaanterior(GT.IdEtapa, GT.IdProcesoProductivo);
                    if (et_anterior == 0)
                    {
                        Lst_mv_detalleXprod_eg.ForEach(var => var.IdNumMovi = idMovEg);
                    }
                    else
                    {
                        Lst_mv_detalleXprod_eg.ForEach(var =>
                        {
                            var.et_IdEmpresa           = param.IdEmpresa;
                            var.IdNumMovi              = idMovEg;
                            var.et_IdProcesoProductivo = GT.IdProcesoProductivo;
                            var.et_IdEtapa             = et_anterior;
                        });
                    }
                    if (Bus_mv_det.GrabarDB(Lst_mv_detalle_eg, ref msg))
                    {
                        if (Bus_mv_detXpro.GuardarDB(Lst_mv_detalleXprod_eg, ref msg))
                        {
                            if (Bus_prodxbod.ActualizarStock_x_Bodega_con_moviInven(Lst_mv_detalle_eg, ref msg))
                            {
                                MessageBox.Show("Movimiento Inventario No. " + idMovEg
                                                + " Egreso de Bodega de Produccion. \n Grabado Satisfactoriamente",
                                                "Sistemas", MessageBoxButtons.OK, MessageBoxIcon.Information);
                            }
                        }
                    }
                }

                {
                    mv_cab.IdMovi_inven_tipo = Convert.ToInt32(paramCidersus.IdMovi_inven_tipo_ing_Ensamblado);
                    mv_cab.cm_tipo           = "+";
                    mv_cab.cm_observacion    = " Ing Suc " + UCSuc_Bod.cmb_sucursal.Text +
                                               " Bod " + UCSuc_Bod.cmb_bodega.Text + Ensamblado.Observacion;
                }
                mv_cab.IdNumMovi = 0;
                if (Bus_mv.GrabarDB(mv_cab, ref idMovIng, ref mensaje_cbte_cble, ref msg))
                {
                    Lst_mv_detalle_ing.ForEach(var => var.IdNumMovi      = idMovIng);
                    Lst_mv_detalleXprod_ing.ForEach(var => var.IdNumMovi = idMovIng);

                    if (Bus_mv_det.GrabarDB(Lst_mv_detalle_ing, ref msg))
                    {
                        //GT = busGT.OBtenerGT(param.IdEmpresa,Ensamblado.IdSucursal,Convert.ToDecimal( gridLkUOrdenTaller.EditValue),
                        //    Convert.ToDecimal( gridLkUGrupoTrabajo.EditValue) );

                        Lst_mv_detalleXprod_ing.ForEach(var =>
                        {
                            var.et_IdEmpresa           = GT.IdEmpresa;
                            var.et_IdProcesoProductivo = GT.IdProcesoProductivo;
                            var.et_IdEtapa             = GT.IdEtapa;
                        });

                        if (Bus_mv_detXpro.GuardarDB(Lst_mv_detalleXprod_ing, ref msg))
                        {
                            if (Bus_prodxbod.ActualizarStock_x_Bodega_con_moviInven(Lst_mv_detalle_ing, ref msg))
                            {
                                MessageBox.Show("Movimiento Inventario No. " + idMovIng
                                                + " Ingreso de Bodega de Produccion por Etapa de Ensamblado. \n Grabado Satisfactoriamente",
                                                "Sistemas", MessageBoxButtons.OK, MessageBoxIcon.Information);
                            }
                        }
                    }
                }

                Ensamblado.CodigoBarra = txtCodBarra.Text = Lst_mv_detalleXprod_ing[0].CodigoBarra;
                Ensamblado.Observacion = Ensamblado.Observacion + "Mov Eg" + idMovEg + "Mov Ing" + idMovIng;

                if (BusEnsamblado.GuardarDB(Ensamblado, DetalleEnsam, ref idEnsamb, ref msg))
                {
                    infoTI.en_IdEmpresa      = infoTI.IdEmpresa = Ensamblado.IdEmpresa;
                    infoTI.en_IdSucursal     = infoTI.IdSucursal = Ensamblado.IdSucursal;
                    infoTI.en_IdEnsamblado   = idEnsamb;
                    infoTI.IdBodega          = mv_cab.IdBodega;
                    infoTI.IdMovi_inven_tipo = Convert.ToInt32(paramCidersus.IdMovi_inven_tipo_egr_Ensamblado);
                    infoTI.IdNumMovi         = idMovEg;


                    if (busTI.GuardarDB(infoTI, ref msg))
                    {
                        infoTI.IdMovi_inven_tipo = Convert.ToInt32(paramCidersus.IdMovi_inven_tipo_ing_Ensamblado);
                        infoTI.IdNumMovi         = idMovIng;

                        if (busTI.GuardarDB(infoTI, ref msg))
                        {
                            MessageBox.Show("Ensamblado No. " + idEnsamb + "\n Grabado Satisfactoriamente", "Sistemas", MessageBoxButtons.OK, MessageBoxIcon.Information);
                            txtEnsamblado.Text = Convert.ToString(idEnsamb);
                            // btn_guardar.Enabled = false;
                            Ensamblado.IdEnsamblado = idEnsamb;
                            setCab(Ensamblado);
                        }
                    }
                }

                else
                {
                }
            }
            catch (Exception ex)
            {
                Log_Error_bus.Log_Error(ex.ToString());
                MessageBox.Show(ex.ToString());
            }
        }
示例#11
0
        private void ucGe_Menu_event_btnAprobar_Click(object sender, EventArgs e)
        {
            try
            {
                string mensaje_cbte_cble_ing = "";
                string mensaje_cbte_cble_egr = "";

                Get_info();


                in_AjusteFisico_Detalle_Bus BusAjusDeta = new in_AjusteFisico_Detalle_Bus();
                BusAjusDeta.EliminarDB(param.IdEmpresa, Convert.ToDecimal(txtNumAjusteFisico.Text));
                int s = 1;
                ListaAjuste = new List <in_AjusteFisico_Detalle_Info>();
                foreach (var item in BindingList_Producto)
                {
                    in_AjusteFisico_Detalle_Info infoAjusteDetalle = new in_AjusteFisico_Detalle_Info();
                    infoAjusteDetalle.IdAjusteFisico   = Convert.ToDecimal(txtNumAjusteFisico.Text);
                    infoAjusteDetalle.IdEmpresa        = param.IdEmpresa;
                    infoAjusteDetalle.Secuencia        = s;
                    infoAjusteDetalle.IdProducto       = item.IdProducto;
                    infoAjusteDetalle.CantidadAjustada = Convert.ToDouble(item.CantidadAjustada);
                    infoAjusteDetalle.StockFisico      = Convert.ToDouble(item.StockFisico);
                    infoAjusteDetalle.StockSistema     = item.pr_stock == null ? 0 : Convert.ToDouble(item.pr_stock);
                    s++;
                    ListaAjuste.Add(infoAjusteDetalle);
                }

                BusAjusDeta.GuardarDB(ListaAjuste);

                string mensaje = "";

                var TIngreso = (from q in BindingList_Producto
                                where q.CantidadAjustada > 0
                                select q).Count();

                var TEgresos = (from q in BindingList_Producto
                                where q.CantidadAjustada < 0
                                select q).Count();


                HayIngresos = (Convert.ToDouble(TIngreso) > 0) ? true : false;

                #region HayIngreso

                if (HayIngresos == true)
                {
                    in_movi_inve_Info InfoMOviIngreso = new in_movi_inve_Info();

                    #region InfoMoviIngres
                    InfoMOviIngreso.IdEmpresa         = param.IdEmpresa;
                    InfoMOviIngreso.IdSucursal        = Info_AjusteFisico.IdSucursal;
                    InfoMOviIngreso.IdBodega          = Info_AjusteFisico.IdBodega;
                    InfoMOviIngreso.IdMovi_inven_tipo = Info_AjusteFisico.IdMovi_inven_tipo_Ing;
                    InfoMOviIngreso.cm_tipo           = "+";
                    InfoMOviIngreso.cm_observacion    = Info_AjusteFisico.Observacion;
                    InfoMOviIngreso.IdUsuario         = param.IdUsuario;
                    InfoMOviIngreso.nom_pc            = param.nom_pc;
                    InfoMOviIngreso.ip           = param.ip;
                    InfoMOviIngreso.Estado       = "A";
                    InfoMOviIngreso.cm_fecha     = dtp_fecha.Value;
                    InfoMOviIngreso.CodMoviInven = "AJU";

                    #endregion

                    var SelectDetMoviIng = from q in BindingList_Producto
                                           where q.CantidadAjustada > 0
                                           select q;

                    int c = 1;
                    foreach (var item in SelectDetMoviIng)
                    {
                        in_movi_inve_detalle_Info detMovInfo = new in_movi_inve_detalle_Info();

                        detMovInfo.dm_cantidad       = Convert.ToDouble(item.CantidadAjustada);
                        detMovInfo.IdProducto        = item.IdProducto;
                        detMovInfo.Secuencia         = c;
                        detMovInfo.IdEmpresa         = param.IdEmpresa;
                        detMovInfo.IdBodega          = InfoMOviIngreso.IdBodega;
                        detMovInfo.IdSucursal        = InfoMOviIngreso.IdSucursal;
                        detMovInfo.IdMovi_inven_tipo = InfoMOviIngreso.IdMovi_inven_tipo;
                        detMovInfo.IdNumMovi         = 0;
                        detMovInfo.mv_tipo_movi      = InfoMOviIngreso.cm_tipo;
                        detMovInfo.dm_observacion    = Info_AjusteFisico.Observacion;
                        detMovInfo.mv_costo          = item.pr_costo_promedio;

                        listDetMoviIngreso.Add(detMovInfo);

                        c++;
                    }

                    InfoMOviIngreso.listmovi_inve_detalle_Info = listDetMoviIngreso;

                    Bus_MoviInven.GrabarDB(InfoMOviIngreso, ref IdNumMovi_Ing, ref mensaje_cbte_cble_ing, ref mensaje);
                }

                #endregion
                #region HayEgreso
                HayEgresos = (Convert.ToDouble(TEgresos) > 0) ? true : false;

                if (HayEgresos == true)
                {
                    #region InfoMoviEgreso
                    in_movi_inve_Info InfoMOviEgres = new in_movi_inve_Info();
                    InfoMOviEgres.IdEmpresa         = param.IdEmpresa;
                    InfoMOviEgres.IdSucursal        = Info_AjusteFisico.IdSucursal;
                    InfoMOviEgres.IdBodega          = Info_AjusteFisico.IdBodega;
                    InfoMOviEgres.IdMovi_inven_tipo = Info_AjusteFisico.IdMovi_inven_tipo_Egr;
                    InfoMOviEgres.cm_tipo           = "-";
                    InfoMOviEgres.cm_observacion    = Info_AjusteFisico.Observacion;
                    InfoMOviEgres.IdUsuario         = param.IdUsuario;
                    InfoMOviEgres.nom_pc            = param.nom_pc;
                    InfoMOviEgres.ip           = param.ip;
                    InfoMOviEgres.Estado       = "A";
                    InfoMOviEgres.cm_fecha     = dtp_fecha.Value;
                    InfoMOviEgres.CodMoviInven = "AJU";
                    #endregion

                    var SelectDetMoviEgre = from q in BindingList_Producto
                                            where q.CantidadAjustada < 0
                                            select q;

                    int c = 1;

                    foreach (var item in SelectDetMoviEgre)
                    {
                        in_movi_inve_detalle_Info detMovInfo = new in_movi_inve_detalle_Info();
                        detMovInfo.IdEmpresa         = param.IdEmpresa;
                        detMovInfo.IdBodega          = InfoMOviEgres.IdBodega;
                        detMovInfo.IdSucursal        = InfoMOviEgres.IdSucursal;
                        detMovInfo.IdMovi_inven_tipo = InfoMOviEgres.IdMovi_inven_tipo;
                        detMovInfo.IdNumMovi         = IdNumMovi_Egr;
                        detMovInfo.Secuencia         = c;
                        c++;
                        detMovInfo.mv_tipo_movi   = InfoMOviEgres.cm_tipo;
                        detMovInfo.IdProducto     = item.IdProducto;
                        detMovInfo.dm_cantidad    = Convert.ToDouble(item.CantidadAjustada);
                        detMovInfo.dm_observacion = Info_AjusteFisico.Observacion;
                        detMovInfo.mv_costo       = item.pr_costo_promedio;
                        listDetMoviEgreso.Add(detMovInfo);
                    }


                    InfoMOviEgres.listmovi_inve_detalle_Info = listDetMoviEgreso;
                    Bus_MoviInven.GrabarDB(InfoMOviEgres, ref IdNumMovi_Egr, ref mensaje_cbte_cble_egr, ref mensaje);

                    //}
                }
                #endregion

                if (Bus_AjustFisico.ModificarDB(param.IdEmpresa, Convert.ToDecimal(txtNumAjusteFisico.Text), "APRO", IdNumMovi_Egr, IdNumMovi_Ing))
                {
                    MessageBox.Show("Ajuste Fisico Aprobado Con exito.. Ajuste#:" + Convert.ToDecimal(txtNumAjusteFisico.Text) + " Ingreso Inventario#:" + IdNumMovi_Ing
                                    + " Egreso Inventario#:" + IdNumMovi_Egr + " Diarios Contables" + mensaje_cbte_cble_ing + " " + mensaje_cbte_cble_egr);
                    ucGe_Menu.Enabled_btnGuardar         = false;
                    ucGe_Menu.Enabled_bntGuardar_y_Salir = false;
                }
                else
                {
                    MessageBox.Show("Error Al Aprobar");
                }
            }
            catch (Exception ex)
            {
                Log_Error_bus.Log_Error(ex.ToString());
                MessageBox.Show(ex.ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
示例#12
0
        public void Grabar()
        {
            decimal IdnumMov = 0;
            string  Mensaje  = "";

            try
            {
                if (Cl_Enumeradores.eTipo_action.grabar == _Accion)
                {
                    Get();
                    if (!Validar())
                    {
                        return;
                    }
                    // Guardar las subpiezas cortadas
                    if (Bus_Movimiento.GrabarDB(InfoSubPiezaCab, ref IdnumMov, ref Mensaje, ref Mensaje, true))
                    {
                        idMovimientoimprimir = IdnumMov;
                    }
                    foreach (var item in ListaSubPiezas)
                    {
                        item.IdNumMovi = IdnumMov;
                    }
                    if (Bus_TablaIntermedia.GuardarDB(ListaSubPiezas.ToList(), ref Mensaje))
                    {
                        // guardar materia prima sobrante de la pieza cortada

                        if (ListaMP_SobranteTablaIntermedia.Count > 0)
                        {
                            if (Bus_Movimiento.GrabarDB(InfoMP_Sobrante_CAB, ref IdnumMov, ref Mensaje, ref Mensaje, true))
                            {
                                idMovimientoimprimirMPSobrante = IdnumMov;
                                foreach (var item in ListaMP_SobranteTablaIntermedia)
                                {
                                    item.IdNumMovi = IdnumMov;
                                }
                                if (Bus_TablaIntermedia.GuardarDB(ListaMP_SobranteTablaIntermedia, ref Mensaje))
                                {
                                    MessageBox.Show("Se Guardaron las Piezas Generadas 'Y LA MATERIA PRIMA SOBRANTE'");
                                    if (MessageBox.Show("¿Se procedera a  imprimir los codigos de barra de los productos especiales?", "Impresión de Codigo de Barra", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                                    {
                                        imprimircodigo();
                                    }
                                    gridControlSubPiezas.DataSource          = null;
                                    gridControlElementosRestantes.DataSource = null;
                                    gridControlSubPiezas.RefreshDataSource();
                                    gridControlElementosRestantes.RefreshDataSource();
                                }
                            }
                        }
                        else
                        {
                            MessageBox.Show("Se Guardaron las Piezas Generadas 'NO UBO MATERIA PRIMA SOBRANTE PARA GUARDAR'");
                            if (MessageBox.Show("¿Se procedera a  imprimir los codigos de barra de los productos especiales?", "Impresión de Codigo de Barra", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                            {
                                imprimircodigo();
                            }
                            gridControlSubPiezas.DataSource          = null;
                            gridControlElementosRestantes.DataSource = null;
                            gridControlSubPiezas.RefreshDataSource();
                            gridControlElementosRestantes.RefreshDataSource();
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                Log_Error_bus.Log_Error(ex.ToString());
                MessageBox.Show(ex.ToString());
            }
        }
示例#13
0
        void grabar()
        {
            try
            {
                txtObservacion.Focus();
                decimal idEnsamb          = 0;
                decimal idMovIng          = 0;
                decimal idMovEg           = 0;
                string  msg               = "";
                string  mensaje_cbte_cble = "";


                {
                    mv_cab.IdMovi_inven_tipo = Convert.ToInt32(paramCidersus.IdMovi_inven_tipo_egr_Ensamblado);
                    mv_cab.cm_tipo           = "-";
                    mv_cab.cm_observacion    = " Egr Suc " + UCSuc_Bod.cmb_sucursal.Text +
                                               " Bod " + UCSuc_Bod.cmb_bodega.Text + Ensamblado.Observacion;
                }

                GT = busGT.OBtenerGT(param.IdEmpresa, Ensamblado.IdSucursal,
                                     Convert.ToDecimal(gridLkUGrupoTrabajo.EditValue));

                if (Bus_mv.GrabarDB(mv_cab, ref idMovEg, ref mensaje_cbte_cble, ref msg))
                {
                    Lst_mv_detalle_eg.ForEach(var => var.IdNumMovi = idMovEg);
                    int et_anterior = etapaanterior(GT.IdEtapa, GT.IdProcesoProductivo);
                    if (et_anterior == 0)
                    {
                        Lst_mv_detalleXprod_eg.ForEach(var => var.IdNumMovi = idMovEg);
                    }
                    else
                    {
                        Lst_mv_detalleXprod_eg.ForEach(var =>
                        {
                            var.et_IdEmpresa           = param.IdEmpresa;
                            var.IdNumMovi              = idMovEg;
                            var.et_IdProcesoProductivo = GT.IdProcesoProductivo;
                            var.et_IdEtapa             = et_anterior;
                        });
                    }
                    if (Bus_mv_det.GrabarDB(Lst_mv_detalle_eg, ref msg))
                    {
                        if (Bus_mv_detXpro.GuardarDB(Lst_mv_detalleXprod_eg, ref msg))
                        {
                            if (Bus_prodxbod.ActualizarStock_x_Bodega_con_moviInven(Lst_mv_detalle_eg, ref msg))
                            {
                                messOk = true;
                            }
                            else
                            {
                                messOk = false;
                            }
                        }
                    }
                }

                {
                    mv_cab.IdMovi_inven_tipo = Convert.ToInt32(paramCidersus.IdMovi_inven_tipo_ing_Ensamblado);
                    mv_cab.cm_tipo           = "+";
                    mv_cab.cm_observacion    = " Ing Suc " + UCSuc_Bod.cmb_sucursal.Text +
                                               " Bod " + UCSuc_Bod.cmb_bodega.Text + Ensamblado.Observacion;
                }
                mv_cab.IdNumMovi = 0;
                if (Bus_mv.GrabarDB(mv_cab, ref idMovIng, ref mensaje_cbte_cble, ref msg))
                {
                    Lst_mv_detalle_ing.ForEach(var => var.IdNumMovi      = idMovIng);
                    Lst_mv_detalleXprod_ing.ForEach(var => var.IdNumMovi = idMovIng);

                    if (Bus_mv_det.GrabarDB(Lst_mv_detalle_ing, ref msg))
                    {
                        //GT = busGT.OBtenerGT(param.IdEmpresa,Ensamblado.IdSucursal,Convert.ToDecimal( gridLkUOrdenTaller.EditValue),
                        //    Convert.ToDecimal( gridLkUGrupoTrabajo.EditValue) );

                        Lst_mv_detalleXprod_ing.ForEach(var =>
                        {
                            var.et_IdEmpresa           = GT.IdEmpresa;
                            var.et_IdProcesoProductivo = GT.IdProcesoProductivo;
                            var.et_IdEtapa             = GT.IdEtapa;
                        });

                        if (Bus_mv_detXpro.GuardarDB(Lst_mv_detalleXprod_ing, ref msg))
                        {
                            if (Bus_prodxbod.ActualizarStock_x_Bodega_con_moviInven(Lst_mv_detalle_ing, ref msg))
                            {
                                messOk = true;
                            }
                            else
                            {
                                messOk = false;
                            }
                        }
                    }
                }

                var detalleingreso = Bus_mv_detXpro.ConsultaxMovInvTipo(param.IdEmpresa,
                                                                        mv_cab.IdSucursal, mv_cab.IdBodega, idMovIng, mv_cab.IdMovi_inven_tipo);
                foreach (var item in detalleingreso)
                {
                    txtCodBarra.Text = item.CodigoBarra;
                }
                // obtener el codigo de barra a ingresasar

                //Ensamblado.CodigoBarra = txtCodBarra.Text = Lst_mv_detalleXprod_ing[0].CodigoBarra;
                Ensamblado.CodigoBarra = txtCodBarra.Text;
                Ensamblado.Observacion = Ensamblado.Observacion + "Mov Eg" + idMovEg + "Mov Ing" + idMovIng;

                if (BusEnsamblado.GuardarDB(Ensamblado, DetalleEnsam, ref idEnsamb, ref msg))
                {
                    infoTI.en_IdEmpresa      = infoTI.IdEmpresa = Ensamblado.IdEmpresa;
                    infoTI.en_IdSucursal     = infoTI.IdSucursal = Ensamblado.IdSucursal;
                    infoTI.en_IdEnsamblado   = idEnsamb;
                    infoTI.IdBodega          = mv_cab.IdBodega;
                    infoTI.IdMovi_inven_tipo = Convert.ToInt32(paramCidersus.IdMovi_inven_tipo_egr_Ensamblado);
                    infoTI.IdNumMovi         = idMovEg;


                    if (busTI.GuardarDB(infoTI, ref msg))
                    {
                        infoTI.IdMovi_inven_tipo = Convert.ToInt32(paramCidersus.IdMovi_inven_tipo_ing_Ensamblado);
                        infoTI.IdNumMovi         = idMovIng;

                        if (busTI.GuardarDB(infoTI, ref msg))
                        {
                            if (messOk == true)
                            {
                                MessageBox.Show("Grabado correcto", "Sistemas", MessageBoxButtons.OK);
                                txtEnsamblado.Text = Convert.ToString(idEnsamb);
                                set_Accion(Cl_Enumeradores.eTipo_action.consultar);
                                Ensamblado.IdEnsamblado = idEnsamb;
                                setCab(Ensamblado);
                            }
                        }
                    }
                }

                else
                {
                }
            }
            catch (Exception ex)
            {
                Log_Error_bus.Log_Error(ex.ToString());
                MessageBox.Show(ex.ToString());
            }
        }
示例#14
0
        private Boolean grabar()
        {
            try
            {
                decimal idMoviInven = 0;
                txtObservacion.Focus();
                string  msg = "";
                string  mensaje_cbte_cble   = "";
                decimal idOrdenCompra       = 0;
                string  NumGuiaProveedor    = "";
                string  NumFacturaProveedor = "";

                if (validaciones() == false)
                {
                    MessageBox.Show("No se guardó", "SISTEMA", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    return(false);
                }
                else
                {  // SI SE GRABA CABECERA Y DETALLE DE LAS TABLAS in_movi_inve Y in_movi_inve_detalle
                    getInfo();
                    if (BusCabMOvINv.GrabarDB(InfoCabMovInv, ref idMoviInven, ref mensaje_cbte_cble, ref msg))
                    {
                        InfoCabMovInv.IdNumMovi = idMoviInven;
                        NumGuiaProveedor        = InfoCabMovInv.NumDocumentoRelacionado;
                        NumFacturaProveedor     = InfoCabMovInv.NumFactura;
                        // SI GRABA EN LA TABLA in_movi_inve_detalle_x_com_ordencompra_local_det
                        if (BusTAbInt.GuardarDB(LStDet))
                        {
                            foreach (var item in LStDet)
                            {
                                var OC = busOC.Get_Info_ordencompra_local(item.IdEmpresa, item.oc_IdSucursal, item.oc_IdOrdenCompra);
                                OC.IdEstadoRecepcion_cat = "REC";
                                busOC.ModificarDB(OC, ref msg);
                                idOrdenCompra = item.oc_IdOrdenCompra;
                            }
                            // GRABA TABLA INTERMEDIA
                            foreach (var item in LstDetMovi)
                            {
                                item.IdNumMovi           = idMoviInven;
                                item.ocd_IdOrdenCompra   = idOrdenCompra;
                                item.NumFacturaProveedor = NumFacturaProveedor;
                                item.NumDocumentoRelacionadoProveedor = NumGuiaProveedor;
                            }
                            if (BusDetxProd.GuardarDB(LstDetMovi, ref msg))
                            {
                                if (BusProdxBod.ActualizarStock_x_Bodega_con_moviInven(LStDet, ref msg))
                                {
                                    this.txtID.Text = Convert.ToString(idMoviInven);
                                    MessageBox.Show("Se ha realizado correctamente la transacción #: " + idMoviInven.ToString(), "Operación Exitosa");
                                    setcab(InfoCabMovInv);
                                    set_Action(Cl_Enumeradores.eTipo_action.consultar);
                                    imprimircodigo();
                                }
                            }
                        }
                    }

                    return(true);
                }
            }
            catch (Exception ex)
            {
                Log_Error_bus.Log_Error(ex.ToString());
                MessageBox.Show(ex.ToString());
                return(false);
            }
        }
示例#15
0
        void GenerarMOvimientoInventario(decimal IdLiquidacion)
        {
            try
            {
                string mensaje_cbte_cble = "";

                prod_Parametros_x_MoviInven_x_ModeloProduccion_Bus parametrosBus = new prod_Parametros_x_MoviInven_x_ModeloProduccion_Bus();
                in_producto_x_tb_bodega_Bus _Prod_B      = new in_producto_x_tb_bodega_Bus();
                in_movi_inve_Bus            _MoviInven_B = new in_movi_inve_Bus();
                prod_Parametros_x_MoviInven_x_ModeloProduccion_Info _parametrosProduccion_I = parametrosBus.ObtenerObjeto(param.IdEmpresa, 4);
                var _Produ_I = _Prod_B.Get_Info_Producto_x_Producto(param.IdEmpresa, Convert.ToInt32(_parametrosProduccion_I.IdSucursal_IngxProducTermi), Convert.ToInt32(_parametrosProduccion_I.IdBodega_IngxProducTermi), Convert.ToDecimal(_parametrosProduccion_I.IdProducto_ParaIngreso));
                in_movi_inve_Info _InMovi_I = new in_movi_inve_Info();
                _InMovi_I.IdBodega          = Convert.ToInt32(_parametrosProduccion_I.IdBodega_IngxProducTermi);
                _InMovi_I.IdEmpresa         = param.IdEmpresa;
                _InMovi_I.IdSucursal        = Convert.ToInt32(_parametrosProduccion_I.IdSucursal_IngxProducTermi);
                _InMovi_I.IdMovi_inven_tipo = Convert.ToInt32(_parametrosProduccion_I.IdMovi_inven_tipo_x_IngxProduc_ProdTermi);
                _InMovi_I.cm_observacion    = "Movimiento inventario por Compra de chatarra # " + IdLiquidacion;
                _InMovi_I.cm_tipo           = "+";
                _InMovi_I.cm_fecha          = Convert.ToDateTime(((DateTime)(dtpFecha.EditValue)).ToShortDateString());
                in_movi_inve_detalle_Info _MoviDetalle_i = new in_movi_inve_detalle_Info();
                _MoviDetalle_i.IdEmpresa         = param.IdEmpresa;
                _MoviDetalle_i.IdBodega          = _InMovi_I.IdBodega;
                _MoviDetalle_i.IdSucursal        = _InMovi_I.IdSucursal;
                _MoviDetalle_i.dm_observacion    = _InMovi_I.cm_observacion;
                _MoviDetalle_i.mv_tipo_movi      = _InMovi_I.cm_tipo;
                _MoviDetalle_i.IdMovi_inven_tipo = _InMovi_I.IdMovi_inven_tipo;
                _MoviDetalle_i.IdProducto        = Convert.ToDecimal(_parametrosProduccion_I.IdProducto_ParaIngreso);
                _MoviDetalle_i.dm_cantidad       = Convert.ToDouble(txtNeto.EditValue);
                _MoviDetalle_i.dm_stock_actu     = _Produ_I.pr_stock + _MoviDetalle_i.dm_cantidad;
                _MoviDetalle_i.dm_stock_ante     = _Produ_I.pr_stock;
                _MoviDetalle_i.dm_precio         = _Produ_I.pr_precio_publico;
                _MoviDetalle_i.mv_costo          = _Produ_I.pr_costo_promedio;
                _InMovi_I.listmovi_inve_detalle_Info.Add(_MoviDetalle_i);

                decimal IdMovimiento = 0;
                string  Mensaje      = "";
                if (_MoviInven_B.GrabarDB(_InMovi_I, ref IdMovimiento, ref mensaje_cbte_cble, ref Mensaje) == false)
                {
                    MessageBox.Show(Mensaje, "Error Al Guardar Movimiento Inventario");
                }

                prod_CompraChatarra_CusTalme_x__in_movi_inven_Bus  Comp_X_Movi_B = new prod_CompraChatarra_CusTalme_x__in_movi_inven_Bus();
                prod_CompraChatarra_CusTalme_x__in_movi_inven_Info Comp_X_Movi_I = new prod_CompraChatarra_CusTalme_x__in_movi_inven_Info();
                Comp_X_Movi_I.IdEmpresa            = param.IdEmpresa;
                Comp_X_Movi_I.IdLiquidacion        = IdLiquidacion;
                Comp_X_Movi_I.mv_IdBodega          = _InMovi_I.IdBodega;
                Comp_X_Movi_I.mv_IdEmpresa         = _InMovi_I.IdEmpresa;
                Comp_X_Movi_I.mv_IdMovi_inven_tipo = _InMovi_I.IdMovi_inven_tipo;
                Comp_X_Movi_I.mv_IdNumMovi         = IdMovimiento;
                Comp_X_Movi_I.mv_IdSucursal        = _InMovi_I.IdSucursal;

                if (Comp_X_Movi_B.GuardarDB(Comp_X_Movi_I) == false)
                {
                    MessageBox.Show("Error al Guardar Movimiento Inventario X Compra ", "Tabla Intermedia0");
                }
            }
            catch (Exception ex)
            {
                Log_Error_bus.Log_Error(ex.ToString());
            }
        }
        Boolean Genera_Inventario_x_IngEgr_Inven(in_Ing_Egr_Inven_Info info, ref string msg)
        {
            try
            {
                //graba inventario
                in_movi_inve_Info info_MoviInve = new in_movi_inve_Info();

                info_MoviInve.IdEmpresa         = info.IdEmpresa;
                info_MoviInve.IdSucursal        = info.IdSucursal;
                info_MoviInve.IdBodega          = (info.IdBodega == null && info.listIng_Egr.Count != 0) ? Convert.ToInt32(info.listIng_Egr.FirstOrDefault().IdBodega) : Convert.ToInt32(info.IdBodega);
                info_MoviInve.IdMovi_inven_tipo = info.IdMovi_inven_tipo;



                in_movi_inven_tipo_Info Info_moviInvTipo = new in_movi_inven_tipo_Info();
                in_movi_inven_tipo_Bus  bus_moviInvTipo  = new in_movi_inven_tipo_Bus();

                Info_moviInvTipo = bus_moviInvTipo.Get_Info_movi_inven_tipo(info.IdEmpresa, info.IdMovi_inven_tipo);
                if (Info_moviInvTipo.Genera_Movi_Inven == true)
                {
                    if (Info_moviInvTipo == null)
                    {
                        msg = "No existen Tipos de Movimientos de Inventario";
                        return(false);
                    }

                    info_MoviInve.IdMovi_inven_tipo = Info_moviInvTipo.IdMovi_inven_tipo;
                    info_MoviInve.CodMoviInven      = Info_moviInvTipo.Codigo;
                    info_MoviInve.cm_tipo           = Info_moviInvTipo.cm_tipo_movi;

                    info_MoviInve.cm_observacion = info.cm_observacion;
                    info_MoviInve.cm_fecha       = info.cm_fecha;

                    info_MoviInve.IdEmpresa_Ing_Egr         = info.IdEmpresa;
                    info_MoviInve.IdSucursal_Ing_Egr        = info.IdSucursal;
                    info_MoviInve.IdBodega_Ing_Egr          = info.IdBodega;
                    info_MoviInve.IdMovi_inven_tipo_Ing_Egr = info.IdMovi_inven_tipo;
                    info_MoviInve.IdNumMovi_Ing_Egr         = info.IdNumMovi;
                    info_MoviInve.IdMotivo_inv = info.IdMotivo_Inv;


                    //detalle
                    List <in_movi_inve_detalle_Info> list_inveDet = new List <in_movi_inve_detalle_Info>();

                    foreach (var item in info.listIng_Egr)
                    {
                        in_movi_inve_detalle_Info infoMovDet = new in_movi_inve_detalle_Info();

                        infoMovDet.IdProducto     = item.IdProducto;
                        infoMovDet.dm_cantidad    = item.dm_cantidad;
                        infoMovDet.dm_observacion = (item.dm_observacion == null) ? "" : item.dm_observacion;
                        infoMovDet.mv_costo       = item.mv_costo;
                        infoMovDet.IdCentroCosto  = item.IdCentroCosto;
                        infoMovDet.IdCentroCosto_sub_centro_costo = item.IdCentroCosto_sub_centro_costo;

                        infoMovDet.IdUnidadMedida               = item.IdUnidadMedida;
                        infoMovDet.mv_costo_sinConversion       = item.mv_costo_sinConversion;
                        infoMovDet.dm_cantidad_sinConversion    = item.dm_cantidad_sinConversion;
                        infoMovDet.IdUnidadMedida_sinConversion = item.IdUnidadMedida_sinConversion;
                        infoMovDet.IdPunto_Cargo       = item.IdPunto_cargo;
                        infoMovDet.IdPunto_cargo_grupo = item.IdPunto_cargo_grupo;
                        infoMovDet.IdMotivo_Inv        = item.IdMotivo_Inv;

                        //Campos para saber cual movimiento esta devolviendo este
                        infoMovDet.IdEmpresa_dev         = item.IdEmpresa_dev;
                        infoMovDet.IdSucursal_dev        = item.IdSucursal_dev;
                        infoMovDet.IdBodega_dev          = item.IdBodega_dev;
                        infoMovDet.IdMovi_inven_tipo_dev = item.IdMovi_inven_tipo_dev;
                        infoMovDet.IdNumMovi_dev         = item.IdNumMovi_dev;
                        infoMovDet.Secuencia_dev         = item.Secuencia_dev;

                        infoMovDet.IdOrdenCompra = (item.IdOrdenCompra == null) ? 0 : Convert.ToDecimal(item.IdOrdenCompra);

                        list_inveDet.Add(infoMovDet);
                    }

                    info_MoviInve.listmovi_inve_detalle_Info = list_inveDet;

                    //detalle

                    in_movi_inve_Bus bus_MovInve = new in_movi_inve_Bus();
                    decimal          idMoviInven;
                    idMoviInven = 0;
                    string mensaje_cbte_cble = "";

                    if (bus_MovInve.GrabarDB(info_MoviInve, ref idMoviInven, ref mensaje, ref mensaje_cbte_cble))
                    {
                        // actualizar item Movimientos en in_Ing_Egr_Inven_det
                        foreach (var item in info_MoviInve.listmovi_inve_detalle_Info)
                        {
                            int conta = 0;
                            foreach (var item2 in info.listIng_Egr)
                            {
                                if (item2.IdEmpresa_inv == null && item2.IdSucursal_inv == null &&
                                    item2.IdBodega_inv == null && item2.IdMovi_inven_tipo_inv == null &&
                                    item2.IdNumMovi_inv == null && item2.secuencia_inv == null)
                                {
                                    item2.IdEmpresa_inv         = item.IdEmpresa;
                                    item2.IdSucursal_inv        = item.IdSucursal;
                                    item2.IdBodega_inv          = item.IdBodega;
                                    item2.IdMovi_inven_tipo_inv = item.IdMovi_inven_tipo;
                                    item2.IdNumMovi_inv         = idMoviInven;
                                    item2.secuencia_inv         = item.Secuencia;

                                    conta = conta + 1;
                                    break;
                                }
                                if (conta > 0)
                                {
                                    item2.IdEmpresa_inv         = null;
                                    item2.IdSucursal_inv        = null;
                                    item2.IdBodega_inv          = null;
                                    item2.IdMovi_inven_tipo_inv = null;
                                    item2.IdNumMovi_inv         = null;
                                    item2.secuencia_inv         = null;
                                    break;
                                }
                            }
                        }
                        string msgs = "";
                        // odata.ModificarCabecera_IdMovi_Inven_x_IngEgr(info, ref msgs);
                        in_Ing_Egr_Inven_det_Data odataDet = new in_Ing_Egr_Inven_det_Data();
                        odataDet.ModificarDetalle_IdMovi_Inven_x_IngEgr(info.listIng_Egr, ref msgs);
                    }
                    else
                    {
                        msg = mensaje + "-" + mensaje_cbte_cble;
                        return(false);
                    }
                }

                return(true);
            }
            catch (Exception ex)
            {
                Core.Erp.Info.Log_Exception.LoggingManager.Logger.Log(Core.Erp.Info.Log_Exception.LoggingCategory.Error, ex.Message);
                throw new Core.Erp.Info.Log_Exception.DalException(string.Format("", "Genera_Inventario_x_IngEgr_Inven", ex.Message), ex)
                      {
                          EntityType = typeof(in_Ing_Egr_Inven_Bus)
                      };
            }
        }
        void GenerarMovimientos(decimal IdGestion)
        {
            try
            {
                #region MovimientoxIngresoPalanquilla

                string mensaje_cbte_cble = "";


                in_producto_Bus   Prod_b            = new in_producto_Bus();
                var               ProductoTerminado = Prod_b.Get_info_Product(param.IdEmpresa, Convert.ToDecimal(cmbTipo.EditValue));
                in_movi_inve_Info _in_movi_inven_I  = new in_movi_inve_Info();
                _in_movi_inven_I.IdEmpresa         = param.IdEmpresa;
                _in_movi_inven_I.IdSucursal        = _Parametros.IdSucursal_IngxProduc;
                _in_movi_inven_I.IdBodega          = _Parametros.IdBodega_IngxProduc;
                _in_movi_inven_I.cm_tipo           = "+";
                _in_movi_inven_I.cm_observacion    = txtObservacion.Text + " IdGestionPrdAceria #" + IdGestion;
                _in_movi_inven_I.cm_fecha          = Convert.ToDateTime(Convert.ToDateTime(dtpFecha.EditValue).ToShortDateString());
                _in_movi_inven_I.IdMovi_inven_tipo = _Parametros.IdMovi_inven_tipo_x_IngXProdAceriaProdTerm;
                in_movi_inve_detalle_Info Det_in_movi_inven = new in_movi_inve_detalle_Info();
                Det_in_movi_inven.dm_cantidad    = Convert.ToDouble(txtPalanquilla.EditValue);
                Det_in_movi_inven.dm_observacion = _in_movi_inven_I.cm_observacion;
                Det_in_movi_inven.dm_precio      = ProductoTerminado.pr_precio_publico;
                //Det_in_movi_inven.dm_stock_actu = ProductoTerminado.kr_stockActual + Det_in_movi_inven.dm_cantidad;
                //Det_in_movi_inven.dm_stock_ante = ProductoTerminado.kr_stockActual;
                Det_in_movi_inven.IdMovi_inven_tipo = _in_movi_inven_I.IdMovi_inven_tipo;
                Det_in_movi_inven.IdBodega          = _in_movi_inven_I.IdBodega;
                Det_in_movi_inven.IdSucursal        = _in_movi_inven_I.IdSucursal;
                Det_in_movi_inven.IdEmpresa         = _in_movi_inven_I.IdEmpresa;
                Det_in_movi_inven.IdProducto        = Convert.ToDecimal(cmbTipo.EditValue);
                Det_in_movi_inven.mv_tipo_movi      = _in_movi_inven_I.cm_tipo;
                _in_movi_inven_I.listmovi_inve_detalle_Info.Add(Det_in_movi_inven);

                decimal IdMovimientoInventario = 0;
                string  Mensaje = "";
                if (BusMOvi_B.GrabarDB(_in_movi_inven_I, ref IdMovimientoInventario, ref mensaje_cbte_cble, ref Mensaje) == false)
                {
                    MessageBox.Show(Mensaje, "Error Movimiento Inventario");
                }

                prod_GestionProductivaAcero_CusTalme_x_in_movi_inven_Info InfoXMovi = new prod_GestionProductivaAcero_CusTalme_x_in_movi_inven_Info();
                InfoXMovi.gp_IdEmpresa         = param.IdEmpresa;
                InfoXMovi.gp_IdGestionAceria   = IdGestion;
                InfoXMovi.gp_IdSucursal        = _Info.IdSucursal;
                InfoXMovi.mv_IdMovi_inven_tipo = _in_movi_inven_I.IdMovi_inven_tipo;
                InfoXMovi.mv_IdBodega          = _in_movi_inven_I.IdBodega;
                InfoXMovi.mv_IdSucursal        = _in_movi_inven_I.IdSucursal;
                InfoXMovi.mv_IdEmpresa         = param.IdEmpresa;
                InfoXMovi.mv_IdNumMovi         = IdMovimientoInventario;
                BusInter.GuardarDB(InfoXMovi);

                #endregion
                #region MOvimientoChatarraNoProcesada


                var ProductoChatarraNoProcesada = Prod_b.Get_info_Product(param.IdEmpresa, 822);
                _in_movi_inven_I.IdNumMovi         = 0;
                _in_movi_inven_I.IdMovi_inven_tipo = 53;
                _in_movi_inven_I.IdSucursal        = _Parametros.IdSucursal_IngxProduc;
                _in_movi_inven_I.IdBodega          = _Parametros.IdBodega_IngxProduc;

                Det_in_movi_inven.IdMovi_inven_tipo = _in_movi_inven_I.IdMovi_inven_tipo;
                Det_in_movi_inven.dm_cantidad       = Convert.ToDouble(txtMarrano.EditValue);
                Det_in_movi_inven.dm_precio         = ProductoChatarraNoProcesada.pr_precio_publico;
                //Det_in_movi_inven.dm_stock_actu = ProductoChatarraNoProcesada.kr_stockActual + Det_in_movi_inven.dm_cantidad;
                //Det_in_movi_inven.dm_stock_ante = ProductoChatarraNoProcesada.kr_stockActual;
                Det_in_movi_inven.IdBodega   = _in_movi_inven_I.IdBodega;
                Det_in_movi_inven.IdSucursal = _in_movi_inven_I.IdSucursal;
                Det_in_movi_inven.IdProducto = 822;
                if (BusMOvi_B.GrabarDB(_in_movi_inven_I, ref IdMovimientoInventario, ref mensaje_cbte_cble, ref Mensaje) == false)
                {
                    MessageBox.Show(Mensaje, "Error Movimiento Inventario");
                }

                InfoXMovi = new prod_GestionProductivaAcero_CusTalme_x_in_movi_inven_Info();
                InfoXMovi.gp_IdEmpresa         = param.IdEmpresa;
                InfoXMovi.gp_IdGestionAceria   = IdGestion;
                InfoXMovi.gp_IdSucursal        = _Info.IdSucursal;
                InfoXMovi.mv_IdMovi_inven_tipo = _in_movi_inven_I.IdMovi_inven_tipo;
                InfoXMovi.mv_IdBodega          = _in_movi_inven_I.IdBodega;
                InfoXMovi.mv_IdSucursal        = _in_movi_inven_I.IdSucursal;
                InfoXMovi.mv_IdEmpresa         = param.IdEmpresa;
                InfoXMovi.mv_IdNumMovi         = IdMovimientoInventario;
                BusInter.GuardarDB(InfoXMovi);

                #endregion
                #region MovimientoChatarraProcesada //OJO             //Ojo Valores Quemados


                var ProductoChatarraProcesada = Prod_b.Get_info_Product(param.IdEmpresa, 823);
                _in_movi_inven_I                   = new in_movi_inve_Info();
                _in_movi_inven_I.IdEmpresa         = param.IdEmpresa;
                _in_movi_inven_I.IdSucursal        = 2;
                _in_movi_inven_I.IdBodega          = 1;
                _in_movi_inven_I.cm_tipo           = "-";
                _in_movi_inven_I.cm_observacion    = txtObservacion.Text + " IdGestionPrdAceria #" + IdGestion;
                _in_movi_inven_I.cm_fecha          = Convert.ToDateTime(Convert.ToDateTime(dtpFecha.EditValue).ToShortDateString());
                _in_movi_inven_I.IdMovi_inven_tipo = 54;
                Det_in_movi_inven                  = new in_movi_inve_detalle_Info();
                Det_in_movi_inven.dm_cantidad      = Convert.ToDouble(txtPalanquilla.EditValue);
                Det_in_movi_inven.dm_observacion   = _in_movi_inven_I.cm_observacion;
                Det_in_movi_inven.dm_precio        = ProductoChatarraProcesada.pr_precio_publico;
                //Det_in_movi_inven.dm_stock_actu = ProductoChatarraProcesada.kr_stockActual - Det_in_movi_inven.dm_cantidad;
                //Det_in_movi_inven.dm_stock_ante = ProductoChatarraProcesada.kr_stockActual;
                Det_in_movi_inven.IdMovi_inven_tipo = _in_movi_inven_I.IdMovi_inven_tipo;
                Det_in_movi_inven.IdBodega          = _in_movi_inven_I.IdBodega;
                Det_in_movi_inven.IdSucursal        = _in_movi_inven_I.IdSucursal;
                Det_in_movi_inven.IdEmpresa         = _in_movi_inven_I.IdEmpresa;
                Det_in_movi_inven.IdProducto        = Convert.ToDecimal(cmbTipo.EditValue);
                Det_in_movi_inven.mv_tipo_movi      = _in_movi_inven_I.cm_tipo;
                _in_movi_inven_I.listmovi_inve_detalle_Info.Add(Det_in_movi_inven);


                if (BusMOvi_B.GrabarDB(_in_movi_inven_I, ref IdMovimientoInventario, ref mensaje_cbte_cble, ref Mensaje) == false)
                {
                    MessageBox.Show(Mensaje, "Error Movimiento Inventario " + Mensaje);
                }

                InfoXMovi = new prod_GestionProductivaAcero_CusTalme_x_in_movi_inven_Info();
                InfoXMovi.gp_IdEmpresa         = param.IdEmpresa;
                InfoXMovi.gp_IdGestionAceria   = IdGestion;
                InfoXMovi.gp_IdSucursal        = _Info.IdSucursal;
                InfoXMovi.mv_IdMovi_inven_tipo = _in_movi_inven_I.IdMovi_inven_tipo;
                InfoXMovi.mv_IdBodega          = _in_movi_inven_I.IdBodega;
                InfoXMovi.mv_IdSucursal        = _in_movi_inven_I.IdSucursal;
                InfoXMovi.mv_IdEmpresa         = param.IdEmpresa;
                InfoXMovi.mv_IdNumMovi         = IdMovimientoInventario;
                BusInter.GuardarDB(InfoXMovi);

                #endregion
            }
            catch (Exception ex)
            {
                Log_Error_bus.Log_Error(ex.ToString());
            }
        }