4

メニュー項目またはボタンを押したときに特定のオブジェクトを開くにはどうすればよいでしょうか? 構成のようなオブジェクトを並べ替えたい場合に便利です (ユーザー名とパスワードなどのデータを保持するために必要なオブジェクトは 1 つだけです)。

view_initメソッドとactive_idコンテキストキーで遊んでみましたが、うまくいきませんでした。誰かが私を正しい方向に向けることができますか?

4

2 に答える 2

9

私は同様の問題を抱えていて、解決策を見つけました: あなたの定義 (XML) で、表示したいレコードの ID を持つフィールドir.actions.act_windowを追加してみてください。res_idこれが id である場合は、おそらく同じフィールドの「eval」属性を使用して取得できます。

例えば ​​:

<field name="res_id">5</field>

または(それが機能するかどうかはわかりません)

<field name="res_id" eval="your_func_getting_res_id"/>

もちろん、2番目の方法では、関数を定義することを忘れないでください。

ボタンによって呼び出されるメソッドでを返したいときに機能しir.actions.act_windowます(Pythonで定義されたメソッドなので、必要なIDを簡単に取得できました)。

あなたや他の誰かに役立つことを願っています。

于 2012-11-21T13:39:40.730 に答える
0

まず、モデルのビュー (ツリー、フォーム、検索など) を作成する必要があります。次に、たとえばモデルのアクションを作成します

<record model="ir.actions.act_window" id="my_unique_action_id">
    <field name="name">Name for the Action</field>
    <field name="res_model">your_model_name</field>
    <field name="view_type">form</field>
    <field name="view_mode">tree,form</field>
    <field name="domain">here_provide_your_domain_conditon_as list_of_tuples</field>
    <field name="context">here_provide_your_context_as_a_dictionary</field>
</record>

次に、action= アクション ID でメニューを作成します。例えば

<menuitem action="my_unique_action_id" id="my_unique_menu_id" parent="your parent_menu_id"/>

親メニューが別のモジュールにある場合は、提供しますparent=the_other_module_name.parent_menu_id

注: unique_action_id_name と unique_menu_id_name は、id がそのモジュール内で一意でなければならないという意味で言っています。異なるモジュールで同じアクション ID を持つことができます。

于 2012-08-11T08:04:08.327 に答える