# Lotes

### Configuración General

Habilitar Lotes: Menú de Usuario > Configuración > Activar Lotes: Sí

### Configuración de Productos

&#x20;El comportamiento de los Productos se determina principalmente por los siguientes campos en la Ficha del Producto > Stocks:

* **¿Control de Lotes?**: (Sí / No) Usar Control de Lotes y de Fecha de Caducidad para este Producto. Si un Producto tiene Control de Lotes activo, deberá indicar el Número de Lote en todas las transacciones que implican movimientos de stock desde o hacia un Almacén.\
  Tenga en cuenta que este campo sólo se puede cambiar si el Stock Físico del Producto es cero. Por tanto, si necesita cambiar este campo, primero tiene que regularizar el stock para que sea cero; una vez hecho el cambio, podrá volver a regularizar el stock para recuperar el Stock Físico real.
* **Plazo de Caducidad**: Es el número de Días antes de que el Producto caduque. Se sumará a la Fecha de Fabricación del Producto para calcular la Fecha de Caducidad de un Lote. Ejemplos: \
  &#x9;	\- 5 ó 5d -> 5 días\
  &#x9;	\- 8m -> 8 meses\
  &#x9;	\- 2a ó 2y -> 2 años
* &#x20;**Generador de Lotes**: Seleccione la función para calcular el Número de Lote de los Productos fabricados. Normalmente el Número de Lote se calcula a partir de la Fecha de Fabricación, añadiendo el Plazo de Caducidad. Tenga en cuenta que el número de Lote de los productos comprados viene determinado por el Vendedor (Fabricante).
* **Política de Lotes**: La asignación automática de Lotes a Documentos (Pedidos de Clientes, Albaranes de Clientes) se hará según este criterio.

Un **Generador de Lotes** es una función de aBillander que calcula el Número de Lote para un Lote de nueva creación, normalmente cuando se cierra una Orden de Fabricación. Los generadores de lotes se definen en el fichero:

/app/Traits/LotGeneratorTrait.php

Si desea definir su propio generador, primero ha de registrar el nombre del generador en la función getGeneratorList(). Luego ha de definir la función que calcula el Número de Lote, teniendo en cuenta que esta función debe comenzar por “generator” seguido por el nombre que utilizó para registrar dicha función.

