仅为所选合作伙伴打印报告
Print report only for selected partner
有合作伙伴分类帐报告,但它只为所有合作伙伴打印。所以我在向导和向导视图中添加了合作伙伴 ID。
现在我需要一种只为选定合作伙伴打印报告的方法。我希望你们能给我思想的食物。也许一些伪代码我应该如何实现它。
class AccountPartnerLedger(models.TransientModel):
_inherit = "account.report.partner.ledger"
partner_ids = fields.Many2many(
'res.partner', string='Choose partners')
我正在尝试按调用报告的域方法进行过滤
class ReportPartnerLedger(models.AbstractModel):
_inherit = 'report.account_extra_reports.report_partnerledger'
@api.multi
def render_html(self, data):
domain = [
('partner_ids', '==', 'partner_ids'),
]
return super(ReportPartnerLedger, self).render_html(data=data)
一般来说,如果您想在合作伙伴分类帐中进行过滤,那么您需要覆盖所有合作伙伴设置的一种方法。
为此你可以参考
account => report => report_partner_ledger.py
在该文件中有一种方法
def set_context(self, objects, data, ids, report_type=None):
您需要覆盖它并需要更新一行,这将获取所有合作伙伴,而不是您需要在此处传递您的字段值。
self.cr.execute(
"SELECT DISTINCT l.partner_id " \
"FROM account_move_line AS l, account_account AS account, " \
" account_move AS am " \
"WHERE l.partner_id IS NOT NULL " \
"AND l.account_id = account.id " \
"AND am.id = l.move_id " \
"AND am.state IN %s"
"AND " + self.query +" " \
"AND l.account_id IN %s " \
" " + PARTNER_REQUEST + " " \
"AND account.active " + reconcile + " ", params)
self.partner_ids = [res['partner_id'] for res in self.cr.dictfetchall()]
odoo 通过这种方式获取所有合作伙伴的合作伙伴分类帐报告,因此只需注释掉这些行并替换您的代码。
For that you must need to inherit the wizard because in that
partner_ids field is there in that you need to replace that value.
有合作伙伴分类帐报告,但它只为所有合作伙伴打印。所以我在向导和向导视图中添加了合作伙伴 ID。 现在我需要一种只为选定合作伙伴打印报告的方法。我希望你们能给我思想的食物。也许一些伪代码我应该如何实现它。
class AccountPartnerLedger(models.TransientModel):
_inherit = "account.report.partner.ledger"
partner_ids = fields.Many2many(
'res.partner', string='Choose partners')
我正在尝试按调用报告的域方法进行过滤
class ReportPartnerLedger(models.AbstractModel):
_inherit = 'report.account_extra_reports.report_partnerledger'
@api.multi
def render_html(self, data):
domain = [
('partner_ids', '==', 'partner_ids'),
]
return super(ReportPartnerLedger, self).render_html(data=data)
一般来说,如果您想在合作伙伴分类帐中进行过滤,那么您需要覆盖所有合作伙伴设置的一种方法。
为此你可以参考
account => report => report_partner_ledger.py
在该文件中有一种方法
def set_context(self, objects, data, ids, report_type=None):
您需要覆盖它并需要更新一行,这将获取所有合作伙伴,而不是您需要在此处传递您的字段值。
self.cr.execute(
"SELECT DISTINCT l.partner_id " \
"FROM account_move_line AS l, account_account AS account, " \
" account_move AS am " \
"WHERE l.partner_id IS NOT NULL " \
"AND l.account_id = account.id " \
"AND am.id = l.move_id " \
"AND am.state IN %s"
"AND " + self.query +" " \
"AND l.account_id IN %s " \
" " + PARTNER_REQUEST + " " \
"AND account.active " + reconcile + " ", params)
self.partner_ids = [res['partner_id'] for res in self.cr.dictfetchall()]
odoo 通过这种方式获取所有合作伙伴的合作伙伴分类帐报告,因此只需注释掉这些行并替换您的代码。
For that you must need to inherit the wizard because in that partner_ids field is there in that you need to replace that value.