2

Python関数をトリガーするボタンを押した後、フォームフィールドを「オンフライ」で更新したいと思います。
フィールド値を返すことができる onchange のようなものですが、ボタンを押した後にそれを行う必要があります。状況は、入力された会社登録 ID に基づいて公開会社登録簿の会社情報を検索できるようにするモジュールを作成することです。最善の方法は、更新されたフィールド リストを含むポップアップ ウィンドウを表示し、ユーザーがフィールド値を更新するかどうかを確認する必要があることです。

ありがとうございました。

4

1 に答える 1

0

動的なポップアップ ウィンドウをシミュレートするウィザード (osv.osv_memory クラス) を作成できます。このウィザードに入力するには、返された Python 関数のアクション記述子を次のように使用できます。

return {'res_model':'your.osv.memory',
'view_mode':'form',
'view_type':'form',
'target':'new',
'context':{...},
}

公開企業情報を取得するアルゴリズムのおかげで、write() メソッドで行うように、コンテキストにフィールド値を配置するだけで済みます。コンテキストを受け取る osv_memory の default_get() メソッドをオーバーライドし、必要に応じてウィザードに入力します。

ウィザードの単純なテキスト フィールドは、フィールドの更新された値と、キャンセルと OK の 2 つのボタンを表示するのに効率的だと思います (これは、常にコンテキストを使用して、フィールド値を適用するために write メソッドを呼び出します)。

于 2013-01-10T11:31:56.757 に答える