Skip to content

Commit fdfdde5

Browse files
committed
[ADD] purchase_stock, sale_stock: scripts from ul 728
Los hacemos aca porque el ul tarda muchísimo
1 parent 7b367e1 commit fdfdde5

File tree

2 files changed

+43
-0
lines changed

2 files changed

+43
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
from openupgradelib import openupgrade
2+
import logging
3+
_logger = logging.getLogger(__name__)
4+
5+
6+
@openupgrade.migrate()
7+
def migrate(env, version):
8+
""" Para que odoo no genere movimientos raros al cancelar remanente tenemos que ajustar el price unit y el deadline
9+
deadline viene en cero, price unit parece que viene en otra moneda
10+
Description picking no es necesario por lo que vimos pero es verdad que si se hace nuevo sale con line.name y viene migrado medio feo. asi qeu tmb aprovechamos a escribirlo
11+
"""
12+
_logger.debug('Running fix for cancel remaining')
13+
stock_moves = env['stock.move'].search([('purchase_line_id.delivery_status', '=', 'to receive'), ('state', 'not in', ['cancel', 'done'])])
14+
# stock_moves = env['stock.move'].search([('purchase_line_id.order_id.id', '=', 290), ('purchase_line_id.delivery_status', '=', 'to receive'), ('state', 'not in', ['cancel', 'done'])])
15+
for move in stock_moves:
16+
line = move.purchase_line_id
17+
# ahora no lo necesitamos porque justamente si estan confirmadas no estamos recomputando ni name, ni price, ni nada
18+
# line._compute_price_unit_and_date_planned_and_name()
19+
move.write({
20+
'date_deadline': line.date_planned or line.order_id.date_planned,
21+
'description_picking': line.name,
22+
'price_unit': line._get_stock_move_price_unit(),
23+
})
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
from openupgradelib import openupgrade
2+
import logging
3+
_logger = logging.getLogger(__name__)
4+
5+
6+
@openupgrade.migrate()
7+
def migrate(env, version):
8+
""" Para que odoo no genere movimientos raros al cancelar remanente tenemos que ajustar el deadline y description picking
9+
Por lo que vimos en realidad pisar el description_picking no seria necesario
10+
"""
11+
_logger.debug('Running fix for cancel remaining')
12+
stock_moves = env['stock.move'].search([('sale_line_id.delivery_status', '=', 'to deliver'), ('state', 'not in', ['cancel', 'done'])])
13+
for move in stock_moves:
14+
line = move.sale_line_id
15+
move.write({
16+
# 'date_deadline': line.order_id.commitment_date or line.order_id.date_order + datetime.timedelta(days=line.customer_lead or 0.0)),
17+
'date_deadline': line.order_id.commitment_date or line.order_id.date_order,
18+
'description_picking': line.name,
19+
# 'price_unit': new_run_private_method('sale.order.line', '_get_stock_move_price_unit', line.ids),
20+
})

0 commit comments

Comments
 (0)