odoo 相关问题

Odoo是一套用Python编写的开源业务应用程序,根据AGPL许可证发布。它被全球370万用户用于管理各种规模的公司。主要的Odoo组件是服务器,270个核心模块(也称为官方模块)和大约15000个社区模块。

Odoo 模块找不到 python lib

我正在尝试安装odoo模块“auth_signup_verify_email” 但是当我点击安装时出现错误: 无法安装模块“auth_signup_verify_email”,因为外部依赖项...

回答 2 投票 0

Odoo 10EE 尝试单击标记为待办事项(星标)或取消星标按钮,但不起作用

在 odoo 10ee 上的“讨论”应用程序中,当我尝试单击“标记为待办事项”(星标)或取消星标按钮时,它不起作用,但如果我单击一次并刷新,则它会被标记或未标记。 奇怪,有什么建议吗...

回答 2 投票 0

odoo v17 在 crm 看板卡上渲染 one2many 字段

我在 crm.lead 模型中添加了一个自定义 one2many 字段: 类 CrmLead(models.Model): _inherit = 'crm.lead' quote_ids = fields.One2many('insurance.quotes', 'crm_lead_id', string='Quotes')

回答 1 投票 0

更新 docker 容器中的所有 odoo 模块

我正在开发 Odoo Docker 容器。我试图找到适当的命令来通过命令行更新所有模块,但徒劳无功。执行此操作的适当命令是什么?我...

回答 4 投票 0

Odoo 14 中的搜索面板更改 DEFAULT_LIMIT

Odoo 14 SearchPanel 视图有 DEFAULT_LIMIT = 200,我如何更改此限制?我需要将此值添加到设置中并根据需要进行更改。 看起来我需要扩展 JS ActionModel 视图,...

回答 2 投票 0

Odoo:如何通过单击带有图标的链接在新选项卡上打开记录

人: 我想从新选项卡上的列表视图中打开记录。 我尝试创建一个计算的字符字段,创建一个 URL 并放置一个 widget="url",但它将整个链接作为文本,使单元格 t...

回答 1 投票 0

正确使用 t-attf-class 来禁用 Odoo 标题按钮中的按钮

我一直在尝试使用 t-attf-class 来禁用 Odoo (v11) 标题部分中的按钮。 我在视图 xml 文件的标题中创建了一个按钮,并将其与 mod 中的操作链接...

回答 2 投票 0

使 OWL 字段无效以防止在 Odoo 17 中保存数据

我正在使用名为 EmailField 的电子邮件小部件来添加我需要的新功能。 此电子邮件字段未验证格式,它允许您在不验证的情况下保存数据。 所以我的问题是我...

回答 1 投票 0

删除odoo17中的采购订单PurchaseDashBoard

我如何删除采购订单PurchaseDashBoard 在 odoo 17 如何删除采购订单PurchaseDashBoard 在 odoo 17 <templates> <t t-name="purchase.PurchaseKanbanView" t-inherit="web.KanbanRenderer" t-inherit-mode="primary"> <xpath expr="//div[hasclass('o_kanban_renderer')]" position="before"> <PurchaseDashBoard /> </xpath> </t> </templates> <templates> <t t-name="purchase.PurchaseListView" t-inherit="web.ListRenderer" t-inherit-mode="primary"> <xpath expr="//div[hasclass('o_list_renderer')]" position="before"> <PurchaseDashBoard /> </xpath> </t> </templates> 你可以简单地用CSS隐藏它...... .o_purchase_dashboard{ display: none !important; } 仅在特定视图上隐藏它... .o_list_view .o_purchase_dashboard, .o_kanban_view .o_purchase_dashboard{ display: none !important; } 最后你必须将你的 css 文件包含在 __manifest__.py 中 "assets": { "web.assets_backend":[ "path_to_your_file/purchase_dashboard.css", ] } 您还可以通过使用 xml 文件修改 de 组件,使用更像 odoo 的方法来存档相同的结果... <?xml version="1.0" encoding="UTF-8"?> <templates xml:space="preserve"> <t t-name="my_module.PurchaseDashboard" t-inherit="purchase.PurchaseDashboard" t-inherit-mode="extension" owl="1"> <xpath expr="//div[hasclass('o_purchase_dashboard')]" position="attributes"> <attribute name="class" separator=" " add="d-none"></attribute> </xpath> </t> </templates> 如果您想从视图中完全删除组件... <?xml version="1.0" encoding="UTF-8"?> <templates xml:space="preserve"> <t t-name="my_module.PurchaseListView" t-inherit="purchase.PurchaseListView" t-inherit-mode="extension" owl="1"> <xpath expr="//PurchaseDashBoard" position="replace"> </xpath> </t> </templates> 不要忘记在 __manifest__.py 中包含 de xml 文件 "assets": { "web.assets_backend":[ "path_to_your_file/purchase_dashboard.xml", ] }

