В DateTime нет len ()) с интеграцией Odoo и Zapier - PullRequest
0 голосов
/ 24 февраля 2020

У меня точно такая же проблема, когда я пытаюсь загрузить встречу из office365 в Odoo. Обратный путь - не проблема ... Я провел некоторое исследование по этому вопросу и заметил, что Python ожидает следующее: datetime.strptime (datetime_str, 'format'). Формат зависит от того, в каком формате вы получаете данные. На этом сайте https://www.journaldev.com/23365/python-string-to-datetime-strptime объясняется, как python ожидает формат.

Всякий раз, когда я пытаюсь добавить в формат в Zapier, это не имеет никакого результата на ошибку, поэтому я думаю, что это должно быть сделано в другом месте.

Кто-то еще мог использовать это и какой формат даты вы использовали из Часть Office365? Или как вы преодолели эту проблему? Это что-то изменилось в версии 13 Odoo и вызывает ли это проблему?

Я не могу редактировать код Zapier, так как все это в фоновом режиме. Единственное, что я могу сделать, это изменить формат даты или добавить некоторые дополнительные параметры в Zapier.

Вся помощь приветствуется.

При этом полное сообщение об ошибке:

We had trouble sending your test through.
Fault (code object of type 'DateTime' has no len()) occurred. Message: Traceback (most recent call last):
Hide details
Troubleshooting Errors | Common Odoo ERP Self Hosted Problems | Contact Support
  File "/usr/lib/python3/dist-packages/odoo/addons/base/controllers/rpc.py", line 54, in xmlrpc_1
    response = self._xmlrpc(service)
  File "/usr/lib/python3/dist-packages/odoo/addons/base/controllers/rpc.py", line 43, in _xmlrpc
    result = dispatch_rpc(service, method, params)
  File "/usr/lib/python3/dist-packages/odoo/http.py", line 138, in dispatch_rpc
    result = dispatch(method, params)
  File "/usr/lib/python3/dist-packages/odoo/service/model.py", line 40, in dispatch
    res = fn(db, uid, *params)
  File "/usr/lib/python3/dist-packages/odoo/service/model.py", line 93, in wrapper
    return f(dbname, *args, **kwargs)
  File "/usr/lib/python3/dist-packages/odoo/service/model.py", line 175, in execute
    res = execute_cr(cr, uid, obj, method, *args, **kw)
  File "/usr/lib/python3/dist-packages/odoo/service/model.py", line 164, in execute_cr
    return odoo.api.call_kw(recs, method, args, kw)
  File "/usr/lib/python3/dist-packages/odoo/api.py", line 393, in call_kw
    result = _call_kw_model_create(method, model, args, kwargs)
  File "/usr/lib/python3/dist-packages/odoo/api.py", line 373, in _call_kw_model_create
    result = method(recs, *args, **kwargs)
  File "<decorator-gen-148>", line 2, in create
  File "/usr/lib/python3/dist-packages/odoo/api.py", line 322, in _model_create_single
    return create(self, arg)
  File "/usr/lib/python3/dist-packages/odoo/addons/crm/models/calendar.py", line 50, in create
    event = super(CalendarEvent, self).create(vals)
  File "<decorator-gen-116>", line 2, in create
  File "/usr/lib/python3/dist-packages/odoo/api.py", line 322, in _model_create_single
    return create(self, arg)
  File "/usr/lib/python3/dist-packages/odoo/addons/calendar/models/calendar.py", line 1581, in create
    values['duration'] = self._get_duration(values['start'], values['stop'])
  File "/usr/lib/python3/dist-packages/odoo/addons/calendar/models/calendar.py", line 748, in _get_duration
    diff = fields.Datetime.from_string(stop) - fields.Datetime.from_string(start)
  File "/usr/lib/python3/dist-packages/odoo/fields.py", line 1790, in to_datetime
    return datetime.strptime(value, DATETIME_FORMAT[:len(value)-2])
TypeError: object of type 'DateTime' has no len()

1 Ответ

0 голосов
/ 25 февраля 2020

Метод DateTime не возвращает свойство .len(), поэтому его вызов приведет к ошибке. Решение этой проблемы - установить DateTime в переменную, а затем вызвать длину этой переменной.

...