首页
学习
活动
专区
工具
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并测试你的报告。请注意,这只是一个示例过程,你可能需要根据你的实际需求进行适当的调整和修改。

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

相关·内容

  • 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.2K10

    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获取,即为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.6K30

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

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

    3.3K40

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

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

    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.3K31

    如何在 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 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.1K20

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

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

    2.1K20

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

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

    3.2K30

    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

    odoo 开发入门教程系列-模型之间关系(Relations Between Models)

    模型之间关系(Relations Between Models) 上一章介绍了为包含基本字段模型创建自定义视图。然而,在任何真实业务场景中,我们都需要不止一个模型。此外,模型之间链接是必要。...练习2 会用上述提到两种常用model添加买家和销售人员到estate.property模块。将它们添加到form视图中新tab页面。 销售人员默认必须是当前用户。买家不能被复制。...提示:要获取默认,请查看下面的注解或查看示例 user_id = fields.Many2one('res.users', string='Salesperson', index=True, tracking...odoo如何知道我们报价与哪个房产相关?这就是使用odoo框架一部分魔力:有时候事情是隐式定义。...当我们通过one2many字段创建记录时,为了方便,会自动填充相应many2one 添加odoo14\custom\estate\models\estate_property_offer.py #!

    4.5K40
    领券