创建新的Odoo模块

时间:2019-03-14 11:22:35

标签: module odoo

我在Windows上使用odoo v12。 我已经按照HowTo中的步骤创建了一个模块Saadoodoo。我的问题是我无法使这个新模块出现在odoo模块列表中。

我正在使用以下命令

python.exe odoo-bin" -d SaadoIncLocal -i Saadoodoo --addons-path D:\PythonDev\Odoo

似乎odoo只是简单地忽略了命令并正常启动服务器,因为该模块未出现在应用程序列表中(即使在选择开发人员模式时也是如此)。

我认为问题可能出在插件路径上,所以我在默认odoo路径下将模块与C:\Program Files (x86)\Odoo 12.0\server\odoo\addons中的odoo模块一起添加,并在odoo界面上更新了应用程序,但问题仍然存在。启动和停止服务器也无济于事。

我在做什么错了?

关于, 艾哈迈德·萨达拉(Ahmed Saadalla)

9 个答案:

答案 0 :(得分:3)

addons_path中添加新模块后,您必须打开debug/developer模式,转到Apps > Update modules list,从搜索中删除Apps过滤器,然后搜索模块。

请不要忘记为__manifest__.py添加适当的数据,这对于odoo插件很重要。

如果仍然有问题,可以使用scaffold的{​​{1}}选项来创建空模块。

odoo-bin

这将在当前工作目录中创建一个包含所有必要骨架文件的空模块,您只需将其移至addons文件夹,相应地重命名变量和文件即可。

答案 1 :(得分:2)

尝试本指南, https://www.cybrosys.com/blog/how-to-create-module-in-odoo12

创建模块并不难,该指南将为您提供帮助

答案 2 :(得分:1)

有两个原因导致您看不到该模块:-

1。 您尚未更新数据库

两种更新数据库的方法:-

Terminal中的

1.1使用此命令来更新模块和数据库

./ odoo-bin -c debian / odoo.conf -d {NAME_OF_ODOO_DATABASE} -u {NAME_OF_THE_NEW_MODULE}

1.2。从前端

通过在开发者工具选项->激活开发者模式下转到设置->激活开发者模式

现在转到应用列表,然后选择选项更新应用列表。

2。 您尚未在debian / odoo.conf文件中配置插件路径

确保已在debian文件夹内的odoo.conf文件中添加了custom-addons文件夹的addons_path

enter image description here

答案 3 :(得分:0)

为什么不简单地使用这些命令

var map = [{
key: ['Package','201907'],
value: 4200000},
{
key: ['License','201907'],
value: 5000000}]


var myJSON = [{
  TimeCheck : '201908',
  service : null,
  TotalAmount : 0
},
{
  TimeCheck : '201907',
  service : 'License',
  TotalAmount : 5000000
},
{
  TimeCheck : '201908',
  service : 'License',
  TotalAmount : 5000000
},
{
  TimeCheck : '201908',
  service : 'Package',
  TotalAmount : 1200000
},
{
  TimeCheck : '201908',
  service : 'Package',
  TotalAmount : 3000000
}]

var labels = [], dataPackage = [], dataLisence = [];
var TotalAmountP = 0;
var TotalAmountL = 0;
var map = [{ key : ['Service','TimeCheck'], value : 0 }];

for (var i = 0; i < map.length; i++) {

    if (labels.indexOf(myJSON[i].TimeCheck.substr(0, 4) + '/' + myJSON[i].TimeCheck.substr(4, 2)) == -1) {
        labels.push(myJSON[i].TimeCheck.substr(0, 4) + '/' + myJSON[i].TimeCheck.substr(4, 2));
        map[i].key[1] = myJSON[i].TimeCheck.substr(0, 4) + '/' + myJSON[i].TimeCheck.substr(4, 2);
    }

    if (myJSON[i].service == "Package") {
        map[i].key[0] = myJSON[i].service;

        for (var j = 0; j < map.length; j++) {
            if (map[i].key[0] !== map[j].key[0] && map[i].key[1] !== map[j].key[1]) {
                map[i].key[0] = myJSON[i].service;
                map[i].value = myJSON[i].TotalAmount;
            } else {
                var newValue = map[j].value + myJSON[i].TotalAmount
                map[j].value = newValue;
            }
        }
    }

    else if (myJSON[i].service == "License") {

        map[i].key[0] = myJSON[i].service;

        for (var j = 0; j < map.length; j++) {
            if (map[i].key[0] !== map[j].key[0] && map[i].key[1] !== map[j].key[1]) {
                map[i].key[0] = myJSON[i].service;
                map[i].value = myJSON[i].TotalAmount;
            } else {
                var newValue = map[j].value + myJSON[i].TotalAmount
                map[j].value = newValue;
            }
        }
    }
}
console.log(map);

答案 4 :(得分:0)

使用此命令在odoo中创建模块。

odoo-bin支架mynewmodule插件

指令命令module-name modulepath

答案 5 :(得分:0)

哦,一旦您的模块准备就绪,请转到Windows中的Odoo目录,导航至自定义插件,您将看到所有可用模块的列表。在其中粘贴新模块。现在,再次打开Odoo,转到Apps,然后更新模块列表。然后在应用列表中搜索您的应用。确保开发人员模式已激活

答案 6 :(得分:0)

您是否在“应用程序”菜单中单击更新应用程序列表? 这是Odoo 11的屏幕截图,应在Odoo 12中应用,但位置可能不同。

enter image description here

答案 7 :(得分:0)

  • 转到您的odoo-version文件夹(例如:cd /home-path/odoo-09.0/10.0/11.0/12.0/13.0),其中放置了odoo-bin文件(直到odoo-10.0,该文件为 openerp-server ,但在更高版本中,文件为 odoo-bin
  • 运行命令./odoo-bin scaffold yourModuleName destinationDirectory(odoo_version> = 10)
  • 运行命令./openerp-server scaffold your_module_name destinationDirectory(odoo_version <10)

请使用配置文件运行odoo(这很容易,没有任何错误)

运行以下命令:python3 odoo-bin --save --config odoo.cfg --stop-after-init

这将保存odoo.cfg文件,将其打开,并在配置文件顶部定义的addons_path变量中添加您的自定义模块路径

答案 8 :(得分:0)

使用模式调试,转到您的应用,单击更新应用列表