2013-08-26 30 views
0

我是OpenERP的新手。我在ubuntu12.04和eclipse juno上開發了一個在OpenERP v7上安裝的新模塊,但是我得到了下面的錯誤。ValidateError驗證字段拱時發生錯誤:View Architecture的無效XML !?

"ValidateError Error occurred while validating the field(s) arch: Invalid XML for View Architecture!"

任何一個可以幫我...

下面是我的所有文件。

_ 初始化 _.py

import mymodule 

__openerp__.py 

{ 
    'name': 'mymodule', 
    'version': '1.0', 
    'category': 'My own Module', 
    'description': """ 
This is customised mymodule 
""", 
    'author': 'SANTOSH', 
    'maintainer': 'SANTOSH', 
    'images' : ['images/icon.jpg'], 
    'depends': ['base','web'], 
    'init_xml' : ['mymodule_menu.xml'], 
    'data': [ 
     'mymodule_menu.xml', 

    ], 
    'demo': [ 
     'mymodule_menu.xml', 
    ], 
    'test': [ 
     'mymodule_menu.xml', 
    ], 

    'installable': True, 
    'auto_install': False, 
} 

mymodule.py

from openerp.osv import fields, osv 

class mymodule_test(osv.osv): 
    _name = "mymodule.test" 
    _column = {'name':fields.char('Name',size=256, Required = True), 
       'company':fields.char('Company', size = 256, Required = True), 
       } 

mymodule_test() 

mymodule_menu.xml

<?xml version="1.0" encoding="utf-8"?> 
<openerp> 
    <data> 


     <record model="ir.ui.view" id="mymodule.test_view_form"> 
      <field name="name">Mymodule</field> 
      <field name="model">mymodule.test</field> 
      <field name="arch" type="xml"> 
       <form string="Mymodule" version="7.0"> 
        <field name="name"/> 
        <field name="company"/> 
       </form> 
      </field> 
     </record> 


     <record id="action_mymodule" model="ir.actions.act_window"> 
      <field name="name">mymodule</field> 
      <field name="res_model">mymodule.test</field> 
      <field name="view_type">form</field> 
      <field name="view_mode">form,tree</field> 
     </record> 
     <menuitem id="section_main_menu" name="Mymodule" /> 
     <menuitem id="menuitem_id" name="MymoduleList" parent="section_main_menu" action="action_mymodule" /> 
    </data> 
</openerp> 
+0

你也可以發佈錯誤描述嗎? – Vivek

回答

2

您的代碼,語法和邏輯錯誤很多。

  1. 你爲什麼寫「mymodule_menu.xml」這一觀點在初始化,數據和演示 和測試,在7.0版本的init數據=替換[],並在初始化 只包括誰將會加載這些文件在開始的時候,演示是 使用的演示數據,並測試像陽明測試文件

  2. _column使用_columns你錯過了(S)

  3. 在菜單創建使用

    三層,第一超級父母,父母和菜單的孩子,其他方面它不會被列出。

以獲取無效的XML錯誤是因爲你有你錯過了2點_cloumn代替_columns

希望這有助於

纔去develp先在doc.openerp.com

0

閱讀的OpenERP文檔這是你的工作模塊。請回復澄清。

_ 初始化 _.py

import mymodule 

_ 的OpenERP _.py

{ 
'name': 'mymodule', 
'version': '1.0', 
'category': 'Tools', # There's a procedure to add your own category 
'description': """ 
This is customised mymodule 
""", 
'author': 'Vivek', 
'depends': [ 
    'base' 
], 
'data': ['mymodule_menu.xml'], 
'demo': [], 
'installable': True, 
'auto_install': False 
} 
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: 

mymodule_menu.xml

<?xml version="1.0" encoding="utf-8"?> 
<openerp> 
<data> 

    <record model="ir.ui.view" id=" test_view_form"> 
     <field name="name">Mymodule</field> 
     <field name="model">mymodule.test</field> 
     <field name="arch" type="xml"> 
      <form string="Mymodule" version="7.0"> 
       <field name="name"/> 
       <field name="company"/> 
      </form> 
     </field> 
    </record> 


<!-- Module Tree View --> 
    <record id="view_mymodule_tree" model="ir.ui.view"> 
     <field name="name">My Module</field> 
     <field name="model">mymodule.test</field> 
     <field name="arch" type="xml"> 
      <tree string="My Module"> 
       <field name="name" string="Name" /> 
       <field name="company" string="Company" /> 
      </tree> 
     </field> 
    </record> 

    <record id="action_mymodule" model="ir.actions.act_window"> 
     <field name="name">mymodule</field> 
     <field name="type">ir.actions.act_window</field> 
     <field name="res_model">mymodule.test</field> 
     <field name="view_type">form</field> 
     <field name="view_mode">tree,form </field> 
    </record> 

    <!-- Top Menu Item --> 
    <menuitem name="My Module" id="menu_mymodule" /> 

    <!-- Left-side menu: Guests --> 
    <menuitem name="My Module List" parent="menu_mymodule" id="mymodule_label" /> 

    <!-- Action Menu --> 
    <menuitem name="Actual Module List" parent="mymodule_label" id="mymodule_label_actual" 
     action="action_mymodule" /> 
</data> 
</openerp> 

mymodule。py

from openerp.osv import fields, osv 

class mymodule_test(osv.osv): 
_name = "mymodule.test" 
_columns = {'name':fields.char('Name',size=256, Required = True), 
      'company':fields.char('Company', size = 256, Required = True), 
      } 

mymodule_test() 

你錯過了很多事情。請將您的代碼和此代碼進行比較,以查看您錯過的地點。

這是我上添加一個新的類別

如何添加一個新的類別的開發模塊筆記嗎? 模塊類別列表是從文件服務器/ OpenERP的/附加元件/鹼/模塊/ module_data.xml加載。

你也可以看到它查詢ir_module_category Postgres的表。

這是我發現:

以次名

=== =========================== =====

1客戶關係管理

2的銷售管理

3項目管理

4 KB nowledge管理

5倉庫管理

6製造

7發票&付款

8會計&金融

9採購管理

10人力資源

11個外工具

12市場銷售

13點

14高級報告

而且由於類別ID是many2one場,不,你不能有超過一個模塊的類別。選擇最有代表性的一個(在其頂部菜單將大部分的菜單選項是什麼?)。

要添加新類別

module_data。XML

<record model="ir.module.category" id="module_category_custom_modules"> 
     <field name="name">Custom Modules</field> 
     <field name="sequence">16</field> 
    </record> 
0

我有同樣的錯誤信息,但我的問題是簡單地認爲,寫一個「openacademy」模塊,我在openacademy.py曾寫道:

class openacademy_course(osv.osv): 
    _name = 'course' 
    … 

當我應該說:

class openacademy_course(osv.osv): 
    _name = 'openacademy.course' 

因此,它可能無法幫助您解決特定情況,但也許其他人會在同一問題中找到您的問題。

相關問題