Performance elaborazione ddt magazzino Odoo

DDT:  l10n_it_ddt

I moduli DDT della localizzazione italiana l10n_it_ddt dipendono dai due moduli:

stock.picking.package.preparation

stock.picking.package.preparation.line

Performance

Spesso si incappa in preformance molto basse nella transazioni di magazzino.

Può accadere durante la validazione di un ordine di consegna o in operazioni correlate.

Anche semplicemente accedendo alla funzione write del modello stock.move.

Nel log troveremo una serie di comandi unlink tipo:

odoo.models.unlink deleted stock.picking.package.preparation.line records with ID…

e cosi via.

Questo è causato dal modulo che prova a controllare tutte le relazioni sulle linee di movimento di stock.move.

Workaround

Possiamo aggirare il problema alterando il parametro skip_update_line durante la chiamata tramite il context, esempio:

move.with_context(skip_update_line_ids=True).write({'owner_id': owner_id.id })

Qui i riferimenti che ho trovato nel mio setup:

stock picking package preparation ddt

Se avete trovato utile questa informazione siete pregati di lasciare un commento o condividere l’articolo, grazie!