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

如何获取q-web报告odoo 12中键以外的选择字段的值?

在Odoo 12中,要获取q-web报告中键以外的选择字段的值,可以通过以下步骤实现:

  1. 首先,确定你想要获取值的选择字段的名称。选择字段是在模型中定义的字段,它提供了一组预定义的选项供用户选择。
  2. 打开Odoo 12的开发环境,进入你正在开发的模块的目录。
  3. 在你的模块中,找到包含q-web报告的文件夹。通常,这个文件夹的路径是/addons/your_module_name/report
  4. 在报告文件夹中,找到你想要修改的q-web报告的文件。通常,这个文件的扩展名是.xml
  5. 打开这个q-web报告文件,找到你想要获取值的选择字段所在的位置。
  6. 在该位置,使用Odoo的模板语言(QWeb)来获取选择字段的值。你可以使用t-foreach指令来遍历报告中的记录,并使用t-field指令来获取字段的值。
  7. 例如,假设你想要获取名为status的选择字段的值,你可以在报告中使用以下代码:
  8. 例如,假设你想要获取名为status的选择字段的值,你可以在报告中使用以下代码:
  9. 这将在报告中显示status字段的值。
  10. 保存并关闭报告文件。
  11. 在你的模块中,创建一个新的.py文件,用于注册你的报告。
  12. 在这个.py文件中,导入report模块,并注册你的报告。确保在注册过程中指定正确的报告文件路径。
  13. 例如,假设你的报告文件名为report_invoice.xml,路径为/addons/your_module_name/report,你可以使用以下代码注册报告:
  14. 例如,假设你的报告文件名为report_invoice.xml,路径为/addons/your_module_name/report,你可以使用以下代码注册报告:
  15. 保存并关闭.py文件。
  16. 在你的模块中,创建一个新的.xml文件,用于定义报告的菜单项。
  17. 在这个.xml文件中,使用Odoo的菜单语言来定义报告的菜单项。确保在菜单项中指定正确的报告模型和报告名称。
  18. 例如,假设你的报告模型为your.model,报告名称为report_invoice,你可以使用以下代码定义报告的菜单项:
  19. 例如,假设你的报告模型为your.model,报告名称为report_invoice,你可以使用以下代码定义报告的菜单项:
  20. 保存并关闭.xml文件。
  21. 在你的模块中,创建一个新的.csv文件,用于定义报告的菜单项的权限。
  22. 在这个.csv文件中,使用Odoo的权限语言来定义报告的菜单项的权限。确保在权限定义中指定正确的报告模型和报告名称。
  23. 例如,假设你的报告模型为your.model,报告名称为report_invoice,你可以使用以下代码定义报告的菜单项的权限:
  24. 例如,假设你的报告模型为your.model,报告名称为report_invoice,你可以使用以下代码定义报告的菜单项的权限:
  25. 保存并关闭.csv文件。
  26. 在你的模块中,创建一个新的.xml文件,用于将报告的菜单项添加到Odoo的菜单中。
  27. 在这个.xml文件中,使用Odoo的菜单语言来将报告的菜单项添加到Odoo的菜单中。确保在菜单定义中指定正确的父菜单和报告菜单项的ID。
  28. 例如,假设你想要将报告的菜单项添加到Sales菜单下,你可以使用以下代码将报告的菜单项添加到Sales菜单中:
  29. 例如,假设你想要将报告的菜单项添加到Sales菜单下,你可以使用以下代码将报告的菜单项添加到Sales菜单中:
  30. 保存并关闭.xml文件。
  31. 在你的模块中,创建一个新的.xml文件,用于将报告的菜单项的权限添加到Odoo的菜单中。
  32. 在这个.xml文件中,使用Odoo的菜单语言来将报告的菜单项的权限添加到Odoo的菜单中。确保在权限定义中指定正确的父菜单和报告菜单项的ID。
  33. 例如,假设你想要将报告的菜单项的权限添加到Sales菜单下,你可以使用以下代码将报告的菜单项的权限添加到Sales菜单中:
  34. 例如,假设你想要将报告的菜单项的权限添加到Sales菜单下,你可以使用以下代码将报告的菜单项的权限添加到Sales菜单中:
  35. 保存并关闭.xml文件。
  36. 在你的模块中,创建一个新的.xml文件,用于将报告的菜单项的权限与用户组关联起来。
  37. 在这个.xml文件中,使用Odoo的菜单语言来将报告的菜单项的权限与用户组关联起来。确保在关联定义中指定正确的报告菜单项的权限和用户组的ID。
  38. 例如,假设你想要将报告的菜单项的权限与名为Your Group的用户组关联起来,你可以使用以下代码将报告的菜单项的权限与用户组关联起来:
  39. 例如,假设你想要将报告的菜单项的权限与名为Your Group的用户组关联起来,你可以使用以下代码将报告的菜单项的权限与用户组关联起来:
  40. 保存并关闭.xml文件。