回答 1 投票 0

如何正确继承和扩展Odoo 17中的POS模板?

我想继承 point_of_sale 屏幕中的模板,以便我可以更改“发票”按钮所针对的功能。这是我试图继承的模板 我想继承销售点屏幕中的模板,以便我可以更改“发票”按钮所针对的功能。这是我试图继承的模板 <templates id="template" xml:space="preserve"> <t t-name="point_of_sale.PaymentScreenButtons"> <div class="payment-buttons d-flex flex-column flex-wrap"> <button class="button js_invoice btn btn-light py-3 text-start rounded-0 border-bottom" t-att-class="{ 'highlight text-bg-primary': currentOrder.is_to_invoice() }" t-on-click="toggleIsToInvoice"> <i class="fa fa-file-text-o me-2" />Invoice </button> </div> </t> </templates> 这是我的 XML 代码片段 <odoo> <template id="extend_payment_screen_buttons" inherit_id="point_of_sale.template"> <xpath expr="//button[contains(@class, 'js_invoice')]" position="replace"> <button class="button js_invoice btn btn-light py-3 text-start rounded-0 border-bottom" t-att-class="{ 'highlight text-bg-primary': currentOrder.is_to_invoice() }" t-on-click="createAndPrintInvoice"> <i class="fa fa-file-text-o me-2"/>Invoice </button> </xpath> </template> </odoo> 我收到的错误是: ValueError:系统中找不到外部 ID:point_of_sale.template 有人可以帮忙吗? 我尝试更改ID,但还是没有效果。 尝试在 xml 模板文件中按名称扩展它... <templates xml:space="preserve"> <t t-name="my_module.PaymentScreenButtons" t-inherit="point_of_sale.PaymentScreenButtons" t-inherit-mode="extension" owl="1"> <xpath expr="//button[hasClass('js_invoice')]" position="replace"> <button class="button js_invoice btn btn-light py-3 text-start rounded-0 border-bottom" t-att-class="{ 'highlight text-bg-primary': currentOrder.is_to_invoice() }" t-on-click="createAndPrintInvoice"> <i class="fa fa-file-text-o me-2"/>Invoice </button> </xpath> </t> </templates> createAndPrintInvoice 函数和 currentOrder 必须存在于 payment_screen.js 中,否则您必须修补脚本并创建它们才能使用它们。 更多详情可以查看官方文档

回答 1 投票 0

ODOO 17 获取定制报告的排序查询结果

在 crm.lead 模型中,我还有 2 个属性(列),我们称之为 col1 和 col2。 如何为每个用户获取 2 个记录集,例如“select * from crm_records col1 desc limit 5”和 seco...

回答 1 投票 0

如何查看Odoo的websocket请求?

Odoo 使用服务工作线程来处理套接字,据我所知服务工作线程是后台工作线程,在检查页面时,它们的网络活动不会出现在网络选项卡上。 我很好奇...

回答 1 投票 0

Odoo 模型关系

我知道如何使用 One2many 关系建立标题->详细信息关系。这很简单,但在现实世界中我们需要比这更复杂的事情。 就我而言,我有...

回答 2 投票 0

如何限制不同类型门户用户(例如员工和家长)的菜单 (website.menu) 访问权限?

