Exemplo n.º 1
0
        private bool Contabilizar()
        {
            try
            {
                cmb_estado_contabilizacion.Focus();

                if (cmb_estado_contabilizacion.SelectedItem.ToString() == "CONTABILIZADO")
                {
                    MessageBox.Show("Los movimientos seleccionados, ya se encuentran contabilizados", param.Nombre_sistema, MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    return(false);
                }

                string mensaje_cbte  = "";
                string mensaje_error = "";
                foreach (var item in lst_movi_inven.Where(q => q.Checked == true).ToList())
                {
                    info_movi_inven = bus_movi_inven.Get_Info_Movi_inven(item.IdEmpresa, item.IdSucursal, item.IdBodega, item.IdMovi_inven_tipo, item.IdNumMovi);
                    int cont = 0;
                    foreach (var i_det in info_movi_inven.listmovi_inve_detalle_Info.Where(q => q.mv_costo == 0).ToList())
                    {
                        if (cont == 0)
                        {
                            mensaje_error = "Listado de productos con costo 0:\n";
                            cont          = 1;
                        }
                        info_producto  = bus_producto.Get_info_Product(param.IdEmpresa, i_det.IdProducto);
                        mensaje_error += "[" + info_producto.pr_codigo == null ? "" : info_producto.pr_codigo.Trim() + "]" + " " + info_producto.pr_descripcion + "\n";
                    }
                    if (mensaje_error != "")
                    {
                        MessageBox.Show("Sucursal: " + item.nom_sucursal.Trim() + "\nBodega: " + item.nom_bodega.Trim() + "\nTipo movimiento: " + item.tipo_movi_inven + "\n# Movi: " + item.IdNumMovi_Ing_Egr.ToString() + "\n" + mensaje_error, param.Nombre_sistema, MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                        Buscar_movimientos_para_contabilizar();
                        return(false);
                    }
                    if (!bus_movi_inven.Contabilizar(info_movi_inven, ref mensaje_cbte, ref mensaje_error))
                    {
                        MessageBox.Show("Sucursal: " + item.nom_sucursal.Trim() + "\nBodega: " + item.nom_bodega.Trim() + "\nTipo movimiento: " + item.tipo_movi_inven + "\n# Movi: " + item.IdNumMovi_Ing_Egr.ToString() + "\n" + mensaje_error, param.Nombre_sistema, MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                        Buscar_movimientos_para_contabilizar();
                        return(false);
                    }
                }

                return(true);
            }
            catch (Exception ex)
            {
                Log_Error_bus.Log_Error(ex.ToString());
                MessageBox.Show("Comuníquese con sistemas, " + ex.Message, param.Nombre_sistema, MessageBoxButtons.OK, MessageBoxIcon.Error);
                return(false);
            }
        }
Exemplo n.º 2
0
        public void set_info(decimal _IdProducto_padre, int IdSucursal, int IdBodega)
        {
            try
            {
                info_producto_padre            = bus_producto.Get_info_Product(param.IdEmpresa, _IdProducto_padre);
                info_producto_padre.IdSucursal = IdSucursal;
                info_producto_padre.IdBodega   = IdBodega;
                List <in_Producto_Info> temp = new List <in_Producto_Info>();
                temp.Add(info_producto_padre);
                cmb_producto.Properties.DataSource = temp;
                cmb_producto.EditValue             = info_producto_padre.IdProducto;

                gridControl_lote.DataSource = blst;
            }
            catch (Exception ex)
            {
                Log_Error_bus.Log_Error(ex.ToString());
                MessageBox.Show(ex.ToString(), param.Nombre_sistema, MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
Exemplo n.º 3
0
        public Boolean Validar_objeto(com_ordencompra_local_Info Info, ref string msg)
        {
            try
            {
                if (Info.IdEmpresa == 0 || Info.IdSucursal == 0 || Info.IdProveedor == 0 || Info.IdDepartamento == 0)
                {
                    msg = "las variables estan en cero... Info.IdEmpresa == 0 || Info.IdSucursal == 0 || Info.IdProveedor == 0 || Info.IdDepartamento == 0 ";
                    return(false);
                }

                /*
                 * if (Info.IdMotivo == null || Info.IdMotivo == 0)
                 * {
                 *  msg = "Ingrese el motivo de la Compra";
                 *  com_Catalogo_Bus bUS = new com_Catalogo_Bus();
                 *  List<com_Catalogo_Info> listc = new List<com_Catalogo_Info>(bUS.Get_List_Catalogo());
                 *  return false;
                 *
                 * }*/

                if (Info.listDetalle.Count == 0)
                {
                    msg = "la OC no tiene items q grabar";
                    return(false);
                }

                int c = 0;

                foreach (var item in Info.listDetalle)
                {
                    if (item.do_Cantidad == 0)
                    {
                        msg = "Ingrese la cantidad al item : " + item.codproducto + "  ";
                        return(false);
                    }

                    if (item.do_precioCompra == 0)
                    {
                        msg = "Ingrese el costo al item : " + item.codproducto + "  ";
                        return(false);
                    }

                    if (item.IdUnidadMedida == "" || item.IdUnidadMedida == null)
                    {
                        in_producto_Bus  BusProducto  = new in_producto_Bus();
                        in_Producto_Info InfoProducto = new in_Producto_Info();
                        InfoProducto        = BusProducto.Get_info_Product(item.IdEmpresa, item.IdProducto);
                        item.IdUnidadMedida = InfoProducto.IdUnidadMedida;
                    }


                    if (item.IdCentroCosto == "")
                    {
                        item.IdCentroCosto = null;
                    }

                    if (item.IdCentroCosto_sub_centro_costo == "")
                    {
                        item.IdCentroCosto_sub_centro_costo = null;
                    }

                    if (item.IdCod_Impuesto == "" || item.IdCod_Impuesto == null) // Arreglando si no viene iva y codigo de iva
                    {
                        tb_sis_impuesto_Bus         BusImpuestoIva    = new tb_sis_impuesto_Bus();
                        List <tb_sis_impuesto_Info> ListInfo_Impuesto = new List <tb_sis_impuesto_Info>();
                        tb_sis_impuesto_Info        Info_Impuesto     = new tb_sis_impuesto_Info();
                        ListInfo_Impuesto = BusImpuestoIva.Get_List_impuesto_para_Compras("IVA");

                        Info_Impuesto       = ListInfo_Impuesto.FirstOrDefault();
                        item.IdCod_Impuesto = Info_Impuesto.IdCod_Impuesto;
                        item.Por_Iva        = Info_Impuesto.porcentaje;
                    }


                    //item.do_ManejaIva = (item.do_iva == 0) ? false : true;
                    c = c + 1;
                    item.Secuencia = c;


                    item.IdEmpresa     = Info.IdEmpresa;
                    item.IdSucursal    = Info.IdSucursal;
                    item.IdOrdenCompra = Info.IdOrdenCompra;
                }

                if (Info.IdMotivo == 0 && Info.IdMotivo == null)
                {
                    //consulta motivo compra
                    com_Motivo_Orden_Compra_Data        odataMoti = new com_Motivo_Orden_Compra_Data();
                    List <com_Motivo_Orden_Compra_Info> listMoti  = new List <com_Motivo_Orden_Compra_Info>();

                    listMoti = odataMoti.Get_List_Motivo_Orden_Compra(Info.IdEmpresa);
                    var itemMoti = listMoti.FirstOrDefault(q => q.IdMotivo == Info.IdMotivo);
                    Info.IdMotivo = itemMoti.IdMotivo;
                }


                if (Info.IdEstadoAprobacion_cat == "" || Info.IdEstadoAprobacion_cat == null)
                {
                    List <com_Catalogo_Info> listEstadoAproba = new List <com_Catalogo_Info>();
                    listEstadoAproba = CatCom.Get_ListEstadoAprobacion();
                    com_Catalogo_Info resEstadoApro = new com_Catalogo_Info();
                    resEstadoApro = listEstadoAproba.FirstOrDefault();
                    Info.IdEstadoAprobacion_cat = resEstadoApro.IdCatalogocompra;
                }

                if (Info.IdEstadoRecepcion_cat == "" || Info.IdEstadoRecepcion_cat == null)
                {
                    List <com_Catalogo_Info> listEstadoRecep = new List <com_Catalogo_Info>();
                    com_Catalogo_Info        resEstadoRece   = new com_Catalogo_Info();
                    listEstadoRecep            = CatCom.Get_ListEstadoRecepcion();
                    resEstadoRece              = listEstadoRecep.First();
                    Info.IdEstadoRecepcion_cat = resEstadoRece.IdCatalogocompra;
                }


                if (Info.IdTerminoPago == "" || Info.IdTerminoPago == null)
                {
                    List <com_TerminoPago_Info> listTerminoPago = new List <com_TerminoPago_Info>();
                    listTerminoPago = BusTerPago.Get_List_TerminoPago();
                    com_TerminoPago_Info TerminoPago = new com_TerminoPago_Info();
                    TerminoPago        = listTerminoPago.FirstOrDefault();
                    Info.IdTerminoPago = TerminoPago.IdTerminoPago;
                }


                if (Info.IdEstado_cierre == null || Info.IdEstado_cierre == "")
                {
                    com_estado_cierre_Bus busEstCierre = new com_estado_cierre_Bus();
                    com_parametro_Bus     paraBus      = new com_parametro_Bus();
                    string idestadoCierrexDefault      = "";
                    idestadoCierrexDefault = paraBus.Get_List_parametro(Info.IdEmpresa).FirstOrDefault().IdEstado_cierre;
                    Info.IdEstado_cierre   = busEstCierre.Get_List_estado_cierre().FirstOrDefault(v => v.IdEstado_cierre == idestadoCierrexDefault).IdEstado_cierre;
                }



                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("", "Validar_objeto", ex.Message), ex)
                      {
                          EntityType = typeof(com_ordencompra_local_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());
            }
        }