MRP BoM Line formula for quantity
Calcular la cantidad de una línea de producción utilizando una fórmula definida en la línea de la BoM.
Traducción automática al español (DeepSeek) de la descripción original de OCA, que está en inglés.
auto_awesome Qué hace este módulo
Generado por IA a partir del código · Odoo 18.0Añade un campo de fórmula a las líneas de la lista de materiales para que la cantidad de componente en una orden de fabricación se calcule automáticamente en lugar de ser fija.
Este módulo añade un nuevo campo de texto "quantity formula" a cada línea de componente de una lista de materiales (BoM). En lugar de usar siempre la cantidad fija escrita en la línea de la BoM, puedes escribir un pequeño cálculo que Odoo ejecuta cuando se crea una orden de fabricación, y el resultado se convierte en la cantidad del componente a consumir.
La fórmula puede usar la propia línea de la BoM, la operación donde se consume el componente, el producto del componente, su unidad de medida, la cantidad de la línea de la orden de producción y la orden de producción que se está creando. El resultado debe almacenarse en una variable llamada quantity. Están disponibles ayudas básicas de redondeo (ceil y floor).
Dónde aparece: - En el formulario de la línea de la BoM, justo después del campo de cantidad. - En la lista de componentes dentro del formulario de la BoM.
Reglas de negocio y comportamiento automático: - Cuando guardas una fórmula, Odoo comprueba que sea Python válido y que se ejecute sin errores; de lo contrario, muestra un mensaje de validación y se niega a guardar. - Cuando se genera una orden de fabricación, la cantidad del componente se sustituye por el resultado de la fórmula si se ha establecido una fórmula; si el campo está vacío, se usa la cantidad normal de la BoM.
Afecta a los modelos de la línea de la BoM, la BoM y la orden de fabricación.
Depende de
Modelos y campos (2)
- mrp.bom.line · amplía un modelo existentequantity_formula
- mrp.production · amplía un modelo existente
Texto generado por IA (DeepSeek) al leer el código de la versión 18.0 en GitHub; puede contener errores, así que verifícalo en el código antes de decidir. Ver el código en GitHub
Disponibilidad por versión
Revisado: 2026-11-03Estado de confirmación: 2 confirmadas, 7 sin información de 9 versiones.
Fuentes · Odoo 18.0
Confirmado el 2026-11-03 en la rama 18.0 de OCA/manufacture.
terminal Instalación y uso
Documentación de OCA · Odoo 18.0Configuración
Fuente · Odoo 18.0En cualquier línea de la BoM, rellene el campo Quantity Formula.
Los siguientes valores están disponibles:
bom_line: la línea de BoM actual,production: la orden de producción que se está creando,product: el Product de la línea de BoM actual,product_uom_qty: la cantidad de la línea de la orden de producción,product_uom: la UdM del Product de la línea de BoM actual,operation: la operación donde se consumen los componentes para la línea de BoM actual,
La cantidad calculada debe asignarse a la variable quantity.
Este módulo se puede utilizar para personalizar la cantidad de un componente en función de un valor de atributo personalizado seleccionado en el producto. La siguiente configuración funciona cuando el módulo website_sale está instalado.
Para ello, configure de la siguiente manera:
- Cree un atributo "Component quantity" con un valor personalizado
- Cree y publique un Producto que tenga el valor personalizado configurado y la ruta MTO (archivada por defecto)
- Añada una BoM al producto, donde un Componente tenga la siguiente fórmula para la cantidad:
sale_lines = production.move_dest_ids.sale_line_id
produced_template = production.product_tmpl_id
produced_template_sale_line = sale_lines.filtered(lambda l: l.product_template_id == produced_template)
custom_attributes_values = produced_template_sale_line.product_custom_attribute_value_ids.with_context(lang=None)
component_quantity_attribute_value = custom_attributes_values.filtered(
lambda av: av.custom_product_template_attribute_value_id.attribute_id.name == "Component quantity"
)
component_quantity = component_quantity_attribute_value.custom_value
quantity = int(component_quantity)- En el comercio electrónico, seleccione una cantidad para el valor personalizado y compre el producto
- Confirme la orden de venta
se creará una orden de Producción con el valor seleccionado de Componente
Traducción automática al español (DeepSeek) de la documentación original de OCA; los comandos y el código no se traducen. Sin información verificada en OCA: Instalación.
Las instrucciones de instalación, el paquete de distribución, las dependencias y los pasos de configuración no se muestran porque todavía no se han verificado en la documentación del módulo para ninguna versión.
Datos importados de GitHub: esta ficha refleja la última revisión del catálogo, no una consulta en directo. Verifica siempre en la documentación del módulo y en staging antes de instalar en producción.