0

たとえば、アイテムの数を数えて表示purchase.order.lineし、integerタイプフィールドに表示する必要があります。

たとえば、purchase.order13 個のアイテムまたは製品を追加します。purchase.order.lineこのフィールドは、この購入のアイテムの数量以外に保存してから表示します。

私はstackexchangeとopenerpの本を見てきましたが、そのような関数の例を見つけることができませんでした.

モジュールまたは既存の関数を探す必要がありますか?

前もって感謝します

4

1 に答える 1

1

あなたが何を求めているのか完全にはわかりません。13 行の発注書がある場合、13 行の数量フィールドの合計を発注書のフィールドに表示する必要があるということですか?

その場合は、 purchase.order モデルを拡張し、注文明細を反復処理して数量を合計する機能フィールドを追加する必要があります。

あなたの列は次のようになります。

'total_quantity': fields.function(_get_total_quantity, type='float', method = True, string = 'Total Quantity', readonly = True),

あなたの方法は次のようになります:

def _get_total_quantity(self, cr, uid, ids, field, args, context = None):
    res = {}
    for po in self.browse(cr, uid, ids, context = context):
        res[po.id] = sum([x.quantity for x in po.order_line])

    return res

注文書ラインの one2many on purchase.order の名前が「order_line」であることを確認してください。私は記憶からこれを行っていますが、列名を思い出せません。

于 2013-07-14T09:37:18.993 に答える