2017-09-26 60 views
2

我想創建odoo 10的序列號(有些人認爲像OM-201709-001)我用這個代碼:創建一個序列號odoo 10

<!-- ------*.xml file------- --!> 
<openerp> 
    <data noupdate="1"> 
     <record id="seq_type_id" model="ir.sequence.type"> 
     <field name="name">omega_sequence</field> 
     <field name="code">hr.employee</field> 
     </record> 

     <record id="seq_id" model="ir.sequence"> 
     <field name="name">omega_sequence</field> 
     <field name="code">hr.employee</field> 
     <field name="prefix">SQ</field> 
     <field name="padding">5</field> 
     <!--<field name="suffix">suffix</field>--> 
     </record> 

    </data> 
</openerp> 

和:

# ------------*.py file------------------ 
class omega(models.Model): 
    _name = 'omega.model' 
    _description = 'No Description for now !!' 

    sequence_id = fields.Char('Sequence', readonly=True) 

    @api.model 
    def create(self, vals): 
     seq = self.env['ir.sequence'].get('hr.employee') or '/' 
     vals['sequence_id'] = seq 
     return super(omega, self).create(vals) 

但我得到的所有時間這個錯誤什麼都我做的:

Traceback (most recent call last): 
    File "/opt/odoo/odoo/http.py", line 640, in _handle_exception 
    return super(JsonRequest, self)._handle_exception(exception) 
    File "/opt/odoo/odoo/http.py", line 677, in dispatch 
    result = self._call_function(**self.params) 
    File "/opt/odoo/odoo/http.py", line 333, in _call_function 
    return checked_call(self.db, *args, **kwargs) 
    File "/opt/odoo/odoo/service/model.py", line 101, in wrapper 
    return f(dbname, *args, **kwargs) 
    File "/opt/odoo/odoo/http.py", line 326, in checked_call 
    result = self.endpoint(*a, **kw) 
    File "/opt/odoo/odoo/http.py", line 935, in __call__ 
    return self.method(*args, **kw) 
    File "/opt/odoo/odoo/http.py", line 506, in response_wrap 
    response = f(*args, **kw) 
    File "/opt/odoo/addons/web/controllers/main.py", line 889, in call_button 
    action = self._call_kw(model, method, args, {}) 
    File "/opt/odoo/addons/web/controllers/main.py", line 877, in _call_kw 
    return call_kw(request.env[model], method, args, kwargs) 
    File "/opt/odoo/odoo/api.py", line 689, in call_kw 
    return call_kw_multi(method, model, args, kwargs) 
    File "/opt/odoo/odoo/api.py", line 680, in call_kw_multi 
    result = method(recs, *args, **kwargs) 
    File "/opt/odoo/odoo/addons/base/module/module.py", line 410, in button_immediate_install 
    return self._button_immediate_function(type(self).button_install) 
    File "/opt/odoo/odoo/addons/base/module/module.py", line 484, in _button_immediate_function 
    modules.registry.Registry.new(self._cr.dbname, update_module=True) 
    File "/opt/odoo/odoo/modules/registry.py", line 82, in new 
    odoo.modules.load_modules(registry._db, force_demo, status, update_module) 
    File "/opt/odoo/odoo/modules/loading.py", line 339, in load_modules 
    loaded_modules, update_module) 
    File "/opt/odoo/odoo/modules/loading.py", line 237, in load_marked_modules 
    loaded, processed = load_module_graph(cr, graph, progressdict, report=report, skip_modules=loaded_modules, perform_checks=perform_checks) 
    File "/opt/odoo/odoo/modules/loading.py", line 156, in load_module_graph 
    _load_data(cr, module_name, idref, mode, kind='data') 
    File "/opt/odoo/odoo/modules/loading.py", line 95, in _load_data 
    tools.convert_file(cr, module_name, filename, idref, mode, noupdate, kind, report) 
    File "/opt/odoo/odoo/tools/convert.py", line 845, in convert_file 
    convert_xml_import(cr, module, fp, idref, mode, noupdate, report) 
    File "/opt/odoo/odoo/tools/convert.py", line 915, in convert_xml_import 
    obj.parse(doc.getroot(), mode=mode) 
    File "/opt/odoo/odoo/tools/convert.py", line 796, in parse 
    self.parse(rec, mode) 
    File "/opt/odoo/odoo/tools/convert.py", line 799, in parse 
    self._tags[rec.tag](rec, de, mode=mode) 
    File "/opt/odoo/odoo/tools/convert.py", line 625, in _tag_record 
    model = self.env[rec_model] 
    File "/opt/odoo/odoo/api.py", line 760, in __getitem__ 
    return self.registry[model_name]._browse((), self) 
    File "/opt/odoo/odoo/modules/registry.py", line 174, in __getitem__ 
    return self.models[model_name] 
ParseError: "ir.sequence.type" while parsing /home/walid/Bureau/model_x/views/Sequences.xml:3, near 
<record id="seq_type_id" model="ir.sequence.type"> 
     <field name="name">omega_sequence</field> 
     <field name="code">hr.employee</field> 
     </record> 

我在所有的網站網頁,我發現搜索時,都讓我有一些代碼,但所有時間我執行這個代碼,他給了我上面的錯誤;請給我一個建議和感謝。

+0

這是自定義模塊?如果是這樣,你的__openerp__.py文件是否與基本模塊有依賴關係? – Eric

+0

是你要求的:'data':[ #'security/ir.model.access.csv', 'views/views.xml', 'views/templates.xml', 'views/* .xml', ], –

+0

是的,但應設置不同的值。 'depends':['base'], 嘗試更新該字段,重新啓動openerp服務,然後安裝/升級模塊 – Eric

回答

4

ir.sequence.type model has been removed in version 9.0。您可以使用此代碼:

<odoo> 
    <data noupdate="1"> 

     <!-- ------*.xml file------- --> 
     <record id="seq_hr_employee" model="ir.sequence"> 
      <field name="name">omega_sequencer</field> 
      <field name="code">hr.employee</field> 
      <field name="prefix">QO</field> 
      <field name="padding">5</field> 
     </record> 

    </data> 
</odoo> 
# ------------*.py file------------------ 
class omega(models.Model): 
    _name = 'omega.model' 
    _description = 'No Description for now !!' 

    sequence_id = fields.Char('Sequence', readonly=True) 

    @api.model 
    def create(self, vals): 
     seq = self.env['ir.sequence'].next_by_code('hr.employee') or '/' 
     vals['sequence_id'] = seq 
     return super(omega, self).create(vals) 
+0

,給我這個錯誤:Traceback(最近調用最後): 文件「/opt/odoo/odoo/http.py」,行640,在_handle_exception 返回超級(JsonRequest,self)._ handle_exception(exception )[[[]]] 文件「/opt/odoo/odoo/models.py」,第3782行,在 @ api.returns('self',lambda value:value.id) AttributeError: 'NoneType'對象沒有屬性'id' –

+1

在創建方法中添加return super(omega,self).create(vals)我編輯代碼 –

+0

沒有任何變化 –