我试图根据登录的不同类型的门户用户来限制菜单(website.menu), 我尝试从基础继承计算可见性函数,如下所示: 类网站菜单(

回答 1 投票 0

如何在many2many字段上使用write()方法?

~...py @api.onchange('test_record') def abcde(自身): rec = self.test_record.id res = self.env['anc'].browse(rec) res.write({'partner_id': (4,self.partner_id.id)}) 上面的代码什么...

回答 1 投票 0

在 odoo 17 上导入整个模块错误,因为访问权限无法读取模型

导入模块时出现此错误: 导入模块“pos_margin_sale”时出错。 模块加载 pos_margin_sale 失败: 文件 /tmp/tmp5bby2hp9/pos_margin_sale/security/ir.model.access.csv

回答 1 投票 0

在 Odoo 中过滤期刊

我有一种名为“Facturas especiales”的发票。 此发票类型具有供应商发票的基础,但具有将其与供应商发票区分开来的布尔值,并以不同的方式处理

回答 1 投票 0

Odoo 17 应用程序未出现在主应用程序下拉菜单中

<?xml version="1.0" encoding="utf-8"?> <odoo> <data> <!-- Tree view for 'data_to_move' model --> <record id="view_data_to_move_tree" model="data_to_move"> <field name="name">data_to_move_tree</field> <field name="model">data_to_move</field> <field name="arch" type="xml"> <tree string="Data to Move"> <field name="name"/> <field name="id"/> <field name="write_date"/> </tree> </field> </record> <!-- Form view for 'data_to_move' model --> <record id="view_data_to_move_form" model="data_to_move"> <field name="name">data_to_move_form</field> <field name="model">data_to_move</field> <field name="arch" type="xml"> <form string="Data to Move"> <sheet> <group> <field name="name"/> <field name="id"/> <field name="write_date"/> </group> <div class="oe_button_box" name="button_box"> <button name="action_button_1" string="Button 1" type="object" class="oe_highlight"/> <button name="action_button_2" string="Button 2" type="object" class="oe_link"/> </div> </sheet> </form> </field> </record> <!-- Action for the model --> <record id="action_data_to_move" model="data_to_move"> <field name="name">Data to Move</field> <field name="res_model">data_to_move</field> <field name="view_mode">tree,form</field> <field name="domain">['|', ('active', '=', False), ('active', '=', True)]</field> </record> <!-- Define the menu item under a parent --> <menuitem id="menu_data_to_move_root" name="Data Management" sequence="1"/> <menuitem id="menu_data_to_move" parent="menu_data_to_move_root" name="Data to Move" action="action_data_to_move" sequence="10"/> </data> </odoo> 我正在开发一个简单的 Odoo 应用程序,将 odoo 中的一些数据推送到我们本地托管的另一个数据库。 当我尝试使用此代码时,Odoo 将正确安装该应用程序,但我无法从网站 GUI 访问它的任何部分,并且 Odoo 17 中的主下拉菜单中没有添加菜单项。 有人知道我做错了什么吗? 我对 XML 还很陌生,遵循几个在线教程并检查其他 Odoo 插件中的现有代码让我陷入了困境。 我尝试了几次代码重构,更改了菜单项和记录在代码中的位置,添加和删除标签以及在最后一个菜单项声明行中添加 app="True"。 这些都没有帮助,并且将 app="True" 添加到最终菜单项声明只会在编译期间导致断言错误,并且在 Odoo 17 中似乎没有必要。 如果您知道我做错了什么,或者有任何可以提供帮助的文档,请告诉我。谢谢你 您正在引入一种新的业务模型,并且必须向您的模块添加模型访问权限 (ir.model.access)。如果没有访问权限,除了超级用户之外,您将看不到任何内容。您可以在Odoo的调试模式下切换到超级用户模式。如需一些提示或更多信息,请参阅第 4 章:安全性 - Odoo 框架教程简介。

回答 1 投票 0

Odoo 模型链接问题“self.id”给出“_unknown(43,)”

我正在使用 Odoo 16,在链接两个模型和处理 _unknown 值时遇到了问题。具体来说,我有两个模型:nkap_custom_paiement 和 account. payment.register。

回答 1 投票 0

在视图日历的弹出窗口中添加字段

我在 Odoo V17 中有一个自定义模型的日历视图。 我只想在日历弹出窗口中添加更多字段。 这是用于弹出窗口(addon web)的 xml 文件的一部分: 我在 Odoo V17 中有一个自定义模型的日历视图。 我只想在日历弹出窗口中添加更多字段。 这是用于弹出窗口(插件网页)的 xml 文件的一部分: <t t-name="web.CalendarCommonPopover.body"> <ul class="list-group list-group-flush"> <li t-if="date" class="list-group-item"> <i class="fa fa-fw fa-calendar text-400" /> <span class="fw-bold ms-2" t-esc="date" /> <small t-if="dateDuration != 'All day'"><b t-esc="dateDuration" /></small> </li> <li t-if="time" class="list-group-item"> <i class="fa fa-fw fa-clock-o text-400" /> <span class="fw-bold ms-2" t-esc="time" /> <small t-if="timeDuration"><b t-esc="`(${timeDuration})`" /></small> </li> </ul> <ul class="list-group list-group-flush o_cw_popover_fields_secondary"> <Record resModel="props.model.resModel" resId="props.record.id" fields="props.model.fields" activeFields="activeFields" mode="'readonly'" values="props.record.rawRecord" t-slot-scope="slot"> <t t-foreach="Object.keys(props.model.popoverFieldNodes)" t-as="fieldId" t-key="fieldId"> <t t-set="fieldInfo" t-value="props.model.popoverFieldNodes[fieldId]"/> <t t-if="!isInvisible(fieldInfo, slot.record)"> <li class="list-group-item d-flex text-nowrap align-items-center" t-att-class="fieldInfo.attrs.class" t-att-data-tooltip="getFormattedValue(fieldId, slot.record)"> <span class="fw-bold me-2" t-if="!fieldInfo.options.noLabel"> <t t-if="fieldInfo.options.icon"> <i t-attf-class="fa-fw {{fieldInfo.options.icon}} text-400" /> </t> <t t-else=""> <t t-esc="fieldInfo.string" /> </t> </span> <div class="flex-grow-1 role-container text-truncate"> <Field name="fieldInfo.name" class="'w-100'" record="slot.record" fieldInfo="fieldInfo" type="fieldInfo.widget" /> </div> </li> </t> </t> </Record> </ul> </t> 如你所见,它 foreach -> Object.keys(props.model.popoverFieldNodes) 我想,我需要在 popoverFieldNodes 中添加海关字段以在弹出窗口中显示它。 这是来自addon web的js文件'calendar_model'的设置方法: export class CalendarModel extends Model { setup(params, services) { /** @protected */ this.user = services.user; /** @protected */ this.keepLast = new KeepLast(); const formViewFromConfig = (this.env.config.views || []).find((view) => view[1] === "form"); const formViewIdFromConfig = formViewFromConfig ? formViewFromConfig[0] : false; const fieldNodes = params.popoverFieldNodes; const { activeFields, fields } = extractFieldsFromArchInfo({ fieldNodes }, params.fields); this.meta = { ...params, activeFields, fields, firstDayOfWeek: (localization.weekStart || 0) % 7, formViewId: params.formViewId || formViewIdFromConfig, }; this.data = { filters: {}, filterSections: {}, hasCreateRight: null, range: null, records: {}, unusualDays: [], }; } 但我不明白如何正确添加海关字段。我尝试在 python 中使用 search_read 传递字段,但我认为我需要在 js 中做一些事情来显示它。 你有什么想法吗? 提前致谢:) 只需将 calendar 类型的视图添加到您的自定义模型中即可。来自 Odoo 本身的模型 calendar.event 的示例(src click): <record id="view_calendar_event_calendar" model="ir.ui.view"> <field name="name">calendar.event.calendar</field> <field name="model">calendar.event</field> <field name="priority" eval="2"/> <field name="arch" type="xml"> <calendar js_class="attendee_calendar" string="Meetings" banner_route="/onboarding/calendar" date_start="start" date_stop="stop" date_delay="duration" all_day="allday" event_open_popup="true" event_limit="5" quick_create="true" quick_create_view_id="%(calendar.view_calendar_event_form_quick_create)d" color="partner_ids"> <field name="location" invisible="not location" options="{'icon': 'fa fa-map-marker'}"/> <field name="attendees_count" invisible="1"/> <field name="accepted_count" invisible="1"/> <field name="declined_count" invisible="1"/> <field name="user_can_edit" invisible="1"/> <field name="partner_ids" options="{'block': True, 'icon': 'fa fa-users'}" filters="1" widget="many2manyattendeeexpandable" write_model="calendar.filters" write_field="partner_id" filter_field="partner_checked" avatar_field="avatar_128" /> <field name="videocall_location" widget="url" text="Join Video Call" options="{'icon': 'fa fa-lg fa-video-camera'}" invisible="not videocall_location"/> <field name="is_highlighted" invisible="1"/> <field name="is_organizer_alone" invisible="1"/> <field name="display_description" invisible="1"/> <field name="description" invisible="not display_description" options="{'icon': 'fa fa-bars'}"/> <field name="privacy" invisible="1"/> <field name="res_model_name" invisible="not res_model_name" options="{'icon': 'fa fa-link', 'shouldOpenRecord': true}"/> <field name="alarm_ids" invisible="not alarm_ids" options="{'icon': 'fa fa-bell-o'}"/> <field name="categ_ids" invisible="not categ_ids" options="{'icon': 'fa fa-tag', 'color_field': 'color'}"/> <!-- For recurrence update Dialog --> <field name="recurrency" invisible="1"/> <field name="recurrence_update" invisible="1"/> <field name="partner_id" string="Organizer" options="{'icon': 'fa fa-user-o'}"/> </calendar> </field> </record> 请记住,该示例非常复杂。从简单的开始。

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.