0

独自のモジュールで同様の機能を実現したいと考えています。ページの下部だけでなく、メッセージモジュールで動的に生成されるレコードを作成するとき。

販売モジュールには同様の機能があることがわかりましたが、購入モジュールには機能がなく、調査でも原則が見つかりませんでした。mail.thread を継承しても機能しません。

関連する *.py コード:

class jp_stock_picking(osv.osv):
   _name = "jp.stock.picking"
   _inherit = ['mail.thread', 'ir.needaction_mixin']
   _description = "Picking List"

   _track = {
    'state': {
        'stock_jiup.mt_wait_prove': lambda self, cr, uid, obj, ctx=None: obj['state'] in ['wait_prove','overrule','wait_check','checked','cancel']
    },
}
def get_employee(self, cr, uid, context={}):
    obj = self.pool.get('hr.employee')
    ids = obj.search(cr, uid, [('user_id','=',uid)])
    res = obj.read(cr, uid, ids, ['id','name'], context)
    return res and res[0]['id'] or 0

_columns = {
    'name': fields.char('Reference',size=20),
    'document_id': fields.char('Document Number',size=16, required=True),
    'supplier_id': fields.many2one('res.partner', 'Supplier', required=True),
    'create_time': fields.datetime('Create Time', required=True),
    'operator': fields.many2one('hr.employee', 'Operator Perosn', required=True),
    'origin': fields.char('Come From',size=50, required=True),
    'state': fields.selection([('draft', 'New'),
       ('wait_handle','Wait Handle'),
       ('wait_prove', 'Wait Prove'),
       ('overrule', 'Overrule'),
       ('wait_check', 'Wait Quality Checking'),
       ('checked', 'Quality Checked'),
       ('cancel', 'Cancel'),
        ], 'Status', readonly=True, select=True, track_visibility='always'
    ),
    'move_lines': fields.one2many('jp.stock.move', 'jp_picking_id', 'Internal Moves', readonly=True, states={'draft': [('readonly', False)],'wait_handle':[('readonly', False)],'overrule':[('readonly', False)]}),
    'remark': fields.text('Remark')
}

これは関連する *_data.xml コードです:

<record id="mt_wait_prove" model="mail.message.subtype">
        <field name="name">Picking Prove</field>
        <field name="res_model">jp.stock.picking</field>
        <field name="default" eval="False"/>
        <field name="description">Picking Prove</field>
</record>
4

1 に答える 1

0

継承する

_inherit = ['mail.thread', 'ir.needaction_mixin']

メッセージを生成するフィールドに track_visibility='always' を追加します

_columns = {
    'tot_usr_fee': fields.float('Total User Fees', track_visibility='always'),
}

次に、ビューファイルに追加します

    <record id="mt_shipment_statement_invoice" model="mail.message.subtype">
        <field name="name">Custom Statement Invoice Generated</field>
        <field name="res_model">shipment.statements</field>
        <field name="default" eval="False"/>
        <field name="description">Invoice Generated</field>
    </record>
    <record id="mt_shipment_statement_confirmed" model="mail.message.subtype">
        <field name="name">Custom Statement Confirmed</field>
        <field name="res_model">shipment.statements</field>
        <field name="default" eval="False"/>
        <field name="description">Invoice confirmed</field>
    </record>
于 2014-02-20T06:34:15.903 に答える