首页 > 解决方案 > 自动化模型中的销售柜台

问题描述

我正在尝试通过代码在我的模型中实现自动化,但我不知道我是否遗漏了什么,因为我添加了我在 Google 上找到的内容,但在月底​​它没有恢复。我希望通过一位会计师,我已经有了计算一个月内销售额的方法,目前可以做到,但在月底​​它继续添加上个月的销售额,我不想要,因为这个想法是在一个月的月底销售恢复并从0开始。我的代码如下:

<data noupdate = "1">

        <record forcecreate = "True" id = "vendor_monthly_counter" model = "ir.cron">
           <field name = "name"> Monthly worker accountant </field>
           <field eval = "True" name = "active" />
           <field name = "user_id" ref = "base.user_root" />
           <field name = "interval_number"> 1 </field>
           <field name = "interval_type"> months </field>
           <field name = "numbercall"> - 1 </field>
           <field ref = "model_proyecto_rc_trabajador" name = "model_id" />
            <field name = "state"> code </field>
           <field name = "code"> model.get_realized_sales () </field>
           <field eval = "False" name = "doall" />
           <field name = "function"> True </field>

py get_realized_sales

class worker(models.Model):
    _name = 'project_rc.worker'
    _rec_name = 'name'

    name = fields.Char(string="Name", required=True)
    charge = fields.Selection(
        [('seller', 'Seller'), ('cashier', 'Cashier')],
        string="Cargo", required=True)
    sales_counter = fields.Integer(
        string="Sales made", compute="get_realized_sales", store=True)
    document_ids = fields.One2many(
        comodel_name='project_rc.document', inverse_name='worker_id',
        string='Invoice', required=true)

    @api.depends ('document_ids')
    def get_realized_sales(self):
        for rec in self:
            document = rec.document_ids.filtered(
                lambda r: r.type_movimiento_id and\
                    r.type_movement_id.type_movement == 'sale')
            rec.sales_counter = len(document)

我能错过什么,一些py?那 py 会怎么样?

标签: pythonodoo

解决方案


您必须将值保存在 for 循环的记录中。

代替

sales_counter = len(document)

利用

rec.sales_counter = len(document)

推荐阅读