2017-08-25 42 views
0

我已經創建步驟的嚮導,這是我的xml:類型錯誤:創建()到底需要2個參數(5給出) - Odoo V8嚮導

<record id="view_wizard_prod_order_form" model="ir.ui.view"> 
    <field name="name">bsi.production.order.wizard</field> 
    <field name="model">bsi.production.order</field> 
    <field name="arch" type="xml"> 
     <form string="Production Order"> 
      <field name="state" widget="statusbar" statusbar_visible="step1,step2,step3,step4" statusbar_colors='{"step3":"blue","step4":"blue"}' clickable="True" /> 
       <group> 
       <group> 
        <field name="date_production" attrs="{'invisible': [('state', '!=', 'step1')]}" /> 
        <field name="product_id" attrs="{'invisible': [('state', '!=', 'step1')]}" /> 
        <field name="qty_available" attrs="{'invisible': [('state', '!=', 'step1')]}" /> 
        <field name="isbn1" attrs="{'invisible': [('type_prod', '!=', 'direct')]}" /> 
        <field name="isbn2" attrs="{'invisible': [('type_prod', '!=', 'direct')]}"/> 
        <field name="isbn3" attrs="{'invisible': [('type_prod', '!=', 'direct')]}"/> 
        <field name="isbn4" attrs="{'invisible': [('type_prod', '!=', 'direct')]}"/> 
        <field name="isbn5" attrs="{'invisible': [('type_prod', '!=', 'direct')]}"/> 
        <field name="isbn6" attrs="{'invisible': [('type_prod', '!=', 'direct')]}"/> 
       </group> 
       <group> 
        <field name="type_prod" attrs="{'invisible': [('state', '!=', 'step1')]}"/> 
        <field name="print_order2" attrs="{'invisible': [('type_prod', '!=', 'direct')]}" /> 
        <field name="print_order2" attrs="{'invisible': [('type_prod', '!=', 'direct')]}"/> 
        <field name="print_order2" attrs="{'invisible': [('type_prod', '!=', 'direct')]}"/> 
        <field name="print_order2" attrs="{'invisible': [('type_prod', '!=', 'direct')]}"/> 
        <field name="print_order2" attrs="{'invisible': [('type_prod', '!=', 'direct')]}"/> 
        <field name="print_order2" attrs="{'invisible': [('type_prod', '!=', 'direct')]}"/> 
       </group> 
      </group> 
      <group> 
       <group string="Book Block" attrs="{'invisible': [('state', '!=', 'step2')]}"> 
         <field name="name_block" attrs="{'invisible': [('state', '!=', 'step2')]}"/> 
         <field name="category" attrs="{'invisible': [('state', '!=', 'step2')]}"/> 
         <field name="language" attrs="{'invisible': [('state', '!=', 'step2')]}"/> 
         <field name="edition" attrs="{'invisible': [('state', '!=', 'step2')]}"/> 
         <field name="size" attrs="{'invisible': [('state', '!=', 'step2')]}"/> 
         <field name="book_block_textp" attrs="{'invisible': [('state', '!=', 'step2')]}"/> 
         <field name="n_pages_one_color" attrs="{'invisible': [('state', '!=', 'step2')]}"/> 
         <field name="two_color" attrs="{'invisible': [('state', '!=', 'step2')]}"/> 
         <field name="four_color" attrs="{'invisible': [('state', '!=', 'step2')]}"/> 
         <field name="total" attrs="{'invisible': [('state', '!=', 'step2')]}"/> 
         <field name="text_print_code" attrs="{'invisible': [('state', '!=', 'step2')]}"/> 
         <field name="book_block_adpaper" attrs="{'invisible': [('state', '!=', 'step2')]}"/> 
         <field name="adnl_n_pages_one_color" attrs="{'invisible': [('state', '!=', 'step2')]}"/> 
         <field name="adnl_two_color" attrs="{'invisible': [('state', '!=', 'step2')]}"/> 
         <field name="adnl_third_color" attrs="{'invisible': [('state', '!=', 'step2')]}"/> 
         <field name="adnl_four_color" attrs="{'invisible': [('state', '!=', 'step2')]}"/> 
         <field name="adnl_total" attrs="{'invisible': [('state', '!=', 'step2')]}"/> 
         <field name="adnl_text_print_code" attrs="{'invisible': [('state', '!=', 'step2')]}"/> 
         <field name="book_block_txtep" attrs="{'invisible': [('state', '!=', 'step2')]}"/> 
         <field name="n_of_end_pages" attrs="{'invisible': [('state', '!=', 'step2')]}"/> 
       </group> 
       <group string="Book Size" attrs="{'invisible': [('state', '!=', 'step2')]}"> 
         <field name="name_size" attrs="{'invisible': [('state', '!=', 'step2')]}"/> 
         <field name="description_size" attrs="{'invisible': [('state', '!=', 'step2')]}"/> 
         <field name="forme_size" attrs="{'invisible': [('state', '!=', 'step2')]}"/> 
         <field name="plate_size" attrs="{'invisible': [('state', '!=', 'step2')]}"/> 
       </group> 
      </group> 
      <group> 
       <group string="Book Edition" attrs="{'invisible': [('state', '!=', 'step3')]}"> 
         <field name="name_edition" attrs="{'invisible': [('state', '!=', 'step3')]}"/> 
       </group> 
       <group string="Book Binding" attrs="{'invisible': [('state', '!=', 'step3')]}"> 
         <field name="name_binding" attrs="{'invisible': [('state', '!=', 'step3')]}"/> 
       </group> 
       <group string="Cut Off" attrs="{'invisible': [('state', '!=', 'step3')]}"> 
         <field name="name_cut" attrs="{'invisible': [('state', '!=', 'step3')]}"/> 
         <field name="description_cut" attrs="{'invisible': [('state', '!=', 'step3')]}"/> 
         <field name="cutoff_size" attrs="{'invisible': [('state', '!=', 'step3')]}"/> 
       </group> 
       <group string="Paper Master" attrs="{'invisible': [('state', '!=', 'step3')]}"> 
         <field name="name_papermaster" attrs="{'invisible': [('state', '!=', 'step3')]}"/> 
         <field name="description_papermaster" attrs="{'invisible': [('state', '!=', 'step3')]}"/> 
         <field name="paper_type" attrs="{'invisible': [('state', '!=', 'step3')]}"/> 
         <field name="uom_papermaster" attrs="{'invisible': [('state', '!=', 'step3')]}"/> 
         <field name="gsm_papermaster" attrs="{'invisible': [('state', '!=', 'step3')]}"/> 
         <field name="std_cost_rate" attrs="{'invisible': [('state', '!=', 'step3')]}"/> 
         <field name="qty_in_kgs" attrs="{'invisible': [('state', '!=', 'step3')]}"/> 
         <field name="size_width" attrs="{'invisible': [('state', '!=', 'step3')]}"/> 
         <field name="size_height" attrs="{'invisible': [('state', '!=', 'step3')]}"/> 
       </group> 
      </group> 
      <group> 
       <group string="End Paper" attrs="{'invisible': [('state', '!=', 'step4')]}"> 
         <field name="name_end_paper" attrs="{'invisible': [('state', '!=', 'step4')]}"/> 
         <field name="category_end_paper" attrs="{'invisible': [('state', '!=', 'step4')]}"/> 
         <field name="size_end_paper" attrs="{'invisible': [('state', '!=', 'step4')]}"/> 
       </group> 
       <group string="Printing Code" attrs="{'invisible': [('state', '!=', 'step4')]}"> 
         <field name="description_code" attrs="{'invisible': [('state', '!=', 'step4')]}"/> 
         <field name="size_code" attrs="{'invisible': [('state', '!=', 'step4')]}"/> 
       </group> 
       <group string="Book Edge" attrs="{'invisible': [('state', '!=', 'step4')]}"> 
         <field name="name_book_edge" attrs="{'invisible': [('state', '!=', 'step4')]}"/> 
       </group> 
       <group string="Job Rate" attrs="{'invisible': [('state', '!=', 'step4')]}"> 
         <field name="name_jobrate" attrs="{'invisible': [('state', '!=', 'step4')]}"/> 
         <field name="binding" attrs="{'invisible': [('state', '!=', 'step4')]}"/> 
         <field name="size_binding_job_rate" attrs="{'invisible': [('state', '!=', 'step4')]}"/> 
         <field name="bind_variety" attrs="{'invisible': [('state', '!=', 'step4')]}"/> 
         <field name="rates" attrs="{'invisible': [('state', '!=', 'step4')]}"/> 
         <field name="addl_rate" attrs="{'invisible': [('state', '!=', 'step4')]}"/> 
         <field name="uptoforme" attrs="{'invisible': [('state', '!=', 'step4')]}"/> 
       </group> 
      </group> 
    </form> 
    <footer> 
     <button string="Save" name="save_data" type="object" attrs="{'invisible': [('state', '!=', 'step4')]}"/> 
    </footer> 
    </field> 
