导入/导出模式
项目描述
概述
此模块扩展了Odoo的导入/导出功能。
模式仅仅是ir.exports模型的一种类型,因此您可以使用本机Odoo小部件来定义导出列表。
此模块仅创建一个通用数据结构。其他模块将用于添加特定文件类型支持,例如Excel和CSV。
功能
键匹配:不是总是使用ID,匹配唯一约束的字段,例如通过指定产品代码而不是数据库ID或外部ID来更新产品
One2many和Many2many支持:使用易于阅读和更新的语法创建或更新发票行等
只要您遵守适当的格式和字段名称,您就可以自由添加/删除/重命名列,即使它们不在用于导出的初始模式中
目录
配置
安装支持特定文件类型的其他模块
使用“模式”菜单配置您的导入/导出格式
使用
配置模式
首先您需要定义一个模式
转到“导入/导出”>“模式”菜单
创建带有导出字段的模式
您可以参考演示数据中的示例。
导出
打开任何模型的树形视图并勾选一些记录选择框。
在侧边栏中,单击“使用模式导出”按钮
选择您希望使用的模式,单击导出并下载生成的文件。
创建了一个“模式文件”,及其任务。根据任务的成功或失败,您将在窗口上收到红色/绿色通知。
导入
您有两个选项
打开任何模型的树视图,勾选一些记录选择框(对于这一步,这些不重要,我们只是想显示侧边栏)。
在侧边栏中,点击“使用模式导入”按钮
选择用于生成导出的模式,上传你的文件并点击导入。
创建了一个“模式文件”,以及与其相关的任务。根据任务的成功或失败,你将在窗口中收到红色/绿色通知。你可以在适当的导入/导出菜单中查看详细信息。
或者
通过导入/导出菜单访问导入向导
选择你想要使用的模式
点击“导入”按钮
示例
以下是对 product.product 的简单更新的示例:现有记录
id: 10
name: “产品 1”
default_code: “PRD1”
生成的导出将看起来像
id |
name |
default_code |
---|---|---|
10 |
Product 1 |
PRD1 |
更新的文件
id |
name |
default_code |
---|---|---|
10 |
Product 1-bis |
PRD1B |
导入后,我们的记录将被更新
xml id: “__export__.product1”
name: “Product 1-bis”
default_code: “PRD1B”
现在,让我们更新一些关联字段。以下是我们的起始数据的更多内容
seller_ids
id (seller_id 的 id,它是一个 res.partner): 22
name (卖家): 合作伙伴 1
price: 10
生成的导出应该像
id |
name |
default_code |
seller_ids|1|id |
seller_ids|1|price |
---|---|---|---|---|
10 |
Product 1 |
PRD1 |
22 |
10 |
假设“ref”是一个具有唯一约束的 Char 字段。对于卖家,我们不想使用其 id,而想使用其 ref。
id |
name |
default_code |
seller_ids|1|ref#key |
seller_ids|1|price |
---|---|---|---|---|
10 |
Product 1 |
PRD1 |
partner1-ref |
10 |
所以这个 #key 表示 Odoo 应该搜索一个 res.partner,其 ref 与单元格值匹配。
让我们再举一个例子,我们不想使用 id,而想使用产品的 default_code 作为键。
id |
name |
default_code#key |
seller_ids|1|ref#key |
seller_ids|1|price |
---|---|---|---|---|
Product 1 |
PRD1 |
partner1-ref |
10 |
Odoo 将搜索匹配 default_code 的产品并将其更新。
技术上
添加新的导出格式
继承 ir.exports 模型。
在 export_format 选择字段中添加你的新文件格式;
实现函数 _export_with_record_<format> 和 _read_import_data_<format>。
请小心处理迭代器 (yield),以避免将整个文件加载到系统内存中。
已知问题 / 路线图
取消勾选“使用制表符”布尔值应清除先前选中的 tab_filter_id
更改行的字段应清除先前选中的 tab_filter_id
错误跟踪器
错误在 GitHub Issues 上跟踪。如果在遇到麻烦时,请检查你的问题是否已经报告。如果你是第一个发现它的,请通过提供详细且受欢迎的 反馈 来帮助我们解决问题。
不要直接联系贡献者以寻求支持或技术问题的帮助。
鸣谢
贡献者
Chafique Delli <chafique.delli@akretion.com>
Sébastien Beau <sebastien.beau@akretion.com>
François Honoré (ACSONE SA/NV) <francois.honore@acsone.eu>
Kevin Khao <kevin.khao@akretion.com>
维护者
此模块是 GitHub 上的 shopinvader/pattern-import-export 项目的组成部分。
欢迎您贡献力量。
项目详情
哈希值 for odoo12_addon_pattern_import_export-12.0.6.2.0-py3-none-any.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 533a7d265a679ea6851682da35b97825cfc4d8bd8f968c7fe687456a9b89a0a7 |
|
MD5 | 840c09ca36fdf00343563d157f3b317a |
|
BLAKE2b-256 | 9b6985695c1590e2de348770d1cee813ad2efa8f456a6dd8192b272661cc6b3a |