现在,你已经完成了获取q-web报告中键以外的选择字段的值的步骤。你可以重新启动Odoo并测试你的报告。请注意,这只是一个示例过程,你可能需要根据你的实际需求进行适当的调整和修改。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

精准获取你想要的!— 揭秘如何用字段选择参数优化数据查询

这篇文章就教你如何通过巧用 fields 或 select 参数,避免大而无当的数据返回,让你的查询又快又准! 目录 前言:一键查询的痛与乐 ️ 核心揭秘:什么是字段选择参数?...结果,不仅减少了服务器的负担,也能让你在查询时“轻装上阵”。   想了解如何正确使用这些神奇的字段选择参数吗?继续往下看吧!️ 核心揭秘:什么是字段选择参数?  ...通过使用字段选择参数,你只获取必要的数据: GET /api/users?...这意味着我们将有更多工具来优化数据传输,实现更加精准的查询。   字段选择参数的魅力在于其简单而强大。它让我们以最小的付出获取最有价值的内容,同时在性能优化中扮演了至关重要的角色。...就像生活中的选择一样,它教会我们如何专注于重要的部分,而非被无用的东西分心。   所以,从今天起,用字段选择参数,让你的数据查询“瘦身”吧!

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

    它注册为ir.property,也就是说它的值存储在ir_property表中,通过查询该表来获取该字段的值。...[源代码] 封装不同值之间的互斥选择。...此外,所有简单的存储字段(布尔值、整数、浮点值、字符、文本、日期、日期时间、选择、many2one)都会被提取;它们对应于模型表的列,并在同一查询中高效地获取。...这可能会导致在多条记录中选择一条记录的方法产生不直观的结果,例如获取默认公司或选择物料清单。..., 值必须匹配选择值(通常为str,有时为int) 对于odoo.fields.Many2one,值必须为记录的数据库标识 其它非关系字段,使用字符串值 危险 出于历史和兼容性原因,odoo.fields.Date

    13.5K10

    odoo 开发入门教程系列-模型和基本字段

    模型和基本字段 在上一章的末尾,我们创建一个odoo模块。然而,此时它仍然是一个空壳,不允许我们存储任何数据。...有两大类领域字段:‘简单’字段--直接存储在模型表中的原子值,形如Boolean, Float, Char, Text, Date 和Selection, ‘关系型’ 字段--连接相同或者不同模型的记录...Selection(选择列表)定义为元组列表,查看示例 修改odoo14/custom/estate/models/estate_property.py文件 #!...required (bool, default: False) 如果为 True, 表示该字段值不能为空。创建记录时必须拥有默认值或给定的值。...自动创建的字段(Automatic Fields) 参考: 该话题相关文档可参考 Automatic fields. odoo会在所有model(当然,也可以配置禁止自动创建某些字段)中创建少数字段。

    2.4K30

    如何在MySQL中获取表中的某个字段为最大值和倒数第二条的整条数据?

    在MySQL中,我们经常需要操作数据库中的数据。有时我们需要获取表中的倒数第二个记录。这个需求看似简单,但是如果不知道正确的SQL查询语句,可能会浪费很多时间。...在本篇文章中,我们将探讨如何使用MySQL查询获取表中的倒数第二个记录。 一、查询倒数第二个记录 MySQL中有多种方式来查询倒数第二个记录,下面我们将介绍三种使用最广泛的方法。...ID(或者其他唯一值)。...------+-----+ | id | name | age | +----+------+-----+ | 4 | Lily | 24 | +----+------+-----+ 三、查询某个字段为最大值的整条数据...使用哪种方法将取决于你的具体需求和表的大小。在实际应用中,应该根据实际情况选择最合适的方法以达到最佳性能。

    1.4K10

    odoo 权限管理学习总结

    res_partner表中,那么在odoo中如何区分用户类型以及如何做权限控制的呢?...(5)再循环执行(4, ID)) 拓展: odoo中有个特殊的组base.group_no_one,需要开启Debug模式才可获取该组权限。...模型访问权限(Access Rights,表级别) 当模型中没有定义任何访问权限时,odoo会认为没有任何用户可以访问数据,并在日志中打印: 2022-12-14 09:01:38,994 32508...) ORM字段可以具有提供组列表的groups属性(值为逗号分隔的组XML ID列表,如groups='base.group_user,base.group_system')注意:groups属性值格式...如果当前用户不在列出的组中,他将无权访问该字段: 将自动从请求的视图中删除受限制的字段 从fields_get()响应中删除受限制的字段 尝试(显式的)读取或写入受限字段会导致访问错误 修改estate

    10.2K20

    「Odoo 基础教程系列」第三篇——从 Todo 应用开始(2)

    选择字段 在上一篇教程中,我们已经创建好了待办事项的模型,但是只是添加了「描述」和「已完成?」两个字段,这肯定是不能满足我们的需求的。...priority,并且指定了三个可供选择的程度类型,一般情况下,如果一个字段只有固定的几种可选值,通常都会选择使用 Selection 字段,它接受一个元组列表作为参数,其中元组的组成为 (value...,只不过多了一个 compute 属性,它的值是计算这个字段值的方法名。...deadline 这个字段的值(我们需要用它的值和当前时间进行比较),如果一个计算字段会用到多个其他字段的值,这里就需要以逗号分隔,将用到的值的字段名依次传入装饰器中。...实际上获取当前时间用的也是这个方法,只不过 Odoo 的 ORM 替我们封装了一层,fields.Datetime.now() 是类 Datetime 的静态方法: # fields.py class

    1.4K10

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

    view_mode 可获取的视图。本例中为列表(树)和表格视图。 odoo中到处都可以找到例子,但是这个 简单action的好例子。关注XML 数据文件结构,因为你在后续的练习中会用到。 获取,即为action属性值 练习 添加菜单 在合适的目录(本例中为odoo14/custom/estate/models/views)创建 estate_menus.xml 文件...Odoo有许多微调方式,但通常第一步是确保: 某些字段有默认值 某些字段只读 当记录重复时,某些字段不能被拷贝 在我们的房产业务案例中,我们希望:: 售价只读(往后将自动填充) 当记录重复时,可用日期和售价不能被拷贝...‘Unknown’,而last_seen 字段默认值为当前时间 练习 -- 设置默认值 添加适当的默认值: 卧室数量默认值为 2 可用日期默认为3个月内 修改 odoo14\custom\estate...练习 -- 添加state字段 为estate.property model添加state 字段(字段名可自定义),一个选择列表。

    3K30

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

    不幸的是,没有一种简单的方法可以知道如何在Odoo中创建任何给定的对象。大多数时候,有必要查看其模型,以找到所需的字段并提供适当的值。 学习的一个好方法是看看其他模块是如何完成你想做的事情的。...为了创建了发票,我们需要以下信息: 一个 partner_id: 顾客 一个move_type: 它有几个可能的值 journal_id: the accounting journal 这足够创建一个张空发票...练习--添加发票创建第二步 重写action_sold,并创建一个空的 account.move : 从当前的estate.property获取 partner_id move_type 应该和Customer...create 方法不接受结果集作为字段值。...为此在account.move创建中包含invoice_line_ids字段,这是一个One2many字段。One2many和Many2many使用通用ORM方法中描述的特殊“commands”。

    1.7K10

    odoo Actions学习总结

    环境 odoo-14.0.post20221212.tar Actions(动作) action定义系统响应用户操作的行为:登录、操作按钮、选择发票等… action可以存储在数据库中,也可以作为字典直接返回...所有Action都有两个强制属性: type 当前Action的类别,决定可以使用哪些字段以及如何解释action name action的名称,在客户端的界面中显示对action的简短用户可读描述...包含字段: res_model action触发的要显示的视图关联的模型 views (view_id,view_type)对的列表。...默认值为“Unnamed”,注意:如果name值为空字符串,则默认为 Unnamed 例如,要使用列表和表单视图打开客户(设置了customer标志的partner): { "type": "ir.actions.act_window...highlight=do_action#the-action-manager 在数据库window action中,操作有几个不同的字段,这些字段应被客户端忽略,主要用于组成view列表 view_mode

    2.7K30

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

    在上一章中已经看到,odoo能够为给定模型生成默认视图。实际上,默认视图对于业务应用程序来说是不可接受的。相反,我们至少应该以逻辑的方式组织各个字段。 视图是在带有操作和菜单的XML文件中定义的。...它们是ir.ui.view model的实例。 在我们的estate模块中,我们需要以逻辑方式组织字段: 在列表(树)视图中,我们希望显示的不仅仅是名称。 在表单视图中,应该对字段进行分组。...其最基础版本仅简单的列出要在表中显示的所有字段(其中每个字段都是一列): odoo中,domain对记录上的条件进行编码:domain是用于选择模型记录子集的条件列表。每个条件都是一个包含字段名、运算符和值的三元组。...如果指定字段满足作用于值的运算符的条件,则记录满足条件。

    3.4K40

    odoo 开发入门教程系列-继承(Inheritance)

    在介绍特定的Odoo模块继承之前,让我们看看如何更改标准CRUD(创建、检索,更新或删除)方法的行为 Python继承(Python Inheritance) 目标: 不能删除状态不为New、Canceled...创建报价时,设置房产状态为‘Offer Received’,如果用户试图以低于已存在报价的金额创建报价时抛出错误。 提示: 可在vals中获取property_id 字段,但是它是一个int型。...odoo中,第一种机制最常用。在我们的例子中,我们希望向现有模型添加一个字段,这意味着我们将使用第一种机制。...添加一个domain到该字段,这样以便仅显示可获取房产。...它的arch字段包含多个xpath元素,用于选择和更改父视图的内容,而不是单个视图:

    2.3K20

    如何在 CentOS 8 上安装 Odoo 13

    这个指南讲解了如何在 CentOS 8 上一个 Python 虚拟机环境中从源码安装 Odoo 13。我们将会从 Github 上编译 Odoo 源码并且配置 Nginx 作为反向代理服务器。...想要打印 PDF 报告,你将需要Wkhtmltopdf工具。Odoo 推荐的版本是0.12.5,这个版本不在 CentOS 8 官方软件源仓库中。...通过 Odoo 官方文档计算工作进程的数量以及需要的 RAM 内存大小,你可以使用下面的公式: 工作进程数量计算: 工作进程最大数量理论值 = (system_cpus * 2) + 1 1 个工作进程可以服务...十二、总结 这篇指南带你浏览了如何在 CentOS 8 上的 Python 虚拟环境中 安装 Odoo 13,并使用 Nginx 作为反向代理服务器。...我们展示了如何在生产环境中如何启用多进程以及优化 Odoo。

    4K20

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

    然而,我们可能需要给定模型中字段之间的链接。有时,一个字段的值是根据其他字段的值确定的,有时我们希望帮助用户输入数据。...自然地我们将总面积定义这两者的总和,我们将为此使用计算的字段的概念,即给定字段的值将从其他字段的值中计算出来。 到目前为止,字段已直接存储在数据库中并直接从数据库中检索。字段也可以被计算。...在这种情况下,不会从数据库中检索字段的值,而是通过调用模型的方法来动态计算的字段的值。 要创建计算的字段,请创建字段并将其属性compute设置为方法的名称。...依赖(Dependencies) 计算的字段的值通常取决于计算记录中其他字段的值。ORM期望开发人员使用修饰符depends()指定计算方法上的依赖项。...设置“garden”字段后,我们希望为花园面积和朝向提供默认值。此外,当“花园”字段未设置时,我们希望花园面积和重置为零,并删除朝向。在这种情况下,给定字段的值会影响其他字段的值。

    3.2K30

    odoo context上下文用法总结

    、过滤条件 视图定义 为设置action打开的tree列表视图,添加默认搜索,搜索条件为 state字段值等于True 的、元素的name属性值 content 如果fieldName为搜索字段的name属性值,那么...content表示需要搜索的内容,输入内容是字符串,则需要添加引号,形如'test';如果fieldName为搜索过滤器的name属性值,那么content表示布尔值,该值为真,则表示默认开启...> 说明:context属性值中的字典的键值如果为模型中定义的字段名称,则该字段名称必须以元素的形式,出现在模型对应的视图(即不能是内联视图,比如内联Tree列表)中,否则会出现类似错误提示...或者write方法,调用该方法前修改上下文,然后在方法中通过self.env.context获取上下文中的目标key值,进而实现目标需求 res = super(EstatePropertyTag

    2.2K20

    ODOO配置文件etcodoo.conf配置详解

    作为登录公司用户使用后端(web客户端)时,这不是问题:登录时可以选择数据库,然后加载自定义设置。 ...这是--db filter的目的之一:它指定如何根据所请求的主机名(域)选择数据库。该值是一个正则表达式,可能包括动态注入的主机名(%h)或访问系统所通过的第一个子域(%d)。 ...当Postgres部署不是本地部署和/或不使用安装默认值时,可以使用数据库选项覆盖此设置。 打包的安装程序将自动创建一个新用户(odoo),并将其设置为数据库用户。 数据库管理界面受管理密码设置保护。...工作进程数量计算 数量规则:(#CPU * 2) + 1 Cron工作者需要CPU 1个工作进程~=6个并发用户 内存大小计算 我们认为20%的请求是繁重请求,而80%是简单请求 一个繁重的工作,当所有的计算字段都设计好了...表   log_db = False   ;设置模块的日志级别,可以是一组module:log_level对, 默认值是“:INFO”(表示所有模块的默认日志级别为INFO)   log_handler

    7.7K31

    odoo 开发入门教程系列-QWeb简史

    QWeb简史 到目前为止,我们的房地产模块的界面设计相当有限。构建列表视图很简单,因为只需要字段列表。...此外,PDF报告或网站页面等其他功能需要另一个更灵活的工具:模板引擎。 您可能已经熟悉现有的引擎,如Jinja(Python)、ERB(Ruby) 或Twig(PHP)。...Odoo自带内置引擎:QWeb模板。QWeb是Odoo使用的主要模板引擎。它是一个XML模板引擎,主要用于生成HTML片段和页面。 你可能已经在Odoo见过 看板,其中的记录以卡片状结构显示。...练习--制作一个最小的看版视图 根据上述提供的简单例子,为房产创建一个最小化的看板视图。唯一展示的字段为name....在上面的示例中,字段name被添加到元素中,但state在它之外。当我们需要字段的值但不想在视图中显示它时,可以将其添加到元素之外。

    2.2K20

    Odoo 菜单定义和修改学习总结

    > 说明: id 菜单外部ID name 如果不指定name,则: 如果为菜单设置了action,则获取action record定义中name字段的值作为菜单name属性的值 如果未设置菜单action...,则获取菜单外部ID为值作为菜单name属性的值 action 打开菜单时需要执行的action的外部ID web_icon 指定菜单图标,格式:模块名称,图标路径,形如estate,static/img...其中图标路径,一般是相对于模块根目录的相对路径 sequence 设置菜单展示顺序。该属性值越大,越靠右、靠下方展示。也就是说,菜单从左往右,从上到下,对应sequence属性值从小到大。...id属性值的组合,形如:moduleName.source_menu_id(参见下述示例),如果新的菜单和原有菜单在同一个模块,可以省略moduleName.。...隐藏原有菜单的子菜单(如果需要的话) 定义一个,将其id设置为要隐藏的子菜单所在模块名称及id属性值的组合,形如:moduleName.source_menu_id,如果新的菜单和原有菜单在同一个模块

    1.4K10
    领券