</record> 

這是按鈕save_data方法:

@api.multi 
def save_data(self): 
    imd = self.env['ir.model.data'] 
    self.name = name 
    return (bsi_production_order, self).create(self) 

我只是增加一個字段中,例如,無論字段需要它總是拋出:

Traceback (most recent call last): 
File "C:\Program Files\Odoo 8.0-20170809\server\.\openerp\http.py", line 546, in _handle_exception 
File "C:\Program Files\Odoo 8.0-20170809\server\.\openerp\http.py", line 583, in dispatch 
File "C:\Program Files\Odoo 8.0-20170809\server\.\openerp\http.py", line 319, in _call_function 
File "C:\Program Files\Odoo 8.0-20170809\server\.\openerp\service\model.py", line 118, in wrapper 
File "C:\Program Files\Odoo 8.0-20170809\server\.\openerp\http.py", line 316, in checked_call 
File "C:\Program Files\Odoo 8.0-20170809\server\.\openerp\http.py", line 812, in __call__ 
File "C:\Program Files\Odoo 8.0-20170809\server\.\openerp\http.py", line 412, in response_wrap 
File "C:\Program Files\Odoo 8.0-20170809\server\openerp\addons\web\controllers\main.py", line 944, in call_kw 
File "C:\Program Files\Odoo 8.0-20170809\server\openerp\addons\web\controllers\main.py", line 936, in _call_kw 
TypeError: create() takes exactly 2 arguments (5 given) 

