Localización Española

¡Bienvenido a los foros Aeodoo!

Somos la comunidad de Odoo internacional hispanohablante.
Estos foros son para compartir y debatir dudas técnicas, funcionales y mejores prácticas para Odoo. Recuerda que no están permitidos los insultos, descalificaciones o spam, cualquier conducta reprobable supondrá el baneo del usuario.

 
Ocultar IntroRegistro

0

Amortización de activos no se ejecuta por gran cantidad

Buenas,

Tenemos un cliente con más de 1500 activos y cuando realizamos en Odoo SH en la versión 16 Enterprise calcular amortizaciones desde el asistente del módulo de OCA, no se llega a ejecutar por la gran cantidad de líneas de amortización que tiene que calcular y ejecutar la creación de los asientos

Por la prisa del cliente en tener una solución hemos realizado una acción de servidor que os comparto por si alguien lo necesita, hemos harckodeado la fecha hasta la que hay que amortizar,  (se puede mejorar)



# Configuración del tamaño del lote

batch_size = 50  # Número de activos por bloque (habría que ajustarlo pero de momento así hace 100 por minuto)


# Variables de progreso

processed_count = 0

error_assets = []


# Fecha límite de amortización

target_date = datetime.date(2025, 1, 1)


# Procesar los activos seleccionados

for batch_start in range(0, len(records), batch_size):

    batch = records[batch_start:batch_start + batch_size]

    for asset in batch:

        try:

            # Filtrar las líneas de amortización asociadas al activo

            depreciation_lines = asset.depreciation_line_ids.filtered(

                lambda l: l.line_date and l.line_date < target_date and not l.move_id

            )


            # Ejecutar `create_move` para cada línea de amortización

            for line in depreciation_lines:

                line.create_move()


            processed_count += 1

        except Exception as e:

            # Capturar errores y guardar el ID del activo con error

            error_assets.append((asset.id}: {e}", level="error")


# Crear mensaje final

result_message = f"Amortización completada: {processed_count} activos procesados."

if error_assets:

    result_message += f"\n{len(error_assets)} activos con errores: {error_assets}"


# Mostrar notificación al usuario

action = {

    'type': 'ir.actions.client',

    'tag': 'display_notification',

    'params': {

        'title': 'Amortización por lotes completada',

        'message': result_message,

        'type': 'success' if not error_assets else 'warning',

    }

}

2 Comentarios
Avatar
Descartar

¿Este módulo ayudaría, o no tiene nada que ver?
account_asset_batch_compute

https://github.com/OCA/account-financial-tools/tree/16.0/account_asset_batch_compute

Pues posiblemente 

Muchas Gracias Fernando , no lo vi y fíjate que estuve buscando , evidentemente no muy bien 

Saludos


Juan Ignacio Úbeda Goenaga

CEO | Consultoría y desarrollo Odoo
Soluciones Tecnológicas Freedoo, S.L.U.

946 66 96 07
juani@freedoo.es


Aviso legal: Este mensaje electrónico está dirigido únicamente a la(s) dirección(es)  indicadas anteriormente; el carácter confidencial, personal e intransferible del mismo  está protegido legalmente. Cualquier revelación, uso o reenvío no autorizado, completo o en parte, está prohibido. Si ha recibido este mensaje por equivocación, notifíquelo inmediatamente a la persona que lo ha enviado y borre el  mensaje original junto  con sus ficheros anexos sin leerlo ni grabarlo, total o parcialmente



El El mié, 22 ene 2025 a las 7:25, Fernando García Hansen <notifications@aeodoo.org> escribió:
¿Este módulo ayudaría, o no tiene nada que ver? account_asset_batch_compute https://github.com/OCA/account-financial-tools/tree/16.0/account_asset_batch_compute ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​

¿Este módulo ayudaría, o no tiene nada que ver?
account_asset_batch_compute

https://github.com/OCA/account-financial-tools/tree/16.0/account_asset_batch_compute


Asociación Española de Odoo

910 053 110 | hola@aeodoo.org | https://www.aeodoo.org

Powered by Odoo