链式交换器
项目描述
此模块允许交换字段的值,并以链式方式传播到相关记录。例如:更改已确认销售订单的交货地址,它应同时更改其交货订单。
它还允许根据规则应用约束,以不允许执行该更改,这样就不会破坏业务逻辑。例如:如果交货订单已验证,则不允许更改交货地址。
此模块需要一些技术知识来设置链式交换和约束,因为它是通过技术名称和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上跟踪错误GitHub Issues。如果遇到问题,请检查是否已报告您的问题。如果您是第一个发现它的人,请通过提供详细且受欢迎的反馈来帮助我们解决这个问题。
请勿直接联系贡献者以获取支持或帮助解决技术问题。
致谢
贡献者
-
Ernesto Tejeda
Pedro M. Baeza
维护者
本模块由OCA维护。
OCA,或Odoo社区协会,是一个非营利组织,其使命是支持Odoo功能的协作开发并促进其广泛应用。
本模块是GitHub上的OCA/server-ux项目的一部分。
欢迎您贡献力量。要了解更多信息,请访问https://odoo-community.org/page/Contribute。
项目详情
哈希 用于 odoo12_addon_chained_swapper-12.0.1.0.1-py3-none-any.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | d3f58cbc0b8e2c6a7b3f2e6bf05fd2eb3e6173aee6aacf805869a357b2dfd565 |
|
MD5 | c21df2a2ae8dc04e0895120fb59f3e17 |
|
BLAKE2b-256 | 653efe246b3bd00e11e341b965b9c7b23311484413535660b147bde2c28ec0b6 |