在整合Google Calendar
模块并允许API访问后,我在将odoo日历与google日历同步时遇到了问题。
单击odoo日历上的synch
按钮
File "/opt/odoo/addons/calendar/calendar.py", line 1328, in _parse_rrule
data['day'] = r._bymonthday[0]
TypeError: 'set' object does not support indexing
我使用的odoo版本是v9
答案 0 :(得分:-1)
这种情况对于odoo 9是特殊的,从那时起它就被修复了。因此,如果您能够将数据从当前版本迁移到以后的版本,那么问题就不会出现问题。否则,请仔细遵循以下答案。
引发的异常可能是由于安装了python-dateutil
的版本。
python-dateutil
的{{1}}(和更高版本)版本中的某些属性类型已从2.4.x
修改为list
。一个好主意是将set
版本从当前版本降级到python-dateutil
,其中属性具有与同步相同的预期类型。
在odoo的官方论坛上已经提出并回答了这个问题。您可以访问this link。
要解决此问题,您应该按照以下步骤操作:
2.2
的当前版本dateutil
版本降级为dateutil
(如果适用)这些步骤详述如下:
<强> 2.1。查看2.2
版本
转到机器的命令提示符(终端),无论操作系统是什么,然后输入以下命令:
dateutil
如果版本为$ python
>>> import dateutil
>>> dateutil.__version__
,则输出为:
2.4
<强> 2.2。将'2.4.0'
版本降级为dateutil
您最好在机器中安装2.2
,以便输入:
pip
这会自动卸载当前版本并改为安装$ pip install python-dateutil==2.2
。
<强> 2.3。确保模块降级
完成步骤 2.1 并确保输出为:
2.2
<强> 2.4。重启odoo服务器
如果您已将odoo作为服务安装,则可以按如下方式重新启动:
'2.2.0'
或(对于Windows):
service odoo-server restart
否则,您必须sc start odoo-server
正在运行odoo服务器的进程(根据使用的操作系统),然后转到kill
(或odoo.py
for odoo {找到{1}})并再次运行它。 (不建议这样做,最好将其作为服务运行)
<强> 2.5。测试谷歌日历同步
转到odoo,打开odoo-bin
应用程序,然后点击>= 10.0
按钮即可。