public static void RegistrarKardex(ParteKardex oParteKardex) { oParteKardex.Folio = (oParteKardex.Folio == null ? "" : oParteKardex.Folio); // Se verifica si la parte es servicio, para no afectar la existencia nueva if (Datos.Exists <Parte>(c => c.ParteID == oParteKardex.ParteID && c.EsServicio.Value && c.Estatus)) { oParteKardex.Cantidad = 0; } // Se calcula la existencia nueva var oParteKardexAnt = Datos.GetListOf <ParteKardex>(c => c.ParteID == oParteKardex.ParteID && c.SucursalID == oParteKardex.SucursalID) .OrderByDescending(c => c.ParteKardexID).FirstOrDefault(); decimal mExistencia = (oParteKardexAnt == null ? 0 : oParteKardexAnt.ExistenciaNueva); decimal mCantidad = oParteKardex.Cantidad; /* if (oParteKardex.OperacionID == Cat.OperacionesKardex.Venta || oParteKardex.OperacionID == Cat.OperacionesKardex.DevolucionAProveedor || oParteKardex.OperacionID == Cat.OperacionesKardex.SalidaInventario || oParteKardex.OperacionID == Cat.OperacionesKardex.SalidaTraspaso) || mCantidad *= -1; */ oParteKardex.ExistenciaNueva = (mExistencia + mCantidad); Datos.Guardar <ParteKardex>(oParteKardex); // Se valida la última entrada del kárdex con la existencia /* * var oParteEx = General.GetEntity<ParteExistencia>(c => c.ParteID == oParteKardex.ParteID && c.SucursalID == oParteKardex.SucursalID && c.Estatus); * if (oParteKardex.ExistenciaNueva != oParteEx.Existencia) * UtilLocal.MensajeError(string.Format("Hay una diferencia entre la existencia del Kárdex y la existencia del sistema. ¡Verificar!" + "\n\nExistencia Kárdex: {0}\nExistencia Sistema: {1}", oParteKardex.ExistenciaNueva, oParteEx.Existencia)); */ }
public static void RegistrarKardex(ParteKardex oParteKardex) { oParteKardex.Folio = (oParteKardex.Folio == null ? "" : oParteKardex.Folio); // Se verifica si la parte es servicio, para no afectar la existencia nueva if (Datos.Exists <Parte>(c => c.ParteID == oParteKardex.ParteID && c.EsServicio.Value && c.Estatus)) { oParteKardex.Cantidad = 0; } // Se calcula la existencia nueva var oParteKardexAnt = Datos.GetListOf <ParteKardex>(c => c.ParteID == oParteKardex.ParteID && c.SucursalID == oParteKardex.SucursalID) .OrderByDescending(c => c.ParteKardexID).FirstOrDefault(); decimal mExistencia = (oParteKardexAnt == null ? 0 : oParteKardexAnt.ExistenciaNueva); decimal mCantidad = oParteKardex.Cantidad; if (oParteKardex.OperacionID == Cat.OperacionesKardex.Venta || oParteKardex.OperacionID == Cat.OperacionesKardex.DevolucionAProveedor || oParteKardex.OperacionID == Cat.OperacionesKardex.SalidaInventario || oParteKardex.OperacionID == Cat.OperacionesKardex.SalidaTraspaso) { mCantidad *= -1; } oParteKardex.ExistenciaNueva = (mExistencia + mCantidad); Datos.Guardar <ParteKardex>(oParteKardex); }
public static void AfectarExistenciaYKardex(int iParteID, int iSucursalID, int iOperacionID, string sFolio, int iUsuarioID, string sEntidad , string sOrigen, string sDestino, decimal mCantidad, decimal mImporte, string sTabla, int iId) { // Se manda a afectar la existencia AdmonProc.AgregarExistencia(iParteID, iSucursalID, mCantidad, sTabla, iId); // Se manda a afectar en el kardex var oSucursal = Datos.GetEntity <Sucursal>(c => c.SucursalID == iSucursalID && c.Estatus); var oKardex = new ParteKardex() { ParteID = iParteID, OperacionID = iOperacionID, SucursalID = iSucursalID, Folio = sFolio, Fecha = DateTime.Now, RealizoUsuarioID = iUsuarioID, Entidad = sEntidad, Origen = sOrigen, Destino = sDestino, Cantidad = mCantidad, Importe = mImporte, RelacionTabla = sTabla, RelacionID = iId }; AdmonProc.RegistrarKardex(oKardex); }
public static void AfectarExistenciaYKardex(int iParteID, int iSucursalID, int iOperacionID, string sFolio, int iUsuarioID, string sEntidad , string sOrigen, string sDestino, decimal mCantidad, decimal mImporte, string sTabla, int iId) { // Se manda a afectar la existencia AdmonProc.AgregarExistencia(iParteID, iSucursalID, mCantidad, sTabla, iId); // Se manda a afectar en el kardex var oSucursal = Datos.GetEntity<Sucursal>(c => c.SucursalID == iSucursalID && c.Estatus); var oKardex = new ParteKardex() { ParteID = iParteID, OperacionID = iOperacionID, SucursalID = iSucursalID, Folio = sFolio, Fecha = DateTime.Now, RealizoUsuarioID = iUsuarioID, Entidad = sEntidad, Origen = sOrigen, Destino = sDestino, Cantidad = mCantidad, Importe = mImporte, RelacionTabla = sTabla, RelacionID = iId }; AdmonProc.RegistrarKardex(oKardex); }
private bool AgregarGarantia() { // Se valida la parte de detalle if (!this.ctlDetalle.Validar()) return false; // Se valida la parte de búsqueda if (!this.ctlBusqueda.Validar()) return false; // Se valida que sólo esté seleccionada una parte if (this.ctlDetalle.ProductosSel().Count > 1) { UtilLocal.MensajeAdvertencia("Debes seleccionar sólo un producto al hacer una garantía."); return false; } // Se verifica si se creará vale, para pedir el cliente en caso de que no haya var oGarantia = this.ctlBusqueda.GenerarGarantia(); int iVentaID = this.ctlBusqueda.VentaID; var oVentaV = Datos.GetEntity<VentasView>(q => q.VentaID == iVentaID); int iValeClienteID = oVentaV.ClienteID; if ((oGarantia.AccionID == Cat.VentasGarantiasAcciones.ArticuloNuevo || oGarantia.AccionID == Cat.VentasGarantiasAcciones.NotaDeCredito) && iValeClienteID == Cat.Clientes.Mostrador) { iValeClienteID = VentasLoc.ObtenerClienteID("Selecciona el cliente para crear el Vale:", false); if (iValeClienteID == 0) return false; } // Se pregunta el usuario que realiza la devolución int iUsuarioID = 0; var ResU = UtilLocal.ValidarObtenerUsuario("Ventas.Garantia.Agregar"); if (ResU.Error) return false; iUsuarioID = ResU.Respuesta.UsuarioID; // Se solicita la autorización int iAutorizoID = 0; ResU = UtilLocal.ValidarObtenerUsuario("Autorizaciones.Ventas.Garantia.Agregar", "Autorización"); if (ResU.Exito) iAutorizoID = ResU.Respuesta.UsuarioID; // Se procede a guardar los cambios DateTime dAhora = DateTime.Now; // Se genera la garantía oGarantia.Fecha = dAhora; oGarantia.RealizoUsuarioID = iUsuarioID; oGarantia.EstatusGenericoID = Cat.EstatusGenericos.Recibido; // Se llenan los datos de la parte var oProducto = this.ctlDetalle.ProductosSel()[0]; oGarantia.ParteID = oProducto.ParteID; oGarantia.Costo = oProducto.Costo; oGarantia.CostoConDescuento = oProducto.CostoConDescuento; oGarantia.PrecioUnitario = oProducto.PrecioUnitario; oGarantia.Iva = oProducto.Iva; // Se guarda la garantía Guardar.VentaGarantia(oGarantia); // Si queda a revisión del proveedor, ya no se hace nada más que mandar el ticket if (oGarantia.AccionID != Cat.VentasGarantiasAcciones.RevisionDeProveedor) { this.CompletarAccionGarantia(oGarantia.VentaGarantiaID, iValeClienteID); } // Se mete un registro en kárdex, en cero, sólo para mantener historial de la operación var oKardex = new ParteKardex() { ParteID = oGarantia.ParteID, OperacionID = Cat.OperacionesKardex.VentaCancelada, SucursalID = oGarantia.SucursalID, Folio = oVentaV.Folio, Fecha = dAhora, RealizoUsuarioID = iUsuarioID, Entidad = oVentaV.Cliente, Origen = oVentaV.Sucursal, Destino = "GARANTÍA RECIBIDA", Cantidad = 0, Importe = (oGarantia.PrecioUnitario + oGarantia.Iva), RelacionTabla = Cat.Tablas.VentaGarantia, RelacionID = oGarantia.VentaGarantiaID }; AdmonProc.RegistrarKardex(oKardex); // Se guarda la autorización, si aplica VentasProc.GenerarAutorizacion(Cat.AutorizacionesProcesos.Garantia, Cat.Tablas.VentaGarantia, oGarantia.VentaGarantiaID, iAutorizoID); // Se genera el ticket correspondiente VentasLoc.GenerarTicketGarantia(oGarantia.VentaGarantiaID); return true; }
private bool AgregarGarantia() { // Se valida la parte de detalle if (!this.ctlDetalle.Validar()) { return(false); } // Se valida la parte de búsqueda if (!this.ctlBusqueda.Validar()) { return(false); } // Se valida que sólo esté seleccionada una parte if (this.ctlDetalle.ProductosSel().Count > 1) { UtilLocal.MensajeAdvertencia("Debes seleccionar sólo un producto al hacer una garantía."); return(false); } // Se verifica si se creará vale, para pedir el cliente en caso de que no haya var oGarantia = this.ctlBusqueda.GenerarGarantia(); int iVentaID = this.ctlBusqueda.VentaID; var oVentaV = Datos.GetEntity <VentasView>(q => q.VentaID == iVentaID); int iValeClienteID = oVentaV.ClienteID; if ((oGarantia.AccionID == Cat.VentasGarantiasAcciones.ArticuloNuevo || oGarantia.AccionID == Cat.VentasGarantiasAcciones.NotaDeCredito) && iValeClienteID == Cat.Clientes.Mostrador) { iValeClienteID = VentasLoc.ObtenerClienteID("Selecciona el cliente para crear el Vale:", false); if (iValeClienteID == 0) { return(false); } } // Se pregunta el usuario que realiza la devolución int iUsuarioID = 0; var ResU = UtilLocal.ValidarObtenerUsuario("Ventas.Garantia.Agregar"); if (ResU.Error) { return(false); } iUsuarioID = ResU.Respuesta.UsuarioID; // Se solicita la autorización int iAutorizoID = 0; ResU = UtilLocal.ValidarObtenerUsuario("Autorizaciones.Ventas.Garantia.Agregar", "Autorización"); if (ResU.Exito) { iAutorizoID = ResU.Respuesta.UsuarioID; } // Se procede a guardar los cambios DateTime dAhora = DateTime.Now; // Se genera la garantía oGarantia.Fecha = dAhora; oGarantia.RealizoUsuarioID = iUsuarioID; oGarantia.EstatusGenericoID = Cat.EstatusGenericos.Recibido; // Se llenan los datos de la parte var oProducto = this.ctlDetalle.ProductosSel()[0]; oGarantia.ParteID = oProducto.ParteID; oGarantia.Costo = oProducto.Costo; oGarantia.CostoConDescuento = oProducto.CostoConDescuento; oGarantia.PrecioUnitario = oProducto.PrecioUnitario; oGarantia.Iva = oProducto.Iva; // Se guarda la garantía Guardar.VentaGarantia(oGarantia); // Si queda a revisión del proveedor, ya no se hace nada más que mandar el ticket if (oGarantia.AccionID != Cat.VentasGarantiasAcciones.RevisionDeProveedor) { this.CompletarAccionGarantia(oGarantia.VentaGarantiaID, iValeClienteID); } // Se mete un registro en kárdex, en cero, sólo para mantener historial de la operación var oKardex = new ParteKardex() { ParteID = oGarantia.ParteID, OperacionID = Cat.OperacionesKardex.VentaCancelada, SucursalID = oGarantia.SucursalID, Folio = oVentaV.Folio, Fecha = dAhora, RealizoUsuarioID = iUsuarioID, Entidad = oVentaV.Cliente, Origen = oVentaV.Sucursal, Destino = "GARANTÍA RECIBIDA", Cantidad = 0, Importe = (oGarantia.PrecioUnitario + oGarantia.Iva), RelacionTabla = Cat.Tablas.VentaGarantia, RelacionID = oGarantia.VentaGarantiaID }; AdmonProc.RegistrarKardex(oKardex); // Se guarda la autorización, si aplica VentasProc.GenerarAutorizacion(Cat.AutorizacionesProcesos.Garantia, Cat.Tablas.VentaGarantia, oGarantia.VentaGarantiaID, iAutorizoID); // Se genera el ticket correspondiente VentasLoc.GenerarTicketGarantia(oGarantia.VentaGarantiaID); return(true); }
public static void RegistrarKardex(ParteKardex oParteKardex) { oParteKardex.Folio = (oParteKardex.Folio == null ? "" : oParteKardex.Folio); // Se verifica si la parte es servicio, para no afectar la existencia nueva if (Datos.Exists<Parte>(c => c.ParteID == oParteKardex.ParteID && c.EsServicio.Value && c.Estatus)) oParteKardex.Cantidad = 0; // Se calcula la existencia nueva var oParteKardexAnt = Datos.GetListOf<ParteKardex>(c => c.ParteID == oParteKardex.ParteID && c.SucursalID == oParteKardex.SucursalID) .OrderByDescending(c => c.ParteKardexID).FirstOrDefault(); decimal mExistencia = (oParteKardexAnt == null ? 0 : oParteKardexAnt.ExistenciaNueva); decimal mCantidad = oParteKardex.Cantidad; if (oParteKardex.OperacionID == Cat.OperacionesKardex.Venta || oParteKardex.OperacionID == Cat.OperacionesKardex.DevolucionAProveedor || oParteKardex.OperacionID == Cat.OperacionesKardex.SalidaInventario || oParteKardex.OperacionID == Cat.OperacionesKardex.SalidaTraspaso) mCantidad *= -1; oParteKardex.ExistenciaNueva = (mExistencia + mCantidad); Datos.Guardar<ParteKardex>(oParteKardex); }
public static void RegistrarKardex(ParteKardex oParteKardex) { oParteKardex.Folio = (oParteKardex.Folio == null ? "" : oParteKardex.Folio); // Se verifica si la parte es servicio, para no afectar la existencia nueva if (Datos.Exists<Parte>(c => c.ParteID == oParteKardex.ParteID && c.EsServicio.Value && c.Estatus)) oParteKardex.Cantidad = 0; // Se calcula la existencia nueva var oParteKardexAnt = Datos.GetListOf<ParteKardex>(c => c.ParteID == oParteKardex.ParteID && c.SucursalID == oParteKardex.SucursalID) .OrderByDescending(c => c.ParteKardexID).FirstOrDefault(); decimal mExistencia = (oParteKardexAnt == null ? 0 : oParteKardexAnt.ExistenciaNueva); decimal mCantidad = oParteKardex.Cantidad; /* if (oParteKardex.OperacionID == Cat.OperacionesKardex.Venta || oParteKardex.OperacionID == Cat.OperacionesKardex.DevolucionAProveedor || oParteKardex.OperacionID == Cat.OperacionesKardex.SalidaInventario || oParteKardex.OperacionID == Cat.OperacionesKardex.SalidaTraspaso) mCantidad *= -1; */ oParteKardex.ExistenciaNueva = (mExistencia + mCantidad); Datos.Guardar<ParteKardex>(oParteKardex); // Se valida la última entrada del kárdex con la existencia /* var oParteEx = General.GetEntity<ParteExistencia>(c => c.ParteID == oParteKardex.ParteID && c.SucursalID == oParteKardex.SucursalID && c.Estatus); if (oParteKardex.ExistenciaNueva != oParteEx.Existencia) UtilLocal.MensajeError(string.Format("Hay una diferencia entre la existencia del Kárdex y la existencia del sistema. ¡Verificar!" + "\n\nExistencia Kárdex: {0}\nExistencia Sistema: {1}", oParteKardex.ExistenciaNueva, oParteEx.Existencia)); */ }