Pedido de compra (solicitud a proveedor)
Formulario para registrar pedidos de compra a proveedores. Aunque la mercadería aún no llega, cada línea marca el producto como “pedido” para que los reportes de stock mínimo no vuelvan a sugerir la misma compra. Maneja numeración correlativa por almacén, permite seleccionar proveedor por NIT o nombre, definir un estado predeterminado para los ítems, controlar la edición mediante candado y generar el reporte de pedido de compra.
📘 Propósito
El formulario Pedido de compra registra las cantidades de productos que la empresa solicita a sus proveedores. No ingresa todavía mercadería al almacén, pero marca los productos como “en pedido” para que los reportes de stock mínimo no vuelvan a sugerirlos mientras el pedido está vigente.
Más adelante, cuando la mercadería llegue, se generará la Nota de entrada y la compra utilizando como referencia este pedido de compra.
🔢 Numeración y alcance
- Cada pedido de compra es un comprobante interno de Tipo 1, con numeración por almacén.
-
Al pulsar Nuevo, el sistema:
- Lee el almacén elegido en ElegirAlmacen.
-
Obtiene de la tabla Almacén el rango de talonario:
PcIni–PcFin. - Busca el último número usado para pedidos de compra en ese almacén y asigna el siguiente número disponible dentro del rango.
-
Si el último número ya llegó a
PcFin, se avisa que “se ha terminado el talonario electrónico”. -
Doble clic en Número (
Nro) lo desbloquea temporalmente para asignar un número manual. Al salir del campo vuelve a quedar bloqueado.
🧭 Barra de acciones
-
Nuevo:
- Crea un nuevo pedido de compra, asignando número, fecha actual y almacén desde ElegirAlmacen.
-
Requiere que el módulo esté contratado (
funCom), que el usuario tenga permiso (usuAct("com")) y que no se haya alcanzado el límite de registros en la nube.
-
Modificar / Bloquear:
- Con el candado cerrado, pulsar Modificar habilita fecha, proveedor, glosa y detalle.
- Con el candado abierto, pulsar Bloquear vuelve el registro de solo lectura.
-
Si el pedido ya está vinculado a una compra
(
IdCompras) o a un traspaso (IdTr), la edición estará bloqueada y el sistema mostrará el número del documento que lo utiliza.
-
Anular / Habilitar:
- Anular marca el pedido como anulado (no se considera en pendientes) y muestra la etiqueta “ANULADO”.
- Habilitar revierte la anulación.
-
No se permite anular si el pedido pertenece a un
traspaso de almacenes (
IdTrdistinto de 0).
-
Eliminar:
-
Solo es posible si el pedido no está vinculado a una compra
(
IdCompras) ni a un traspaso (IdTr). - Muestra un mensaje de confirmación y, en caso afirmativo, elimina el comprobante y su detalle.
-
Solo es posible si el pedido no está vinculado a una compra
(
- Buscar: abre la búsqueda estándar de Access sobre el campo activo.
- Ver: abre en vista previa el reporte PedCom (pedido de compra) filtrado por el comprobante actual.
- Imprimir: guarda el registro y envía el reporte PedCom a la impresora.
- Primero / Anterior / Siguiente / Último: navegación entre pedidos registrados.
- Cerrar: cierra el formulario de Pedido de compra.
📋 Cabecera del pedido
-
Fecha:
- Fecha en la que se emite el pedido de compra. Es obligatoria para poder ingresar detalle.
-
Al cambiar la fecha se actualiza, para cada producto del detalle, la
fecha de pedido en la función
FechaInv, usada en reportes de reposición. - Doble clic en la fecha coloca la fecha del día y ejecuta la actualización.
-
Proveedor:
- Si la empresa está configurada como proveedora, la lista muestra registros de la tabla Prov.
- En otro caso, se usan los contactos de Clientes como proveedor (por ejemplo, compras a un cliente especial).
- IdProv: búsqueda por NIT / C.I..
- IdProv2: búsqueda por Nombre. Doble clic abre un buscador avanzado (buscarclientes21).
- Si el proveedor no existe, los eventos NotInList permiten crearlo directamente por NIT o nombre (AddContactoNit / AddContactoNombre).
- NIT / C.I.: se muestra junto al proveedor seleccionado para verificación rápida.
- Glosa: descripción general del pedido (ejemplo: “Pedido de compra abastecimiento”).
- Estado predeterminado: define el estado por defecto de los productos a comprar (por ejemplo, “OK”). Doble clic abre el formulario de Estado de producto para consultarlo, y si no existe el estado se puede agregar mediante AddEstadoProducto.
- Almacén: almacén para el cual se realiza el pedido. Se toma desde ElegirAlmacen y determina los rangos de numeración.
- Recibido por: persona responsable de revisar/recibir la mercadería cuando llegue (se usa en reportes).
🧾 Detalle (grid de productos)
El detalle enumera los productos que se solicita al proveedor. No genera entradas de inventario, pero marca las cantidades como pedidas.
| Campo | Uso |
|---|---|
| orden | Número de línea del pedido. Se actualiza con el número de registro actual cuando se edita el código o la descripción. |
| código |
Código interno del producto. Al salir del campo:
|
| descripción | Nombre del producto. Al seleccionar una descripción se guarda el orden de la línea y se asigna el estado indicado en Estado predeterminado. |
| Umedida | Unidad de medida (Piezas, Kg, Caja, etc.). |
| Cantidad | Cantidad que se solicita al proveedor. Estas cantidades se suman al campo “Pedido” de los reportes de stock mínimo, pero aún no afectan las existencias físicas. |
📦 Impacto en stock y planificación
- El pedido de compra no genera movimientos de entrada ni salida en el almacén, pero cada línea marca el producto como en pedido en las consultas de inventario.
- De esta forma, si un producto está por debajo del stock mínimo pero ya tiene un pedido de compra registrado, los reportes de reposición pueden considerar la cantidad pedida y evitar duplicar compras.
-
Al cambiar la Fecha del pedido, se actualiza la fecha de pedido por
producto (función
FechaInv) para mejorar el análisis de rotación y tiempos de abastecimiento.
🧱 Flujo sugerido
- Verifique que esté seleccionado el almacén correcto (desde ElegirAlmacen).
-
Pulse Nuevo para crear un pedido de compra; el sistema asignará el
número dentro del rango
PcIni–PcFin. - Complete la Fecha, el Proveedor (por NIT o nombre) y la Glosa. Ajuste el Estado predeterminado si es necesario.
- En el detalle, ingrese Código o busque la Descripción. Agregue la cantidad requerida para cada producto.
- Revise los datos; si está todo correcto, use Ver para vista previa y luego Imprimir para enviar el pedido al proveedor.
- Una vez que la mercadería llegue, genere la Nota de entrada y la correspondiente compra, vinculándolas a este pedido.
- Si el pedido queda sin efecto, utilice Anular (o Eliminar si aún no tiene vínculos) para evitar que siga influyendo en los reportes de stock mínimo.
⚠️ Reglas y permisos
- El acceso a Nuevo, Modificar, Eliminar, Ver, Imprimir, Anular está condicionado a los permisos del usuario y a la contratación del módulo de compras.
-
No se puede editar, anular ni eliminar un pedido de compra que ya
esté vinculado a:
- Una compra (
IdComprasdistinto de 0). - Un traspaso de almacenes (
IdTrdistinto de 0).
- Una compra (
- Para preservar la historia de abastecimiento, se recomienda usar Anular antes que Eliminar, salvo que el pedido se haya creado por error.