Un saludo para todos, a continuación les comento que sucede.
Llevo un par de días tratando de obtener el precio que ya se le agrego a las salidas de producción esto lo hago mediante el siguiente código:
@classmethod
def done(cls, records):
super(Production, cls).done(records)
for rec in records:
cls.create_account_move(rec)
@classmethod
def create_account_move(cls, rec):
pool = Pool()
AccountMove = pool.get('account.move')
account_moves = []
for move in rec.inputs:
account_move = cls._get_account_stock_move(move)
if account_move:
account_moves.append(account_move)
for move in rec.outputs:
print(move.unit_price)
La idea es que una vez finalicen la producción yo pueda realizar un proceso adicional con estos movimientos pero al requerir el precio unitario siempre me aparece en 0, aunque le cambie el valor las veces que sean necesarias.
El precio unitario de los productos se establece con el coste de la producción.
El precio puede ser zero por dos motivos:
El coste de tu producción es zero
Los movimientos se corresponden con productos distintos al de la producción, ya que el costo se pone solo para el producto que se ha producido, no para los otros productos.
Revisando estos dos puntos deberias poder corregir estos problemas.
Revisando los dos puntos mencionados, efectivamente el coste de producción es cero aunque los movimientos correspondan a la producción como lo muestro a continuación:
El coste de la producción es la suma del coste de los productos de entrada.
Seguro que tu producto de entrada tiene un coste de 0 y por eso el coste de la producción es zero
Revisando el código pude notar que para el calculo del precio unitario se requiere que el producto tenga un precio de venta:
for output in outputs:
product = output.product
with Transaction().set_context(production._list_price_context):
list_price = product.list_price_used
product_price = (Decimal(str(output.quantity))
* Uom.compute_price(
product.default_uom, list_price, output.uom))
prices[output] = product_price
sum_ += product_price
Ya que con este precio de venta luego se calcula el ratio para el unit_price de cada salida de producción, actualizando el precio de venta pude obtener la producción sin problema.