1

基本的にスケジューラーアクションのプレースホルダーであるOpenERP7.0用の新しいモジュールを作成しました。

これでメソッドを作成したとき:

def _method_name(self, cr, uid):

それはうまくいきました。しかし、私はそれにいくつかの追加の議論が必要です。私はこれを使用しました:

def _method_name(self, cr, uid, arg1, arg2, arg3, arg4):

これはうまくいくはずですよね?率直に言って、私にはわかりません。また、Openerpのスケジューラアクションの引数行に何を書くべきかわかりません。self、cr、uidも渡す必要がありますか?それとも私自身を渡すのに十分ですか?

4

1 に答える 1

3

self、cr、uidパラメータの説明:

self-これはPythonの概念であり、Pythonの「self」はインスタンス変数を指します。これは、現在のオブジェクトへの参照です。他の言語の「これ」に相当します。

cr-openerpの現在のデータベースカーソル。検索、書き込みなどの組み込みメソッドのopenerpで使用されます。スキーマで必要な組み込みメソッドにこのパラメーターを渡す必要があります。

uid-ログインしたユーザーID。ルールとアクセス権を管理するために必要です。

  • 自己が必要です

  • 通常の関数の場合、crとuidはオプションのパラメーターです。

  • ただし、ir.cronオブジェクトスキーマによると、スケジューラメソッドにcrパラメータとuidパラメータが必要です(バージョン6ではバージョン7は不明)

変数または位置引数またはキーワード引数を使用して、パラメーターを追加できます。

可能であれば、デフォルト値で変数を定義します。

例:

def run_scheduler(self, cr, uid, arg1=False, arg2=False, context=None, kargs*):
    #your code here

願わくば、それが役立つかもしれません。

于 2013-02-04T11:24:14.090 に答える