首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

从JS (Odoo)使用自己的按钮添加记录吗?

从JS (Odoo)使用自己的按钮添加记录是可以的。Odoo是一个开源的企业资源规划(ERP)系统,它提供了一套完整的应用程序来管理企业的不同方面,包括销售、采购、库存、人力资源等。通过使用Odoo的JS框架,你可以轻松地定制和扩展系统的功能。

要使用自己的按钮添加记录,你可以按照以下步骤操作:

  1. 首先,创建一个按钮:你可以在Odoo的前端视图文件中添加一个按钮组件,并为其定义一个点击事件。例如:
代码语言:txt
复制
<button class="oe_button" type="button" name="add_record" string="Add Record" onclick="addRecord()"/>
  1. 在JS文件中定义点击事件的处理函数:你需要在Odoo的前端模块的JS文件中定义处理点击事件的函数。在该函数中,你可以使用Odoo的RPC机制通过发送请求到后端来添加记录。例如:
代码语言:txt
复制
function addRecord() {
    var model = 'your.model'; // 替换为你要添加记录的模型
    var params = {
        'fields': {
            'field1': value1, // 替换为要设置的字段和值
            'field2': value2
        }
    };
    var context = {};
    
    // 使用Odoo的rpc方法发送请求
    openerp.jsonRpc("/web/dataset/call_kw", 'call', {
        model: model,
        method: 'create',
        args: [params],
        kwargs: {context: context}
    }).done(function(result) {
        // 添加记录成功后的处理逻辑
        console.log('Record added successfully!');
    }).fail(function(error) {
        // 添加记录失败后的处理逻辑
        console.error('Failed to add record:', error);
    });
}

在这个处理函数中,你需要替换model变量为你要添加记录的模型,fields变量为要设置的字段和对应的值。

  1. 更新模块:最后,你需要重新加载或更新你的Odoo模块,以使按钮和事件生效。你可以通过刷新页面或使用Odoo的模块管理界面来完成这一步。

通过以上步骤,你可以在Odoo的前端界面中使用自己的按钮来添加记录。你可以根据具体需求自定义按钮的样式和功能,以及添加更多的字段和逻辑。

腾讯云相关产品和产品介绍链接地址:由于要求答案中不能提及特定品牌商,所以无法提供腾讯云相关产品和产品介绍链接地址。但腾讯云提供了一系列的云计算服务,包括云服务器、云数据库、云存储等,你可以访问腾讯云的官方网站获取更多信息。

相关搜索:如何使用ODOO 12在看板视图的标题上添加按钮和字段?为odoo 13中的表单添加上下文。使用js可以从通过按钮添加的输入字段中获取值吗?您可以使用自己的按钮创建自定义GTK助手吗?使用与从其他文本框中删除记录相同的按钮将记录添加到文本框中使用JS在动态生成的Table中添加按钮我可以从我自己的服务器安装Node.js模块吗?Video.JS:如何在视频容器中间添加自己的自定义播放和暂停按钮?使用express js中的sequelize,如何从关联表中返回多条记录使用标准输入从FORTRAN66中的文件读取记录,添加额外的垃圾文件需要向html表添加一个删除按钮,以便从数据库中删除带有消息的记录Swift添加一个按钮,用于从使用foreach循环的列表中删除行尝试使用PHP循环HTML按钮,并使用querySelector在JS中添加EventListener,但只有第一次迭代的按钮被选中如何使用node.js中的mongoose模块从mongo db中获取一条记录添加到购物车-对于Shopify / Liquid上的每个变体,从使用添加到购物车按钮选择下拉变量更改为单个添加到购物车按钮JS:我可以在不使用抛出的情况下提前从嵌套函数返回吗如何使用Vue.Js从数组中删除上传的多个图像,以及应该从UI中删除该图像吗?使用JS从另一个HTML文件添加的HTML可以正确显示,但JS函数不起作用您可以从Vue JS中的按钮单击调用计算属性,还是应该始终使用方法?当没有从我的表中选择记录时,我如何在按钮上放置一个模式。我正在使用bootstrap 4
相关搜索:
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

odoo wizard界面显示带复选框列表及勾选数据获取

