微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在会计odoo中过滤总帐报告中的日记帐项目

如何解决在会计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 举报,一经查实,本站将立刻删除。