如何解决在会计odoo中过滤总帐报告中的日记帐项目
所有银行帐户及其日记帐项目均显示在总帐中。我在日记帐项目中有branch_id字段,当前登录用户也有branch_id字段。我只想显示其branch_id与当前用户的branch_id相同的日记项目。如何过滤日记帐项目并在总帐报表中重新计算其借项,贷方和余额?
@api.model
def _get_report_line_move_line(self,options,partner,aml,cumulated_init_balance,cumulated_balance):
if aml['payment_id']:
caret_type = 'account.payment'
elif aml['move_type'] in ('in_refund','in_invoice','in_receipt'):
caret_type = 'account.invoice.in'
elif aml['move_type'] in ('out_refund','out_invoice','out_receipt'):
caret_type = 'account.invoice.out'
else:
caret_type = 'account.move'
date_maturity = aml['date_maturity'] and format_date(self.env,fields.Date.from_string(aml['date_maturity']))
columns = [
{'name': aml['journal_code']},{'name': aml['account_code']},{'name': self._format_aml_name(aml['name'],aml['ref'],aml['move_name'])},{'name': date_maturity or '','class': 'date'},{'name': aml['full_rec_name'] or ''},{'name': self.format_value(cumulated_init_balance),'class': 'number'},{'name': self.format_value(aml['debit'],blank_if_zero=True),{'name': self.format_value(aml['credit'],]
if self.user_has_groups('base.group_multi_currency'):
if aml['currency_id']:
currency = self.env['res.currency'].browse(aml['currency_id'])
formatted_amount = self.format_value(aml['amount_currency'],currency=currency,blank_if_zero=True)
columns.append({'name': formatted_amount,'class': 'number'})
else:
columns.append({'name': ''})
columns.append({'name': self.format_value(cumulated_balance),'class': 'number'})
return {
'id': aml['id'],'parent_id': 'partner_%s' % partner.id,'name': format_date(self.env,aml['date']),'class': 'date','columns': columns,'caret_options': caret_type,'level': 4,}
解决方法
尝试更改General Ledger操作域。
您可以定义一个获取原始操作定义的服务器操作,并在返回结果之前更改域,然后将其与General Ledger
下的Accounting/Ledgers
菜单项相关联。
示例:
<record model="ir.actions.server" id="action_account_moves_ledger_general">
<field name="name">General Ledger</field>
<field name="model_id" ref="account.model_account_move_line"/>
<field name="state">code</field>
<field name="code">
action = env.ref('account.action_account_moves_ledger_general').read()[0]
action['domain'] = "[('display_type','not in',('line_section','line_note')),('branch_id','=',{})]".format( env.user.branch_id.id)
</field>
</record>
<record model="ir.ui.menu" id="account.menu_action_account_moves_ledger_general">
<field name="action" ref="action_account_moves_ledger_general"/>
</record>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。