Сумма записей столбцов в модели odoo11 - PullRequest
0 голосов
/ 26 февраля 2019

У меня есть следующая модель:

class RecipeInformation(models.Model):
    _name = 'model.recipe.information'
    _description = 'recipe and ingredient information'

    recipe_id = fields.Many2one('model.recipe', string='Recipe', required=True)
    ingredient_id = fields.Many2one('model.ingredient', string='Ingredient', required=True)

    quantity = fields.Integer('Quantity', required=True, default=1)
    price = fields.Float('Price', required=True)
    unit_of_measure = fields.Selection([('milligrams', 'Milligrams'), ('grams', 'Grams'),('kilograms', 'Kilograms')],
                                   'Unit of Measure', default='grams',
                                   required=True)

    price_per_UoM = fields.Float('Price/UoM', compute='_calculate_price', store=True)

    Cost = fields.Float('Total Cost')

    @api.depends('price', 'quantity')
    def _calculate_price(self):
        for record in self:
            record.price_per_UoM = record.price / record.quantity
            return record.price_per_UoM

    @api.depends('ingredient_quantity', 'price_per_UoM')
    def _calculate_cost(self):
        for record in self:
            record.Cost += record.ingredient * record.price_per_UoM
            return record.Cost

и представление дерева и формы в формате XML следующим образом

<record id="view_form_recipe_cost" model="ir.ui.view">
        <field name="name">recipe.cost.form.view</field>
        <field name="model">model.recipe.information</field>
        <field name="arch"  type="xml">
            <form string="Recipe Cost form view">
                <sheet>
                    <group>
                        <field name="recipe_id"/>
                        <field name="ingredient_id"/>
                        <field name="quantity"/>
                        <field name="price"/>
                        <field name="unit_of_measure"/>
                        <field name="price_per_UoM"/>
                    </group>
                </sheet>
            </form>
         </field>
    </record>
    <record id="view_tree_recipe_cost" model="ir.ui.view">
        <field name="name">recipe.cost.tree.view</field>
        <field name="model">model.recipe.information</field>
        <field name="arch"  type="xml">
            <tree>
                <field name="recipe_id"/>
                <field name="ingredient_id"/>
                <field name="quantity"/>
                <field name="price"/>
                <field name="unit_of_measure"/>
                <field name="price_per_UoM"/>
            </tree>
         </field>
    </record>

Я пытаюсь получить сумму всехprice_perUoM для каждой записи строки в моей модели, которая имеет такое же имя рецепта или recipe_id и может просматривать их, возможно, в другом разделенном представлении.

, чтобы я мог иметь древовидное представление, отображающее все поля и другое отображениетолько название рецепта и общая стоимость этого конкретного рецепта

Я новичок в odoo и буду признателен за любую (советы, комментарии) помощь.

заранее спасибо

1 Ответ

0 голосов
/ 26 февраля 2019

Существует атрибут name sum = "Total", который вы можете применить в своем xml-дереве, в котором показана сумма всех записей, отображаемых для определенного столбца

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...