예제 #1
0
        private void gridViewMovi_RowCellClick(object sender, DevExpress.XtraGrid.Views.Grid.RowCellClickEventArgs e)
        {
            try
            {
                if (e.Column.Caption == "*")
                {
                    Get();
                    in_movi_inve_Bus         MoviB         = new in_movi_inve_Bus();
                    in_movi_inve_Info        DataMoviInven = new in_movi_inve_Info();
                    List <in_movi_inve_Info> listMoviIn    = new List <in_movi_inve_Info>();
                    prod_GestionProductivaTechos_CusTalme_X_in_movi_inve_Bus Busrpt = new prod_GestionProductivaTechos_CusTalme_X_in_movi_inve_Bus();
                    in_producto_Bus BusPr       = new in_producto_Bus();
                    var             Movimientos = Busrpt.ObjtenerListaPorGestion(param.IdEmpresa, Info.IdGestionProductiva);
                    foreach (var item in Movimientos)
                    {
                        DataMoviInven = MoviB.Get_Info_Movi_inven_Report(param.IdEmpresa, item.IdSucursal, item.IdBodega, item.IdMovi_inven_tipo, item.IdNumMovi);

                        listMoviIn.Add(DataMoviInven);
                    }
                }
            }
            catch (Exception ex)
            {
                Log_Error_bus.Log_Error(ex.ToString());
            }
        }
예제 #2
0
        private void btn_Contabilizar_Click(object sender, EventArgs e)
        {
            try
            {
                var lista_a_contabilizar = from c in list_vwin_movi_inve_x_cbteCble_Datos_no_contabilizados
                                           where c.cheked == true
                                           select c;



                foreach (var item in lista_a_contabilizar)
                {
                    string            msg             = "";
                    in_movi_inve_Bus  BusMovi_Inven   = new in_movi_inve_Bus();
                    in_movi_inve_Info Info_Movi_Inven = new in_movi_inve_Info();

                    Info_Movi_Inven = BusMovi_Inven.Get_Info_Movi_inven(Convert.ToInt32(item.IdEmpresa_inv), Convert.ToInt32(item.IdSucursal_inv),
                                                                        Convert.ToInt32(item.IdBodega_inv), Convert.ToInt32(item.IdMovi_inven_tipo_inv), Convert.ToDecimal(item.IdNumMovi_inv));

                    BusMovi_Inven.Contabilizar(Info_Movi_Inven, ref msg, ref msg);
                }

                MessageBox.Show("Contabilizacion finalizada..", param.Nombre_sistema, MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
            }
            catch (Exception ex)
            {
                Log_Error_bus.Log_Error(ex.ToString());
                MessageBox.Show("Error comunicarse con Sistemas " + ex.Message + " ", "Sistemas", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
예제 #3
0
        private void btnAnular_Click(object sender, EventArgs e)
        {
            try
            {
                if (MessageBox.Show("Esta Seguro que desea Anular a transaccion ?", "Anulacion", MessageBoxButtons.YesNo) == DialogResult.Yes)
                {
                    prod_CompraChatarra_CusTalme_x__in_movi_inven_Bus Chat_X_moVI_B = new prod_CompraChatarra_CusTalme_x__in_movi_inven_Bus();
                    in_movi_inve_Bus _MoviInven_B = new in_movi_inve_Bus();
                    Get();
                    string Mensaje = "";
                    if (Bus.Anular(_Info, ref Mensaje))
                    {
                        var movimientoInv        = Chat_X_moVI_B.ObtenerObjeto(param.IdEmpresa, _Info.IdLiquidacion);
                        in_movi_inve_Info Movi_I = new in_movi_inve_Info();
                        Movi_I.IdMovi_inven_tipo = movimientoInv.mv_IdMovi_inven_tipo;
                        Movi_I.IdNumMovi         = movimientoInv.mv_IdNumMovi;
                        Movi_I.IdEmpresa         = param.IdEmpresa;
                        Movi_I.IdBodega          = movimientoInv.mv_IdBodega;
                        Movi_I.IdSucursal        = movimientoInv.mv_IdSucursal;

                        if (_MoviInven_B.AnularDB(Movi_I, Convert.ToDateTime(DateTime.Now.ToShortDateString()), ref Mensaje) == false)
                        {
                            MessageBox.Show(Mensaje);
                        }
                        btnAnular.Enabled = false;

                        MessageBox.Show(Mensaje);
                    }
                    else
                    {
                        MessageBox.Show(Mensaje);
                    }
                }
            }
            catch (Exception ex)
            {
                Log_Error_bus.Log_Error(ex.ToString());
            }
        }
        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)
                      };
            }
        }
예제 #5
0
        private void Imprimir()
        {
            try
            {
                in_movi_inve_Bus         MoviB         = new in_movi_inve_Bus();
                in_movi_inve_Info        DataMoviInven = new in_movi_inve_Info();
                List <in_movi_inve_Info> listMoviIn    = new List <in_movi_inve_Info>();



                DataMoviInven = MoviB.Obtener_list_Movi_inven_Reporte(param.IdEmpresa, _sucursalInfo.IdSucursal, _bodegaInfo.IdBodega, _TipoMoviInven.IdMovi_inven_tipo, Convert.ToDecimal(this.txtNumAjuste.Text));

                listMoviIn.Add(DataMoviInven);


                XRpt_in_Ajuste_inventario RptAjuste = new XRpt_in_Ajuste_inventario();
                RptAjuste.cargarData(listMoviIn.ToArray());
                RptAjuste.ShowPreviewDialog();



                //XRpt_cp_OrdenGiro reprtOG = new XRpt_cp_OrdenGiro(param.IdUsuario);
                //ReportParameter reprtOG_Parametro = new ReportParameter();
                //cp_orden_giro_Bus ob = new cp_orden_giro_Bus();
                //List<cp_orden_giro_Info> lOg = new List<cp_orden_giro_Info>();
                //lOg = ob.ObtenerOrdenGiro(param.IdEmpresa, ordenGiro_I.IdCbteCble_Ogiro);


                //reprtOG.loadData(lOg.ToArray());
                //reprtOG.ShowPreviewDialog();
            }
            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)
                      };
            }
        }
        public Boolean AnularDevolucion(int idEmpresa, int idSucursal, int idBodega, decimal idDevolucion, DateTime Fecha_Anulacion, string motivo, ref string mensageError)
        {
            try
            {
                in_movi_inve_Bus    MoviInve_Bus = new in_movi_inve_Bus();
                in_movi_inve_Info   InfoMoviAnu  = new in_movi_inve_Info();
                fa_devol_venta_Bus  DevVtaBus    = new fa_devol_venta_Bus();
                fa_devol_venta_Info DevVta_info  = new fa_devol_venta_Info();
                fa_notaCredDeb_Bus  BusBNotaDB   = new fa_notaCredDeb_Bus();
                fa_notaCreDeb_Info  InfoNotaCre  = new fa_notaCreDeb_Info();
                Boolean             resAnuMoviInv;
                Boolean             resAnuDevVta;
                string MensajeError = "";



                Fecha_Anulacion = Convert.ToDateTime(Fecha_Anulacion.ToShortDateString());

                #region "validaciones"
                ct_Periodo_Bus Perbus = new ct_Periodo_Bus();


                if (Perbus.Get_Periodo_Esta_Cerrado(idEmpresa, Fecha_Anulacion, ref MensajeError))
                {
                    mensageError = "no se puede anular por q el periodo esta cerrardo para esta fecha de anulacion";
                    return(false);
                }

                #endregion


                DevVta_info = DevVtaBus.Get_Info_devol_vent(idEmpresa, idSucursal, idBodega, idDevolucion, ref mensageError);

                ///////// optengo el movimiento de inventario q se genero por la devolcuion en vta
                InfoMoviAnu = MoviInve_Bus.Get_Info_Movi_inven
                                  (DevVta_info.mvInv_IdEmpresa, DevVta_info.mvInv_IdSucursal, DevVta_info.mvInv_IdBodega, DevVta_info.mvInv_IdMovi_inven_tipo, DevVta_info.mvInv_IdNumMovi);
                ///////////////

                InfoMoviAnu.MotivoAnulacion = motivo;
                InfoMoviAnu.IdusuarioUltAnu = param.IdUsuario;

                //////////// anula el movimiento de inventario /////////////////////////
                resAnuMoviInv = MoviInve_Bus.AnularDB(InfoMoviAnu, Fecha_Anulacion, ref mensageError);
                //////////// anula el movimiento de inventario /////////////////////////

                //////////// anula el la cabecera de dev vat
                resAnuDevVta = data.AnularDB(idEmpresa, idSucursal, idBodega, idDevolucion, motivo);
                //////////// anula el la cabecera de dev vat

                //////////// anula la nota de credito
                InfoNotaCre                 = BusBNotaDB.Get_Info_notaCreDeb_x_ND(idEmpresa, idSucursal, idBodega, DevVta_info.IdNota);
                InfoNotaCre.MotiAnula       = motivo;
                InfoNotaCre.IdUsuarioUltAnu = param.IdUsuario;
                InfoNotaCre.Fecha_UltAnu    = Fecha_Anulacion;
                BusBNotaDB.AnularDB(InfoNotaCre, ref mensageError);
                //////////// anula la nota de credito

                ///modifica la devolucion

                ///

                return(resAnuMoviInv && resAnuDevVta);
            }
            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("", "AnularDevolucion", ex.Message), ex)
                      {
                          EntityType = typeof(fa_devol_venta_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)
                      };
            }
        }
