Administrar productos (catálogo general)
Formulario para gestionar el catálogo de productos que utilizan todos los módulos: almacén, ventas y compras. Permite trabajar con una estructura jerárquica de hasta 4 niveles (familia → grupo → categoría → producto), definir códigos alternos, lotes y múltiples precios. Incluye búsqueda en línea, alta/edición mediante el formulario detallado de producto y refresco rápido de la lista. Una vez exista movimiento de inventario, la configuración de niveles de producto ya no podrá cambiarse.
📘 Propósito
El formulario Administrar productos muestra en forma de lista todos los productos y categorías definidos para la empresa. Desde aquí se administran los ítems usados por:
- Almacén: notas de entrada, salida, traspasos, inventarios.
- Ventas: pedido de venta, nota de venta, facturación.
- Compras: pedidos de compra, notas de entrada, costos.
Es el catálogo maestro del sistema: cualquier cambio realizado aquí impactará en todos los módulos que utilicen el producto.
🏷️ Estructura por niveles (familia–grupo–categoría–producto)
Según la configuración de la empresa, el catálogo puede manejar hasta 4 niveles jerárquicos:
- Familia (nivel 1).
- Grupo (nivel 2).
- Categoría (nivel 3).
- Producto (nivel 4 – ítem final con stock y precios).
Ejemplos de configuraciones posibles:
- 4 niveles: Familia → Grupo → Categoría → Producto.
- 3 niveles: Grupo → Categoría → Producto.
- 2 niveles: Categoría → Producto.
- 1 nivel: solo producto (sin categorías).
Los registros que representan niveles superiores (familia, grupo, categoría) suelen tener solo código y descripción (por ejemplo “SECCIÓN FARMACIA”, “LABORATORIO X”), sin precios ni stock, mientras que los productos finales tienen precios y se utilizan en movimientos de almacén y ventas.
Importante: una vez que se hayan registrado movimientos en almacén (entradas, salidas, etc.), la configuración de niveles quedará congelada y ya no podrá cambiarse. Esto evita inconsistencias entre la estructura y los historiales de stock.
🧾 Lista de productos
La grilla central productosLista muestra los registros de la tabla
almitem de la empresa actual. Algunas columnas típicas:
| Columna | Descripción |
|---|---|
| Acciones | Incluye enlaces como Cambiar y Eliminar para editar o eliminar el registro seleccionado. |
| Código | Código principal del producto o categoría. Se usa en la mayoría de los formularios de movimientos. |
| Código b | Código alterno: puede ser código de proveedor, código corto o código de barras. La lista ordena por este código cuando está disponible. |
| Lote | Solo se utiliza cuando el ítem maneja lotes. En la lista se muestra el lote base (si aplica). |
| Descripción | Nombre descriptivo del producto, familia, grupo o categoría. |
| Precio 1, Precio 2, … | Precios configurables (minorista, mayorista, distribuidor, etc.). Los nombres o usos dependen de la parametrización de ventas. |
Nota: Si la empresa maneja más campos (impuestos, unidades, códigos externos, etc.), estos se gestionan en el formulario detallado de producto (ProductosAdd), no directamente en esta vista.
🧭 Barra de comandos
-
Agregar producto:
-
Abre el formulario ProductosAdd en modo alta
(
acFormAdd) para crear un nuevo producto, grupo o categoría. -
Si el servicio en la nube alcanzó su límite
(
testNubeLim = True), se bloquea la creación y se muestra el aviso correspondiente. - Al cerrar la ventana de edición, la lista se recarga automáticamente para mostrar el nuevo registro.
-
Abre el formulario ProductosAdd en modo alta
(
- Actualizar: recarga el origen de datos de la lista y aplica nuevamente filtros o cambios de tamaño (similar a un “Refrescar todo”).
- Cerrar: guarda automáticamente los cambios pendientes en el formulario (si los hay) y cierra la ventana de administración.
-
Ayuda:
abre la ayuda en línea en el navegador (
help_lista_productos.php) con una descripción detallada del uso del catálogo.
🔍 Búsqueda de productos
El cuadro Buscar: permite filtrar la lista en tiempo real mientras se
escribe. Internamente se ejecuta una consulta sobre la tabla
almitem:
-
Se buscan coincidencias en Código, Código b y
Descripción usando comodines (
LIKE '*texto*'). -
Solo se muestran los productos de la empresa actual (según
ParElegirEmp.Empresa). - Los resultados se ordenan por código alterno (o código principal si no hay alterno) y por lote.
Para volver a ver toda la lista, borre el texto del buscador o utilice el botón Actualizar.
✏️ Edición rápida desde la lista
- Cambiar (en la columna Acciones) abre el producto seleccionado en el formulario ProductosAdd en modo edición, permitiendo ajustar descripción, códigos, precios, impuestos, unidad, niveles, etc.
- Eliminar intentará borrar el producto. Si el ítem ya fue usado en movimientos de inventario o documentos de ventas/compras, el sistema puede bloquear la eliminación para preservar la integridad histórica.
- Para crear nuevas familias, grupos o categorías, use también Agregar producto y configure el nivel correspondiente en ProductosAdd.
🧱 Flujo sugerido
- Defina primero la configuración de niveles de la empresa (1–4 niveles: familia, grupo, categoría, producto).
- Desde Administrar productos, use Agregar producto para crear las familias principales (ej. “SECCIÓN FARMACIA”, “REPUESTOS”).
- Cree los grupos y categorías que correspondan a cada familia (marcas, líneas, sublíneas).
- Finalmente agregue los productos finales, definiendo códigos, descripciones, unidad de medida y precios.
- Utilice el buscador para localizar rápidamente productos por código, descripción o código alterno y haga clic en Cambiar para corregir datos cuando sea necesario.
- Una vez haya movimientos en almacén, evite cambios estructurales (pasar un producto a categoría, cambiar jerarquías, etc.) para mantener íntegros los reportes históricos.
⚠️ Reglas y consideraciones
- La estructura de niveles (1 a 4 niveles) debe definirse con cuidado antes de empezar a usar el módulo de inventario; después de que existan movimientos, el sistema ya no permitirá cambiarla.
- Los productos creados en este catálogo son compartidos por todos los módulos; por lo tanto, cualquier cambio afecta a ventas, compras e inventario.
- El sistema puede tener restricciones adicionales (límite de registros en nube, permisos de usuario, etc.) que bloqueen la creación o eliminación de productos según la configuración de la empresa.