0

私はodooとpythonが初めてです。「.xml」ファイルからメソッドを呼び出してボタンを非表示にする必要があります。関数定義と本体は「.py」ファイルにあります。現在、そのようなボタンを非表示にしようとしています

<button confirm="Are you sure you want to start the test?" name="set_to_test_inprogress" states="Invoiced" string="Start Test" type="object" class="oe_highlight"groups="oehealth.group_oeh_medical_physician,oehealth.group_oeh_medical_manager" attrs="{'invisible': [('start_button', '=', False)]}"/>

「start_button」列は、そのようなコードを含む「.py」ファイルにあります

def _start_test_button(self, cr, uid, ids, field_name, arg, context):
    return False

_columns = {
    'start_button': fields.function(_start_test_button, type="boolean", obj="generic.request", method=True),
}

その python コードは「OeHealthLabTests」という名前のクラスにあります。ラボを作成すると、次のエラーが表示されます

Uncaught Error: Unknown field start_button in domain [["start_button","=",false],["state","not in",["Invoiced"]]]

混乱しており、それを実現する方法をまだ見つけていません。どうすればそれができるか教えてください。

ありがとうございました

4

1 に答える 1

1

xml でフィールド関数をまだ定義していないため、エラーが発生しました。xml でフィールド関数を定義するだけです。

<button confirm="Are you sure you want to start the test?" name="set_to_test_inprogress" states="Invoiced" string="Start Test" type="object" class="oe_highlight"groups="oehealth.group_oeh_medical_physician,oehealth.group_oeh_medical_manager" attrs="{'invisible': [('start_button', '=', False)]}"/>
<field name="start_button" invisible="1"/>

私の答えがあなたに役立つことを願っています:)

于 2016-02-02T13:07:35.327 に答える