Files
app-odoo/app_stock_barcode/models/stock_pack_current.py
2018-06-17 21:29:12 +08:00

48 lines
1.9 KiB
Python

# -*- coding: utf-8 -*-
from odoo import fields, models, api, _
import odoo.addons.decimal_precision as dp
import logging
logger = logging.getLogger(__name__)
class StockPackCurrent(models.Model):
_name = "stock.pack.current"
_description = "Current Packing Operation"
_order = "id desc"
picking_id = fields.Many2one(
'stock.picking', 'Stock Picking',
# required=True,
ondelete="cascade",
help='The stock operation where the packing has been made')
operation_id = fields.Many2one(
'stock.pack.operation', 'Pack Operation Id',
# required=True,
ondelete="cascade")
product_id = fields.Many2one('product.product', 'Product', ondelete="cascade")
product_uom_id = fields.Many2one('product.uom', 'Unit of Measure')
product_qty = fields.Float('To Do', default=0.0, digits=dp.get_precision('Product Unit of Measure'), required=True)
qty_done = fields.Float('Done', default=0.0, digits=dp.get_precision('Product Unit of Measure'))
package_id = fields.Many2one('stock.quant.package', 'Source Package')
result_package_id = fields.Many2one(
'stock.quant.package', 'Destination Package',
ondelete='cascade', required=False,
help="If set, the operations are packed into this package")
weight = fields.Float(
'Weight', digits=dp.get_precision('Stock Weight'), related='product_id.weight', readonly=True, store=True,
help="The weight of the contents in Kg, not including any packaging, etc.")
weight_done_subtotal = fields.Float(
'Weight Done Subtotal', digits=dp.get_precision('Stock Weight'), compute='_compute_weight_done_subtotal', readonly=True, store=True,
help="The weight of the contents in Kg, not including any packaging, etc.")
@api.depends('weight', 'qty_done')
def _compute_weight_done_subtotal(self):
for rec in self:
rec.weight_done_subtotal = rec.weight * rec.qty_done