POS导入会员卡余额 - xiaohao0576/odoo-doc GitHub Wiki

需求描述

从其它收银系统,导入会员信息,并且创建电子钱包,并导入余额

实现思路

  1. 使用Excel导入res.partner联系人,barcode是会员卡号,期初余额,先放到credit_limit字段,一起导入

  2. 需要在服务器动作中写代码,可以参考 https://github.com/odoo/odoo/blob/6f6aa962c36975f90a78b7fe4263f6e7ab171997/addons/loyalty/wizard/loyalty_generate_wizard.py#L87-L95

    def _get_coupon_values(self, partner):
        self.ensure_one()
        return {
            'program_id': self.program_id.id,  #这个可以写死成一个program ID
            'points': partner.credit_limit,
            'expiration_date': False,   #没有失效日期
            'partner_id': partner.id,
        }

    def generate_coupons(self):
        customers = wizard._get_partners() or range(wizard.coupon_qty)
        for partner in customers:
            coupon_create_vals.append(wizard._get_coupon_values(partner))
        coupons = self.env['loyalty.card'].create(coupon_create_vals)
        self.env['loyalty.history'].create([
            {
                'description': self.description or _("Gift For Customer"),
                'card_id': coupon.id,
                'issued': self.points_granted,
            } for coupon in coupons
        ])
        return coupons
  1. 导入后再清空credit_limit字段