diff options
Diffstat (limited to 'addons/stock_account/models/stock_valuation_layer.py')
| -rw-r--r-- | addons/stock_account/models/stock_valuation_layer.py | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/addons/stock_account/models/stock_valuation_layer.py b/addons/stock_account/models/stock_valuation_layer.py new file mode 100644 index 00000000..ffb96e4b --- /dev/null +++ b/addons/stock_account/models/stock_valuation_layer.py @@ -0,0 +1,38 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from odoo import fields, models, tools + + +class StockValuationLayer(models.Model): + """Stock Valuation Layer""" + + _name = 'stock.valuation.layer' + _description = 'Stock Valuation Layer' + _order = 'create_date, id' + + _rec_name = 'product_id' + + company_id = fields.Many2one('res.company', 'Company', readonly=True, required=True) + product_id = fields.Many2one('product.product', 'Product', readonly=True, required=True, check_company=True) + categ_id = fields.Many2one('product.category', related='product_id.categ_id') + product_tmpl_id = fields.Many2one('product.template', related='product_id.product_tmpl_id') + quantity = fields.Float('Quantity', digits=0, help='Quantity', readonly=True) + uom_id = fields.Many2one(related='product_id.uom_id', readonly=True, required=True) + currency_id = fields.Many2one('res.currency', 'Currency', related='company_id.currency_id', readonly=True, required=True) + unit_cost = fields.Monetary('Unit Value', readonly=True) + value = fields.Monetary('Total Value', readonly=True) + remaining_qty = fields.Float(digits=0, readonly=True) + remaining_value = fields.Monetary('Remaining Value', readonly=True) + description = fields.Char('Description', readonly=True) + stock_valuation_layer_id = fields.Many2one('stock.valuation.layer', 'Linked To', readonly=True, check_company=True) + stock_valuation_layer_ids = fields.One2many('stock.valuation.layer', 'stock_valuation_layer_id') + stock_move_id = fields.Many2one('stock.move', 'Stock Move', readonly=True, check_company=True, index=True) + account_move_id = fields.Many2one('account.move', 'Journal Entry', readonly=True, check_company=True) + + def init(self): + tools.create_index( + self._cr, 'stock_valuation_layer_index', + self._table, ['product_id', 'remaining_qty', 'stock_move_id', 'company_id', 'create_date'] + ) + |