예제 #9
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());
            }
        }
예제 #10
0
        public Boolean AnularDB(in_Ing_Egr_Inven_Info info, ref string msgs)
        {
            try
            {
                in_Ing_Egr_Inven_det_Bus         BusDeta_Ing_Egr_Inven     = new in_Ing_Egr_Inven_det_Bus();
                List <in_Ing_Egr_Inven_det_Info> ListDet_Ing_Egr_Inven_det = new List <in_Ing_Egr_Inven_det_Info>();
                Boolean Respuesta_anulacion            = false;
                Boolean Respuesta_anulacion_Inventario = false;



                Respuesta_anulacion = odata.AnularDB(info, ref msgs);

                if (Respuesta_anulacion)
                {
                    ListDet_Ing_Egr_Inven_det = BusDeta_Ing_Egr_Inven.Get_List_Ing_Egr_Inven_det_x_Num_Movimiento(info.IdEmpresa, info.IdSucursal, info.IdMovi_inven_tipo, info.IdNumMovi);

                    in_movi_inve_Bus  BusMovi_Inven           = new in_movi_inve_Bus();
                    in_movi_inve_Info Info_movi_inve_a_Anular = new in_movi_inve_Info();

                    foreach (var item in ListDet_Ing_Egr_Inven_det)
                    {
                        if (item.IdNumMovi_inv != null)
                        {
                            Info_movi_inve_a_Anular = new in_movi_inve_Info();

                            Info_movi_inve_a_Anular = BusMovi_Inven.Get_Info_Movi_inven(Convert.ToInt32(item.IdEmpresa_inv), Convert.ToInt32(item.IdSucursal_inv), Convert.ToInt32(item.IdBodega_inv), Convert.ToInt32(item.IdMovi_inven_tipo_inv), Convert.ToDecimal(item.IdNumMovi_inv));
                            if (Info_movi_inve_a_Anular != null)
                            {
                                if (Info_movi_inve_a_Anular.IdEmpresa != 0)
                                {
                                    Respuesta_anulacion_Inventario = BusMovi_Inven.AnularDB(Info_movi_inve_a_Anular, DateTime.Now, ref msgs);
                                }
                                else
                                {
                                    Respuesta_anulacion_Inventario = true;//por que puede q no haya movi invent
                                }
                            }
                        }
                        else
                        {
                            Respuesta_anulacion_Inventario = true;
                        }
                    }
                }

                //Agrupo lista de ordenes de compra
                var lst_oc = (from q in ListDet_Ing_Egr_Inven_det
                              where q.IdOrdenCompra != null
                              group q by new { q.IdEmpresa_oc, q.IdSucursal_oc, q.IdOrdenCompra }
                              into grouping
                              select new { grouping.Key.IdEmpresa_oc, grouping.Key.IdSucursal_oc, grouping.Key.IdOrdenCompra }
                              ).ToList();

                BusDeta_Ing_Egr_Inven.Modificar_Enserar_Campos_OC(ListDet_Ing_Egr_Inven_det);

                foreach (var item in lst_oc)
                {
                    bus_oc.Modificar_Estado_Cierre(Convert.ToInt32(item.IdEmpresa_oc), Convert.ToInt32(item.IdSucursal_oc), Convert.ToInt32(item.IdOrdenCompra), "ABI");
                }

                return(Respuesta_anulacion && Respuesta_anulacion_Inventario);
            }
            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("", "AnularDB", ex.Message), ex)
                      {
                          EntityType = typeof(in_Ing_Egr_Inven_Bus)
                      };
            }
        }
