Este módulo permite descargar varios archivos adjuntos como un archivo zip.
También proporciona una clase auxiliar IrAttachmentActionDownloadMixin para que la use el desarrollador al añadir un método de acción en los modelos.
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 19.0Permite a los usuarios seleccionar varios archivos adjuntos en Odoo y descargarlos juntos como un único archivo ZIP. También ofrece a los desarrolladores un helper reutilizable para que cualquier registro pueda ofrecer una acción de «descargar todos los archivos adjuntos».
Este módulo añade una forma de obtener muchos documentos a la vez en lugar de descargarlos uno por uno.
En la pantalla de Adjuntos (la lista ir.attachment), aparece una nueva acción de servidor llamada "Download" en el menú Acciones. Cuando seleccionas uno o más adjuntos y la ejecutas, Odoo comprueba que la selección contenga solo archivos binarios; si no es así, muestra un error indicando que solo se permiten adjuntos binarios. En caso contrario, abre una descarga de un archivo ZIP llamado "attachments.zip" que contiene todos los archivos seleccionados. Cada archivo conserva su propio nombre dentro del ZIP, y Odoo verifica que tengas acceso de lectura a cada adjunto antes de empaquetarlo.
Para los desarrolladores, el módulo proporciona un helper reutilizable (un mixin) que se puede añadir a cualquier modelo. Cuando se usa, ofrece una acción que examina los adjuntos vinculados a los registros seleccionados: si no se encuentra ninguno, aparece una notificación de advertencia; si se encuentra exactamente uno, ese único archivo se descarga directamente; si se encuentran varios, se empaquetan en un ZIP. La lista de adjuntos que se deben incluir puede personalizarse mediante otros módulos.
No se añaden menús ni ajustes nuevos; se accede a la funcionalidad a través de la lista estándar de adjuntos y mediante botones o acciones añadidos por los módulos que usan el helper.
Depende de
Lo necesitan otros módulos
Modelos y campos (2)
- ir.attachment · amplía un modelo existente
- ir.attachment.action_download · modelo nuevo
Texto generado por IA (DeepSeek) al leer el código de la versión 19.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: 6 confirmadas, 3 sin información de 9 versiones.
Fuentes · Odoo 19.0
Confirmado el 2026-11-03 en la rama 19.0 de OCA/knowledge.
terminal Instalación y uso
Documentación de OCA · Odoo 19.0- Vaya a Ajustes \> Técnico \> Estructura de la base de datos \> Archivos adjuntos y seleccione algunos archivos.
- Vaya a Acciones \> Descargar y se descargará un archivo zip que contiene los archivos seleccionados.
Para desarrolladores
Puede reutilizar el IrAttachmentActionDownloadMixin en sus modelos favoritos:
from odoo import models
class StockPicking(models.Model): _name = "stock.picking" _inherit = ["stock.picking", "ir.attachment.action_download"]
Después puede añadir un botón de acción en la línea de la vista de lista o en el botón de acción (cuando se seleccionan varias líneas) para descargar todos los archivos:
stock.picking.tree download attachments stock.picking
Download attachments
list code
action = records.action_download_attachments()
> [!NOTE] > Incluso podrá generar un archivo zip con varios documentos > con el mismo nombre, se recomienda sobrescribir _compute_zip_file_name para > mejorar el nombre. Cuando hay una barra (/) presente en la ruta, > creará un directorio. Este ejemplo creará un directorio por > stock.picking usando su nombre: > > class IrAttachment(models.Model): > _inherit = "ir.attachment" > > def _compute_zip_file_name(self): > self.ensure_one() > if self.res_model and self.res_model == "stock.picking": > return ( > self.env[self.res_model] > .browse(self.res_id) > .display_name.replace("/", "-") > + "/" > + self.name > ) > return super()._compute_zip_file_name()
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, Configuració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.