在odoo中序列增加2

问题描述

我重写模型“ product.template”的创建功能,以便创建两个取决于类别产品的帐户(一个公共和一个私有)。因此,我分别为私有和公共分别创建了一个序列类别(总共6个序列)。我的问题是,当我创建一个类别为“ x”的产品时,所有帐户顺序都将增加2。换句话说,当他递增时,它将我的6个序列视为1个序列,如果创建类别为“ y”的另一个产品,则其序列帐户以“ 02”开头的数字“ 03”开头。这是我的代码

product_template.py

def create(self,vals):
        print("////////////////////////////////////////////////")

        vals['prod1_account_public'] = self.env['ir.sequence'].next_by_code('account.prod1.public.ref')
        vals['prod1_account_private'] = self.env['ir.sequence'].next_by_code('account.prod1.private.ref')
        vals['prod2_account_public'] = self.env['ir.sequence'].next_by_code('account.prod2.public.ref')
        vals['prod2_account_private'] = self.env['ir.sequence'].next_by_code('account.prod2.private.ref')
        vals['prod3_account_public'] = self.env['ir.sequence'].next_by_code('account.prod3.public.ref')
        vals['prod3_account_private'] = self.env['ir.sequence'].next_by_code('account.prod3.private.ref')
        res = super(ProductTemplate,self).create(vals)
        type_prod= res.type_product.name

        product_type_ids = self.env['type.product'].search([('name','=',type_prod)])
        product_type_obj = product_type_ids.browse(product_type_ids.id)
        product_account_public=product_type_obj.code_public
        product_account_prive = product_type_obj.code_prive

        account_ids_prive=self.env['account.account'].search([('code',product_account_prive)])
        acc_parent_prive_name=self.env['account.account'].browse(account_ids_prive.id).acc_parent.name
        account_ids_public = self.env['account.account'].search([('code',product_account_public)])
        acc_parent_public_name = self.env['account.account'].browse(account_ids_public.id).acc_parent.name

        acc_parent_id1=self.env['account.account'].search([('code',product_account_prive)])
        id_acc_parent1=self.env['account.account'].browse(acc_parent_id1.id).acc_parent

        acc_parent_id2=self.env['account.account'].search([('code',product_account_public)])
        id_acc_parent2=self.env['account.account'].browse(acc_parent_id2.id).acc_parent

        if type_prod=="fuel":
         
                     vals1={
                'acc_parent': id_acc_parent1.id,'code': vals['prod1_account_private'],'name':  acc_parent_prive_name +" "+ vals['name']
            }
            id1=self.env['account.account'].create(vals1)
            res.private_account_id=id1.id

            vals2 = {
                'acc_parent': id_acc_parent2.id,'code': vals['prod1_account_public'],'name': acc_parent_public_name + " " + vals['name']
            }
            id2=self.env['account.account'].create(vals2)
            res.public_account_id=id2.id

      elif type_prod == "gaz  ":

            vals1 = {
                'acc_parent': id_acc_parent1.id,'code': vals['prod2_account_private'],'name': acc_parent_prive_name + " " + vals['name']
            }
            print (vals1,'vals1*****************')
            id1 = self.env['account.account'].create(vals1)
            res.private_account_id = id1.id
            vals2 = {
                'acc_parent': id_acc_parent2.id,'code':vals['prod2_account_public'],'name': acc_parent_public_name + " " + vals['name']
            }
            print (vals2,'vals2******************')
            id2 = self.env['account.account'].create(vals2)
            res.public_account_id = id2.id

account_sequence.xml

       <record id="id_seq_account_prod1_public_ref" model="ir.sequence">
           <field name="name">Account prod1 public</field>
           <field name="code">account.prod1.public.ref</field>
           <field name="prefix">601010101</field>
           <field name="padding">2</field>
           <field name="number_increment">1</field>
       </record>
       <record id="id_seq_account_prod1_private_ref" model="ir.sequence">
           <field name="name">Account prod1 private</field>
           <field name="code">account.prod1.private.ref</field>
           <field name="prefix">601010201</field>
           <field name="padding">2</field>
           <field name="number_increment">1</field>
       </record>

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)