예제 #11
0
        void ucGe_Menu_event_btnAnular_Click(object sender, EventArgs e)
        {
            try
            {
                prd_ControlProduccion_Obrero_x_in_movi_inve_Bus busControPr_B = new prd_ControlProduccion_Obrero_x_in_movi_inve_Bus();
                List <in_movi_inve_Info> Lst       = new List <in_movi_inve_Info>();
                in_movi_inve_Bus         in_Movi_B = new in_movi_inve_Bus();
                Get();
                string msg = "";
                if (_Info != null)
                {
                    FrmGe_MotivoAnulacion oFrm = new FrmGe_MotivoAnulacion();

                    if (_Info.Estado == "A")
                    {
                        if (MessageBox.Show("¿Está seguro que desea anular el Control de Producción No.: " + _Info.IdControlProduccionObrero + " ?",
                                            "Anulación", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                        {
                            oFrm.ShowDialog();
                            _Info.Observacion = "***ANULADO****" + _Info.Observacion;


                            if (Bus.AnularReactiva(param.IdEmpresa, _Info, ref msg))
                            {
                                //btnAnular.Enabled = false;
                                MessageBox.Show(msg);
                                var MovimientosInventario = busControPr_B.ConsultaGeneral(param.IdEmpresa, Convert.ToDecimal(txtId.Text), _Info.IdSucursal);
                                foreach (var item in MovimientosInventario)
                                {
                                    in_movi_inve_Info Obj = new in_movi_inve_Info();
                                    Obj.IdSucursal        = item.mv_IdSucursal;
                                    Obj.IdBodega          = item.mv_IdBodega;
                                    Obj.IdMovi_inven_tipo = item.mv_IdMovi_inven_tipo;
                                    Obj.IdNumMovi         = item.mv_IdNumMovi;
                                    Obj.IdEmpresa         = param.IdEmpresa;

                                    if (in_Movi_B.AnularDB(Obj, Convert.ToDateTime(DateTime.Now.ToShortDateString()), ref msg) == false)
                                    {
                                        MessageBox.Show(msg);
                                    }
                                    if (BusInve.AnularDB(param.IdEmpresa, Obj.IdSucursal, Obj.IdBodega, Obj.IdNumMovi, Obj.IdMovi_inven_tipo, ref msg) == false)
                                    {
                                        MessageBox.Show(msg);
                                    }
                                }
                            }
                            else
                            {
                                MessageBox.Show(msg);
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                Log_Error_bus.Log_Error(ex.ToString());

                MessageBox.Show(ex.ToString());
            }
        }
예제 #12
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());
            }
        }