我嘗試了很多方法,看過不同的例子,但沒有成功,有什麼想法?

編輯

我也試過這樣:

@api.multi 
def save_data(self, vals): 
    vals = { 
     'name' : name, 
    } 
    return (bsi_production_order, self).create(vals) 

同樣的錯誤......我真的持守這個

+1

你可以試着解釋你在做什麼?什麼時候調用save_data方法,它應該怎麼做?什麼是bsi_production_order? – ands

+0

嗨,在嚮導視圖xml中有對象按鈕調用「save_data」,這是一步一步的嚮導,它實際上是在表上創建一個新記錄,但是一步一步地,而不是一個傳統的表單視圖。 'bsi_production_order'是表的名字,我想創建記錄的對象,它已經作爲一個表單存在,一步一步的嚮導完成,剩下的唯一的東西就是用這個方法在這個記錄中保存這個記錄。案件。 – NeoVe

+1

你說'bsi_production_order'是表名,但是在你的代碼中你有變量bsi_production_order。這是包含表名的變量字符串嗎?我在問你這個,因爲我試圖理解這個行在做什麼('bsi_production_order,self).create(self)''。 – ands

回答

1

不要調用像這樣的創建。

 self.env['your.model.name'].create(vals) 

而且,如果您覆蓋odoo 10中的create方法爲例。

   @api.model 
       def create(self, values) : 
         # your code here 
+0

其實,正如我告訴@JuanSalcedo這是我的錯,而且,這解決了我解決了我最初的愚蠢問題之後出現的另一個問題,非常感謝。 – NeoVe

1

正在創建方法獲得的字典作爲參數,你應該以這種方式調用self.create(vals)如果你已經在你想創建的模型,如果你不是,你應該調用創建方法super這樣的事super(class_name, self).create(vals)vals這是字典。

編輯:

定義創建方法是:

def create(self, vals): 

,你可以在這個link看,你可以看到它reviced兩個參數(個體經營,丘壑)時,調用此方法(即super(class_name, self).create(vals)是隱含的,如通過「自我」這就是爲什麼你的錯誤類型錯誤:創建()到底需要2參數(5給出)「職高自我包含:CR,UID,IDS ...

我希望這一點解釋可以幫助你。

+0

嗨,謝謝非常感謝,但實際上我已經嘗試過類似的東西,我已經編輯了我的問題,如果您想查看,仍然是相同的錯誤:/ – NeoVe

+0

我認爲它與新的API有關, '我用過的方式是種「老派」 – NeoVe

+0

哈哈,對不起,這是我的一個錯誤,我有一些其他的測試方法我沒有刪除,謝謝 – NeoVe

相關問題