2017-01-05 4 views
0

self.action_manager.do_actionを使用してjsコードで特定のオブジェクトのフォームビューを表示しようとしています。特定のレコードOdoo 9:(action_manager)を使ってjsからオブジェクトのフォームビューを表示する方法は?

self.action_manager.do_action({ 
       type: 'ir.actions.act_window', 
       view_type: 'list', 
       view_mode: 'list,form', 
       res_model: res_model, 
       domain: [['id', '=', res_id]], 
       views: [[false, 'list'], [false, 'form']], 
       target: 'new' 
      }); 

このコードは動作し、私はRES_IDで与えられたres_modelのツリービューを開くことができますのツリービューを表示する

コード。しかし、私は同じ方法のフォームビューを呼び出す方法を知りたいです。私は

コード

は、特定のレコード

  view_type: 'form', 
      view_mode: 'form', 
      res_model: res_model, 
      domain: [['id', '=', res_id]], 
      views: [[false, 'form']], 
      target: 'current' 

のフォームビューを表示しようとした、次のように「形式」の代わりに上記のコードの「リスト」を使用して試してみましたそして、これは役立ちません。

誰でも私にこれを手伝ってもらえますか?基本的に私はjsのレコードの詳細を持って、独自のフォームビューでレコードを表示したい。私を助けてくれてありがとう。

答えて

0

フォームビューIDを使用して表示するフォームを指定することができ、view_modeを指定する必要があります。 は、あなたがres_idとしてレコードIDを渡す必要が特定のレコードを表示するには、以下を参照してください:

var model_obj = new instance.web.Model('ir.model.data'); 
view_id = model_obj.call('get_object_reference', 
          ["your_module_name_here", 
          "your_form_xml_id_here" 
          ] 
         ); 

var view_manager = self.view.getParent(), 
action_manager = view_manager.getParent(); 
self.view.destroy(); 
action_manager.do_action({ 
      type: 'ir.actions.act_window', 
      res_model: res_model, 
      res_id: res_id, 
      view_mode: 'form', 
      views: [[view_id, 'form']], 
      target: 'current' 
      }); 
+0

こんにちは、WalR、現在私はself.action_manager =新しいActionManager(自己)を使用します。 self.action_manager.do_action({})メソッドはここでフォームビューを呼び出します。あなたのロジックを試してみました。私は 'action_manager'が 'new'とview_mode: 'list'というターゲットのみをサポートしていると思います。フォームビューとしてview_modeを使用すると、self.action_manager.do_action({})関数は機能しません。 「TypeError:this.main_control_panel is undefined」というエラーが表示されます。self.action_manager = new ActionManager(self)でロジックを使用する方法を教えてください。 self.action_manager.do_actionメソッド? –

+0

こんにちはWalR、ウィザードのポップアップウィンドウでこのロジックを使用しています。私もself.do_actionを試してみましたが、 "TypeError:self.do_actionは関数ではありません"というエラーを表示します。 –

+0

@NivasRaj編集を確認してください。 – Zety

関連する問題