2017-08-31 4 views
2

odoo Webクライアントでボタンのクリックからおよそ私は私が情報を必要のある学生のマークシートを作成したい

  1. 学生名をサーバーのアクションを呼び出す方法
  2. コース各ユニットの下にそのコース下ユニット
  3. シラバス
  4. シラバスは、それらの下、特定の基準
01を有しています

階層の説明: - 学生はコースに登録され、1コースは複数の単位を持ち、1単位は一定のシラバス(チャプターで分けられている)を持ち、各章には評価が行われる基準があります。 マークシートは、コースまたは単位のいずれかに基づいており、各基準ごとにスコアが与えられています。

このため、サーバーアクションでsqlを実行し、そのアクションをマークシート形式のボタンで呼び出すことで、この階層の単位、シラバスと基準をロードできるかどうかを考えていました。

サーバーアクションでログステートメントを書き込みましたが、<button type="action" name="%(action_name)d" string="log"/>を使用して呼び出しようとしましたが、何もしませんでした。

odooウェブクライアントでこれが良い方法ではない場合やそうでない場合に備えて、これを行うための代替案を提案してください。

ご協力いただきありがとうございます。

サーバーアクションThis is the server Action

私は、私の見解で<button type="action" name="%(getUnitsForCourse)d" string="log"/>としてそれを使用していますが、それはどちらも何をやっても、任意のエラーを与えています。私はActionボタンからそれを呼び出すとき、それは正しく実行されており、結果を記録しています。

+0

はあなたのサーバーのアクションを共有していただけますか? –

+1

@VikiChavadaさん、今質問を編集しました。サーバーアクションを確認できます –

答えて

2

type = "action"の代わりに、type = "object"をボタンに使用する必要があり、type = "object"を使用しているので、py関数を作成する必要があります。

たとえば、

XML

<button type="object" name="test_server_action" string="call Server Action"/> 

PY

@api.multi 
def test_server_action(self): 
    self.env.ref('external_id of server action').run() 
関連する問題