Как можно перенаправить на учетную панель, когда я заканчиваю sh импорт выписки? - PullRequest
0 голосов
/ 01 апреля 2020

В модуле учета odoo есть возможность импортировать банковские выписки. Когда импорт завершен, он автоматически перенаправляет вас в представление выверки, но я хочу перенаправить его на панель учета.

Глядя, я обнаружил, что перенаправление выполняется с помощью этого JavaScript кода:

enterprise-13.0 / account_bank_statement_import_csv / static / src / js / import_bank_stmt. js: 58

exit: function () {
    this.do_action({
        name: _t("Reconciliation on Bank Statements"),
        context: {
            'statement_line_ids': this.statement_line_ids
        },
        type: 'ir.actions.client',
        tag: 'bank_statement_reconciliation_view'
    });
},

Я пытался изменить код для перенаправления на панель учета, но мне не удалось .

    exit: function () {
        var self = this;
        console.log("JavaScript redirection after importing");

        // var model_obj = new instance.web.Model('ir.model.data');
        // var view_id = false;
        // model_obj.call('get_object_reference', ['ir.ui.view', 'account.account_journal_dashboard_kanban_view']).then(function (result) {
        //     view_id = result[1];
        // });
        // console.log('view_id');
        // console.log(view_id);

        // this._rpc({
        //     model: 'account.move',
        //     method: 'redirect_return', // Python code that returns the data of the view action.
        // }).then(function (result) {
        //     self.do_action(result);
        // });

        this.do_action({
            name: _t("Reconciliation on Bank Statements"),
            context: {
                'statement_line_ids': this.statement_line_ids
            },
            type: 'ir.actions.client',
            tag: 'bank_statement_reconciliation_view'
        });
    },

Ваша помощь, пожалуйста.

1 Ответ

1 голос
/ 01 апреля 2020

Вы можете использовать this._rpc, чтобы получить идентификатор представления, затем вызвать do_action для перенаправления.

self._rpc({
    model: "ir.model.data",
    method: 'get_object_reference',
    args: ['account', 'view_account_invoice_report_graph']
}).then(function (result) {
    self.do_action({
        name: _t('Invoices Analysis'),
        type: 'ir.actions.act_window',
        res_model: 'account.invoice.report',
        views: [[result[1], 'graph']],
        view_mode: 'graph',
    });
});  

Вы также можете использовать внешний идентификатор действия для чтения данных действия

self._rpc({
    model: "ir.model.data",
    method: 'get_object_reference',
    args: ['account', 'action_account_invoice_report_all']
}).then(function (result) {
    self._rpc({
        model: "ir.actions.act_window",
        method: 'read',
        args: [[result[1]]]
    }).then(function (actions){
        self.do_action(actions[0]);
    });
});
...