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); } }
public void cargar_ajuste_inventario(int IdEmpresa, int IdSucursal, int IdBodega, int IdMovi_inven_tipo, decimal IdNumMovi) { try { InfoMoviInven = new in_movi_inve_Info(); InfoMoviInven = MoviInBus.Get_Info_Movi_inven(IdEmpresa, IdSucursal, IdBodega, IdMovi_inven_tipo, IdNumMovi); lblsucursal.Text = InfoMoviInven.nom_sucursal; lblbodega.Text = InfoMoviInven.nom_bodega; lblNum_Transaccion.Text = InfoMoviInven.IdNumMovi.ToString(); lblobservacion.Text = InfoMoviInven.cm_observacion; dtpfecha.Value = InfoMoviInven.cm_fecha; lblTipoMovi_Inven.Text = InfoMoviInven.NomTipoMovi; lblanulado.Visible = (InfoMoviInven.Estado == "I") ? true : false; this.gridControl_producto.DataSource = InfoMoviInven.listmovi_inve_detalle_Info; } catch (Exception ex) { string NameMetodo = System.Reflection.MethodBase.GetCurrentMethod().Name; MessageBox.Show(NameMetodo + " - " + ex.ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); Log_Error_bus.Log_Error(NameMetodo + " - " + ex.ToString()); } }
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); 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.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); } }
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); } }
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) }; } }
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) }; } }