实践环境 Odoo 14.0-20221212 (Community Edition) 需求描述 如下图(非实际项目界面截图,仅用于介绍本文主题),打开记录详情页(form视图),点击某个按钮(图中的"...选取ffers"按钮),弹出一个向导(wizard)界面,并将详情页中内联tree视图("Offers" Tab页)的列表记录展示到向导界面,且要支持复选框,用于选取目标记录,然执行目标操作。...TransientModel类扩展Model并重用其所有现有机制,具有以下特殊性: wizard记录不是永久的;它们在一定时间后自动从数据库中删除。...#因为使用了@api.model修饰符,self为空记录集,所以不能通过self.fieldName = value 的方式赋值''' res = super(DemoWizard,...,供web端使用,用于区分不同页面操作的数据,'estate.property.offer_3'为供web端使用的记录ID,'data'键值代表记录的数据,其id键值代表记录在数据库中的主键id,context

5.3K60
  • odoo 权限管理学习总结

    (2, ID, values) 使用values字典中的值更新id值=ID的现有记录 (2, ID) 删除id=ID这条记录(调用unlink方法,删除数据及整个主从数据链接关系) (3, ID) 删除主从数据的链接关系但是不删除这个记录...(4, ID) 为id=ID的数据添加主从链接关系 (5) 去除所有的链接关系,也就是循环所有的从数据且调用(3,ID) (6, 0, [IDs]) 用IDs中的记录替换原来链接的记录(相当于先执行...--仅显示用户自己创建的记录--> 使用以下变量的python表达式: time Python的 time 模块 user 以单例记录集(singleton recordset)表示的当前用户...如果当前用户不在列出的组中,他将无权访问该字段: 将自动从请求的视图中删除受限制的字段 从fields_get()响应中删除受限制的字段 尝试(显式的)读取或写入受限字段会导致访问错误 修改estate

    10.2K20

    在Ubuntu 16.04上安装Odoo 10

    在此示例中,我们将使用Odoo的默认端口8069,但这可能是您稍后在配置文件中指定的任何端口。如果您计划运行任何其他服务,也可以在此处添加其端口。...您选择的选项取决于您的特定需求: 要同时使用日志和单独的Odoo日志文件,请创建相应的目录: sudo mkdir /var/log/odoo 要仅使用journald用于日志记录,您不需要创建任何目录...通过Node.js和npm安装更少的CSS 从nodesource 下载并运行nodejs安装脚本: sudo curl -sL https://deb.nodesource.com/setup_4.x...如果您使用自定义模块,请添加替换您自己的路径。...包括日志文件的路径,并添加一个新行:logfile = /var/log/odoo/odoo-server.log。如果您打算仅使用journald用于记录,则可以跳过此行。

    3.4K42

    odoo 开发入门教程系列-约束(Constraints)

    约束(Constraints) 上一章介绍了向模型中添加一些业务逻辑的能力。我们现在可以将按钮链接到业务代码,但如何防止用户输入错误的数据?..., ] 练习--添加SQL约束 添加以下约束到对应模型: 房产预期价格必须为正数 房产售价必须为正数 报价必须为正数 房产标签名称和类型名称必须唯一 使用-u estate选项重新启动服务器以查看结果...Python约束定义为用 constrains()修饰的方法,并在记录集上调用。修饰符指定约束中涉及哪些字段。当修改这些字段中的任何字段时,将自动计算约束。...Python约束 添加售价不能低于预期价格90%的约束 提示: 报价生效前,保持售价为0。...警告 当和浮点数打交道时,总是使用从 odoo.tools.float_utils导入的float_compare() 和float_is_zero()方法 确保每次售价或者预期价格改变时,自动触发约束

    1.5K20

    odoo 开发入门教程系列-模块交互

    模块交互 在上一章中,我们使用继承来修改模块的行为。在我们的房地产场景中,我们希望更进一步,能够为客户生成发票。...Odoo提供了一个开发票模块,因此直接从我们的房地产模块创建发票是很简单的,也就是说,一旦某个房产设置为“已售出”,就会在Invoicing应用程序中创建发票 一个具体示例: 记账凭证(Account...我们希望为estate.property模型添加功能,即我们希望在出售房产时添加一些额外的逻辑。 第一步,我们需要扩点击“Sold”按钮时调用的操作。...例如,销售的一个基本流程是从销售订单创建发票。这看起来是一个很好的起点,因为它正是我们想要做的。花一些时间思考和理解创建发票方法。...练习--添加发票创建第二步 重写action_sold,并创建一个空的 account.move : 从当前的estate.property获取 partner_id move_type 应该和Customer

    1.7K10

    odoo 开发入门教程系列-基本视图

    表单用于创建和编辑单条件记录,其根元素为 ,由高层框架元素(group和notebook)和交互元素 (按钮和字段): ...筛选器必须具有以下属性之一: domain:将给定domain添加到当前搜索 dontext:添加一些context到当前搜索,使用group_by按给定字段名称对结果分组。...在odoo中,domain对记录上的条件进行编码:domain是用于选择模型记录子集的条件列表。每个条件都是一个包含字段名、运算符和值的三元组。...如果指定字段满足作用于值的运算符的条件,则记录满足条件。...=','en_US'), ('country_id.code','in', ['be', 'de'])] 波兰表示法简介 Odoo是使用了波兰表示法,简单来说,波兰表示法是一种操作符置于操作数前,并且不需要括号仍然能无歧义地解析表达的方法

    3.4K40

    odoo 开发入门教程系列-一些用户界面

    上一章,我们通过CSV文件添加了数据。当需要添加数据格式简单时,用CSV格式还是很方便的,当数据格式更复杂时(比如视图架构或者一个邮件模板),我们使用XML格式。...比如包含HTML tags的 help field。虽然可以通过CSV文件加载这样的数据,但是使用XML更方便。...odoo中,用户接口(action,菜单和视图)大部分是通过创建和组装XML文件中的记录来定义的。常见的模式为 菜单> action > 视图。为了访问记录,用户在几个菜单级中导航。...动作可以通过三种方式触发 : 点击菜单项目(链接接到指定动作) 点击视图按钮(如果与action关联) 对象的上下文action 本章仅涵盖第一种情况。...,直接从action获取,即为action属性值 练习 添加菜单 在合适的目录(本例中为odoo14/custom/estate/models/views)创建 estate_menus.xml 文件

    3K30

    轻松部署Odoo软件

    用户可以直接从模块库中选择安装适用模块,或进行模块卸载,升级的管理操作。 [yppp9esz89.png] 改进 本文档会持续改进,广泛吸收用户的需求。...社区版初始化页面] 填写好所有参数,点击【create database】按钮,开始初始化安装。...官方并没有提供 Demo data 的删除工具,建议直接删除数据库,然后再新增(此时不再勾选 Demo data) FAQ Odoo支持多语言吗?...此功能只能在开发者模式下使用,请确保你的 Odoo 控制台是否已经切换成开发者管理模式 如何删除 Odoo 演示数据?...Odoo爱好者博客:https://alanhou.org/category/odoo/ 贵司提供的企业版镜像包含授权吗? 不包含授权,用户需要向Odoo官方订阅授权。

    5.1K00

    如何在 Ububtu 18.04 上安装 Odoo 13

    在这个指南中,我们将会在 Ubuntu 18.04 上一个 Python 虚拟环境中安装和部署 Odoo 13.我们将会从它们的 Github 软件源中下载 Odoo,并且使用 Nginx 作为反向代理服务器...一、安装前提条件 以 sudo 用户身份登录系统,并且升级 APT 缓存: sudo apt update 安装 Git,Pip,Node.js 以及所有构建 Odoo 依赖需要用到的工具: sudo.../wkhtmltox_0.12.5-1.bionic_amd64.deb 五、安装和配置 Odoo 13 就像以前提到的,我们将会在一个隔离的 Python 虚拟环境中从源码安装 Odoo。...mkdir /opt/odoo13/odoo-custom-addons 稍后,我们将会将该目录添加到addons_path参数中。这个参数定义了 Odoo 用来搜索模块的一个列表。...less text/plain text/xml application/xml application/json application/javascript; gzip on; } 不要忘记使用你自己的

    8.8K41

    快速部署Odoo,开启高效企业管理

    凭借着这些高效实用的功能,Odoo拥有了超过730个合作伙伴和200万用户。Odoo非常成功,可谓是功能非常强大的企业应用了,用户可以直接从模块库中选择安装适用模块,或进行模块卸载,升级的管理操作。...今天,小九就带大家快速学会Odoo的初始化安装方法,快速部署Odoo,开启高效企业管理。 初始化安装 常规的安装,需要经过前期下载等复杂的步骤。这里我们介绍的是镜像一键部署的安装方法。...这个方法比较简单,不容易出现错误影响后续的安装和使用,因此,门槛较低,对小白也更友好。 在云服务器部署Odoo镜像,按自己的需求选择设置。并检查: 在云控制台获取您的 服务器公网IP地址。...填写好所有参数,点击【create database】按钮,开始初始化安装。...选项 需要了解更多Odoo的使用,请参考官方文档:Odoo Documentation(opens new window) 如果你还有其他疑问,可以留言或者私信小九,一起交流!

    2.4K10

    ODOO优化层级关系查询效率的方法

    《Odoo10 Development Essentials》Chapter5(p106)中介绍了Odoo中分层关系的建立。 代码如下 在上面的代码中。 使用字段来关联上层记录。...使用这个属性来开启分层搜索功能. 使用和字段来进行记录所属层级,当时看书的时候对这些代码不是很理解,只是知道这样做能够提高层级关系数据模型查询数据记录的效率。...简单原理 查询分层结构记录时,一般的想到的方法是从根目录开始,对每个子目录进行递归查询.然后才能得出具体的分层结构。...(如递归查询文件夹文件) Odoo中为了提高层次结构(树状结构)查询效率,每一条层级数据记录添加跟字段. 假设A是B的上级对象。那么存在这样的逻辑关系。...要找Saleable下的所有子目录即可使用 作为条件 结论: 在Odoo的实际使用中,发现使用parent存储特性的模块主要涉及account, product, stock_location.

    2.3K80

    odoo ORM API学习总结兼orm学习教程

    取决于字段属性,添加一个默认的公司domain class odoo.fields.One2many[源代码] One2many字段的值为 comodel_name中所有满足条件的记录的结果集,而目标模型中的...(2, id, 0) 从记录集中删除id为指定id的记录,然后(从数据库中)删除它 不能在 create()中使用。 (3, id, 0) 从记录集中删除id为指定id的记录,但不删除它。...不能在 create()中使用。 (4, id, 0) 添加一条id为指定id的已存在记录到记录集 (5, 0, 0) 从结果集移除所有记录, 等价于显示的对每条记录使用命令3。...and extension) Odoo提供三种不同的机制,以模块化方式扩展模型: 从现有模型创建新模型,向副本中添加新信息,但保留原始模块 扩展其他模块中定义的模型,替换以前的版本 将模型的一些字段委派给它包含的记录...# (2, id, 0) # 从记录集中删除id为id的记录,然后(从数据库中)删除它,不能在create()中使用 >>> self.env['estate.property'].browse([2

    13.5K10

    odoo 开发入门教程系列-计算的字段和变更(Computed Fields And Onchanges)

    自然地我们将总面积定义这两者的总和,我们将为此使用计算的字段的概念,即给定字段的值将从其他字段的值中计算出来。 到目前为止,字段已直接存储在数据库中并直接从数据库中检索。字段也可以被计算。...依赖(Dependencies) 计算的字段的值通常取决于计算记录中其他字段的值。ORM期望开发人员使用修饰符depends()指定计算方法上的依赖项。...在self 上迭代,会一个接一个的生成记录,其中每个记录本身是长度为1的集合。可以使用.(比如 record.name)访问单条记录的字段或者给字段赋值。...提示: create_date 仅在记录创建时被填充,因此需要一个回退,防止创建时的奔溃 在表单和列表视图中添加字段,正如本章目标中显示的第二个动画中的一样。...始终首选computed field,因为它们也是在表单视图上下文之外触发的。永远不要使用onchange将业务逻辑添加到模型中。

    3.2K30
    领券