链式交换器
项目描述
此模块允许交换字段的值并以链式方式传播到相关记录。例如:在已确认的销售订单中更改交货地址,它还应在相应的交货订单中更改。
它还允许根据规则应用约束,不允许进行此类更改,以防止业务逻辑被破坏。例如:如果交货订单已验证,则不允许更改交货地址。
此模块需要一些技术知识来设置链式交换和约束,因为它是通过技术名称和Python代码定义的。
警告:请谨慎使用此模块,因为如果交换设计不当,可能会破坏数据库一致性。
目录
配置
要配置此模块,您需要
转到 设置 > 字段交换 > 字段交换。
创建一个新的对象,并设置以下数据作为示例
名称用于识别它并用于操作名称。
选择交换开始时的源模型。
选择将执行交换的起始字段。
添加多个链式字段。它们使用点表示法表示为字符串,以源模型作为起始点查找第一个字段,并从那里继续查找。例如:对于 sale.order 模型,picking_ids.partner_id 将导航到相关的发货订单,并更改客户信息。
为限制链式交换添加可能的约束。它们是必须作为布尔值评估的单行Python表达式。如果评估结果为真,则会抛出消息,不允许交换。您可以在代码中使用变量 records,它将引用用于交换的选定记录。例如:限制具有已验证发货订单的销售订单
any(p.state == ‘done’ for p in records.mapped(‘picking_ids.state’))
您还可以使用其他变量,如 env、date 和 datetime。每个约束都有一个名称,用于识别它,同时在尝试执行交换时显示该名称。
单击“添加操作”智能按钮,在源模型中添加新操作。
在演示数据库中,您可以检查示例“语言”,该示例更改联系人的语言,并将其传播到子联系人。
使用
要使用此模块,您需要
以列表模式转到源文档。
选择一个或多个记录。
单击操作,找到选项“链式交换:<交换名称>”。
如果选定的记录之一不遵守其中一个约束,将显示消息,交换不会继续。
如果一切正常,将弹出一个窗口,您将看到一个用于填写新值的字段。
单击“更改”,交换将被执行。
在源文档的聊天中,将记录已完成的交换条目。
错误追踪
错误在 GitHub Issues 上跟踪。如果遇到问题,请检查是否已报告您的问题。如果是您首先发现的,请提供详细的反馈,以帮助我们解决这个问题:反馈。
请勿直接联系贡献者以获取支持或技术问题的帮助。
致谢
贡献者
-
Ernesto Tejeda
Pedro M. Baeza
Sunanda Chhatbar <sunanda.chhatbar@initos.com>
维护者
此模块由OCA维护。
OCA,或Odoo社区协会,是一个非营利组织,其使命是支持Odoo功能的协作开发并促进其广泛使用。
此模块是GitHub上 OCA/server-ux 项目的组成部分。
欢迎您贡献力量。有关如何贡献的信息,请访问 https://odoo-community.org/page/Contribute。
项目详情
哈希值 for odoo14_addon_chained_swapper-14.0.1.0.2-py3-none-any.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | ba6f921aff86b0966e87d2466a167b8f449118afe2b1605467325fbce69553ab |
|
MD5 | ba7ced9196b5b2cabd8121a5384d6a1c |
|
BLAKE2b-256 | 7fc36b4a5444f48e4c5f43189e4808fcbbf134eb37e6c793456503ceb01bad2c |