我的问题:
每月我必须将特定数据导出到预定义的Exel表。可以与月度报告进行比较。但是,必须将其放入具有预定义样式和配置的Excel工作表中。我可以创建一个以这种格式导出的模块,但是不幸的是,这不是一个选择,因为公司的另一个部门每月都要对Excel文件进行更改和调整。
最佳解决方案:
最好的方法是可以选择将文件导入odoo,然后选择单元格,以便oodo知道将哪些数据放在哪里。如果其他部门创建了新的Excel文件,则只需将其上传到odoo,模块将替换旧文件。
显然,这需要通过创建自定义模块来完成。但是,最好知道是否有可能?
答案 0 :(得分:0)
当然可以做到!
您将需要编写一个使用XlsxWriter(https://xlsxwriter.readthedocs.io),OpenPyXL(https://openpyxl.readthedocs.io)或其他能够处理Xlsx文件的库(https://xlsxwriter.readthedocs.io/alternatives.html)来生成Excel文件的类方法。 )
然后,您可以使用scheduled action
或由操作系统的cron触发的另一个python脚本(请参阅<path_to_v12>/addons/mail/static/scripts/odoo-mailgate.py
来调用它)。
棘手的部分是使配置易于使用。我建议:首先,利用ir_model_data
模型来指向您需要的任何内容(表,字段,记录);其次,向保存配置的模型中添加一个sequence
字段,并在表单视图定义中使用<field name="sequence" widget='handle'/>
,以便用户可以拖放以对字段重新排序。
顺便说一句,创建自定义模块是个好主意。