Я просматриваю веб-сайт OpenERP, чтобы узнать, как удалить исключение даты из него. например, я хочу вставить дату, например 12/12/1523
. с текущей функциональностью он покажет мне сообщение об ошибке, если я укажу дату менее 1900
. Я проверил его с помощью _calendar.py, format.py, validates.py. но мне это не удалось. Если кто-нибудь может помочь мне через это будет очень заметным.Как удалить исключение даты из OpenERP?
ответ
Я нашел две проблемы в OpenERP-сети:
1 - Календарь управления даты ограничен и не может быть ниже
01/01/1900
2 - Есть ошибки проверки, полученные от openerp/i18n/format.py
когда это пытается сэкономить
Точка 1, j avascript виджет может быть легко исправлена в
openerp/static/calandar/calendar.js
=> find:
param_default("range",[1900,2999])
=> and replace with:
param_default("range",[1,2999])
пункта 2, заменить в
openerp/i18n/format.py
=> find the two occurances of:
return time.strftime(server_format, value)
=> and replace with:
return mx.DateTime.Date(value[0],value[1],value[2],value[3],value[4],value[5]).strftime(server_format)
Сообщение об ошибке я получаю при вводе даты в 1523 году это:
недопустимое значение даты и времени! Год должен быть больше 1899!
Если вы ищете для этого сообщения об ошибке в клиентском коде, вы увидите это в client/bin/widget/view/form_gtk/calendar.py
:
try:
return date.strftime(DHM_FORMAT)
except ValueError:
common.message(_('Invalid datetime value! Year must be greater than 1899 !'))
Если вы посмотрите на the documentation for date.strftime()
, вы увидите следующее:
Точный диапазон лет, за который работает strftime(), также варьируется в зависимости от платформы. Независимо от платформы, годы до 1900 года не могут быть использованы.
Спрашивающий г-н. Google о «python strftime 1900» находит an issue с патчем и большим количеством обсуждений. Похоже, у вас есть несколько вариантов:
- Не используйте даты до 1900.
- Отредактируйте календарном модуль для реализации собственной процедуры форматирования вместо
strftime()
. - Обновление до Python 3.2 или 3.3. (Подробную информацию о том, что исправлено в каждой версии, см. В отчете о проблемах).
- Примените патч к своей версии Python.
Пробовали ли вы искать текст сообщения об ошибке в исходном коде и с Google? Добавление текста сообщения к вашему вопросу здесь может помочь. –
Да, да, но это не помогает – ScoRpion