javascript - 修补 StockForecasted Javascript Odoo

标签 javascript odoo patch stock odoo-16

有人可以帮我如何在 Odoo16 中修补 StockForecasted 吗?

class StockForecasted extends Component{
    async _getReportValues(){
        ​   ​this.resModel = this.context.active_model || (this.context.params && this.context.params.active_model);
    ​   ​....
    ​}
}

我尝试了下面的代码,但没有成功

/** @odoo-module **/
import { patch } from '@web/core/utils/patch';
import { StockForecasted } from "@stock/stock_forecasted/stock_forecasted";
console.log(StockForecasted)
patch(StockForecasted.prototype, 'test_my_stock.StockForecasted', {
    async _getReportValues(){
        console.log('_getReportValuesInherit')
        this.resModel = this.context.active_model || (this.context.params && this.context.params.active_model);
        if (!this.resModel) {
            if (this.props.action.res_model) {
                const actionModel = await this.orm.read('ir.model', [Number(this.props.action.res_model)], ['model']);
                if (actionModel.length && actionModel[0].model) {
                    this.resModel = actionModel[0].model
                }
            } else if (this.props.action._originalAction) {
                const originalContextAction = JSON.parse(this.props.action._originalAction).context;
                if (originalContextAction) {
                    this.resModel = originalContextAction.active_model
                }
            }
        }

浏览器显示“未定义”。我认为这是因为这个类不是“导出”的。但我无法导出这个类。这是 Odoo 代码库。

最佳答案

发生这种情况是因为 Odoo 无法从 stock/stock_forecasted/stock_forecasted 导入它
您应该在控制台中看到以下错误:

TypeError: StockForecasted is undefined

如果您检查stock/static/src/stock_forecasted/stock_forecasted.js文件中,您会看到他们添加了 StockForecasted组件至actions注册表为 replenish_report

示例:

/** @odoo-module **/

import { patch } from '@web/core/utils/patch';
import { registry } from "@web/core/registry";
import "@stock/stock_forecasted/stock_forecasted";
const actionRegistry = registry.category("actions");

const StockForecasted = actionRegistry.get('replenish_report');

patch(StockForecasted.prototype, 'test_my_stock.StockForecasted', {
    async _getReportValues(){
        console.log('_getReportValuesInherit')
        await this._super(...arguments);
    }
});

关于javascript - 修补 StockForecasted Javascript Odoo,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/76791546/

相关文章:

oracle - 如何检查Oracle补丁是否安装?

javascript - 使用 CSS 将阴影应用于三 Angular 形 SVG

javascript - $rootScope 并不每次都更新

javascript - `delete` 在 JavaScript 中非常有用的一些用例是什么?

python - 如何在odoo中根据另一个Many2one字段的值过滤一个Many2one字段

python - 获取旋转面片(矩形)的坐标 matplotlib

javascript - 为什么我的 react 日期选择器在从 <Link> 显示时不会弹出?

javascript - 如何在保存模式下打开向导操作也隐藏编辑、创建、保存和丢弃按钮 Odoo 11

postgresql - Odoo (OpenERP8) 与 Postgre 的连接失败

git - libchromiumcontent创建补丁文件