0

OpenERP 用の Android アプリを作成しており、新しいセールス オーダーを作成しようとしています。ただし、必須フィールドの 1 つは Order Reference です。これは通常、シーケンスから生成されます。

xmlrpc 経由でこのシーケンスを取得する方法はありますか?

または、アプリで独自のシーケンスを作成する必要がありますか? ...しかし、Web クライアント経由で生成された注文参照と競合しないようにするにはどうすればよいでしょうか?

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

4

1 に答える 1

2

特別なことは何もする必要はありません。セールス オーダーの内容でsale.orderのメソッドを呼び出すだけです。createWeb インターフェイスを使用してセールス オーダーを作成するときに気づいたように、参照フィールドには適切なシーケンス番号が自動的に入力されます。

これは、 が参照フィールド (技術的にはのフィールド)sale.orderにデフォルト値を持っているために発生します。デフォルト値は次のように機能します。sale.ordername

その結果、何もする必要はありません。フィールドにcreate値を指定せずに呼び出すnameだけで、UI の場合と同様に、システムがその値を有効なシーケンス番号に自動的に設定します。または、デフォルト値を前処理したり、UI の動作を正確に模倣したい場合は、default_getXML-RPC 経由で自分自身を呼び出し、返された値を使用して に渡すパラメータを準備する必要がありますcreate

バージョンに関する注意: OpenERP の特定のバージョンについては触れていません。実際の動作は、バージョンによって少し異なる場合があります。ソースsale.orderでわかるように、OpenERP 6.1 では、モデルはまさに私が上で説明したことを行いました。ただし、OpenERP 7.0 では、(ユーザーが保存する前にキャンセルした場合) 使用されない可能性のあるシーケンス番号を消費しないように、ロジックがわずかに変更されました。ソースでわかるように、新しい番号。正味の効果は同じです。default_getname'/'create

于 2013-03-22T08:36:15.843 に答える