Я начал изучать Odoo, начиная с версии 14. У меня проблема: я не знаю, почему она не отображается. Потому что другие поля отображаются.
Я хотел, чтобы в календарном представлении «Производство» (Производство->Производственные заказы->Просмотр календаря) можно было показывать, сколько (количество) продуктов были проданы (строка заказа на продажу), были куплены (строка заказа на покупку) и, наконец, сколько запасов имеется в наличии (насколько я знаю, он использует stock.quant) с помощью специального модуля. Заказ на продажу и заказ на покупку могут отображать содержащуюся в них стоимость. Я использую для этого суперпользователя.
Например:
WH/MO/00005
Sunday, June 30, 2024
18:08 - 19:08 (an hour)
Responsible :
OdooBot
Product :
Ali-A
Quantity To Produce :
50.00
Sale Order Quantity :
60.00
Purchase Order Quantity :
80.00
Stock on Hand :
Мой вопрос: почему заказ на продажу и заказ на покупку отображаются, но имеющиеся в наличии запасы не показывают ничего, даже нуля (0)? Я только начал использовать Odoo и изучать Python. Что могло пойти не так с расчетом, или я ошибся при выборе модели? Я пока понятия не имею. Я предоставляю модель и виды.
mrp_production.py
from odoo import models, fields, api
class MrpProduction(models.Model):
_inherit = 'mrp.production'
sale_order_quantity = fields.Float(string='Sale Order Quantity', compute='_compute_sale_order_quantity', store=True)
purchase_order_quantity = fields.Float(string='Purchase Order Quantity', compute='_compute_purchase_order_quantity', store=True)
stock_on_hand = fields.Float(string='Inventory Quantity', compute='_compute_stock_on_hand', store=True)
@api.depends('product_id')
def _compute_sale_order_quantity(self):
for record in self:
sale_orders = self.env['sale.order.line'].search([('product_id', '=', record.product_id.id)])
record.sale_order_quantity = sum(line.product_qty for line in sale_orders)
@api.depends('product_id')
def _compute_purchase_order_quantity(self):
for record in self:
purchase_orders = self.env['purchase.order.line'].search([('product_id', '=', record.product_id.id)])
record.purchase_order_quantity = sum(line.product_qty for line in purchase_orders)
@api.depends('product_id')
def _compute_stock_on_hand(self):
for record in self:
quants = self.env['stock.quant'].search([('product_id', '=', record.product_id.id)])
record.stock_on_hand = sum(quant.quantity + quant.reserved_quantity for quant in quants)
просмотры
mrp.custom.calendar
mrp.production
Я стараюсь держать все заказы на продажу, заказы на покупку и, наконец, запасы, чтобы иметь возможность знать, сколько именно, количество продукта стоит или сколько запасов осталось в наличии. инвентарь. Я хотел, чтобы пилы могли показывать что-то вроде:
WH/MO/00005
Sunday, June 30, 2024
18:08 - 19:08 (an hour)
Responsible :
OdooBot
Product :
Ali-A
Quantity To Produce :
50.00
Sale Order Quantity :
60.00
Purchase Order Quantity :
80.00
Stock on Hand :
500,000.00 (because I put 500,000 inside the on hand after update quantity)
Подробнее здесь: https://stackoverflow.com/questions/786 ... r-anything
Odoo 14, возможно, неправильные вычисления или что-то в этом роде ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение