[quote author=digitalsatori link=topic=17001.msg30005#msg30005 date=1422842528]
我不太喜欢你的彻底解决的方法和标题
[/quote]
求大牛更好的方案啊。
rogan
-
解决Odoo8.0单时区应用中的时区问题 -
解决Odoo8.0单时区应用中的时区问题[quote author=Jeff link=topic=17001.msg29995#msg29995 date=1422782945]
1、写死成 Asia/Shanghai,这个只适合中国用户,此方案永远无法并入 odoo,只能留在openerp-china
2、针对已有生产数据的情形,应用此方案前后会有一个数据差异,可能需要一个转换脚本
Rogan 威武!
[/quote]
不求并入Odoo,只求国内单时区用户不再抱怨~ ;D
已有数据的生产环境“请遵医嘱”。 -
解决Odoo8.0单时区应用中的时区问题以上方案只适合一个时区的用户,能解决其时区问题。
对于多时区,导出数据的时区问题解决方案是:[b]在导出时进行时区转换[/b]!
class Datetime(Datetime):
def convert_to_export(self, value, env):
""" convertvalue
from the cache to a valid value for export. The
parameterenv
is given for managing translations.
"""
#将存储在数据库中的UTC时区的datetime字段转换成用户本机时区
value_datetime = datetime.strptime(value, "%Y-%m-%d %H:%M:%S")
current_timezone = env.context.get('tz', False)
current_tz = pytz.timezone(current_timezone)
utc_tz = pytz.timezone('UTC')
utc_tz_datetime = utc_tz.localize(value_datetime, is_dst=None)
value = utc_tz_datetime.astimezone(current_tz)
if env.context.get('export_raw_data'):
return value
return bool(value) and ustr(value)
有解决多时区group by问题的大侠请不吝赐教! -
解决Odoo8.0单时区应用中的时区问题由于数据库中存储的是UTC时区,默认情况下数据导出和group by都存在时区问题。
解决办法:[b]将以UTC时区存储的数据改为按目标时区存储,并去掉JS中的时区转换[/b]。
1、修改Odoo系统环境时区:
odoo/openerp/init.py 文件
import os
os.environ['TZ'] = 'UTC' # 将这里的UTC 改为Asia/Shanghai 或其它目标时区
2、修改 web页面时区转换的JS文件:
odoo/addons/web/static/src/js/openerpframework.js 中的两个方法
openerp.str_to_datetime 字符串转时间
openerp.datetime_to_str 时间转字符串
去掉这两个方法中的UTC字符。
3、修改以UTC时间执行的SQL 查询或插入语句:
去掉所有带 "at time zone 'UTC'" 或 "at time zone 'utc'"字符串的语句。
odoo/openerp/models.py 特别是create_date、write_date字段值;
odoo/openerp/addons/base/ir/ir_cron.py 定时任务中UTC时区改为当前时区;
odoo/openerp/netsvc.py 备份下来的数据库名称时间标志
4、修改其他功能性模块中带 "at time zone" 字符串来取UTC时间的语句。
如 calendar 模块和 hr_timesheet_sheet模块 -
Odoo多表查询实现使用SQL视图。
-
在RML报表里使用空格[quote author=wang link=topic=11911.msg21855#msg21855 date=1378098283]
不应该是合肥R吗?
[/quote]
亲人啊 ;D -
上传图片保存到文件夹后不能显示的问题解决研究product_image模块上传图片保存到文件夹的方法时,发现上传后图片无法显示,oe读出来也无法显示,经 重庆-mrshelly 指点,是该程序一bug:
def _save_file(self, path, b64_file):
"""Save a file encoded in base 64"""
self._check_filestore(path)
with open(path, 'w') as ofile:
ofile.write(base64.b64decode(b64_file))
return True
这里应该使用二进制写模式来保存,即 open(path, 'wb') .
感谢总监!
;D -
OpenERP中国财务模块(l10n_cn)改进计划如果用到RML报表,我可以出一份力 ;D
-
计量单位上遇到的问题刚开始录入原材料数据的时候没有意识到修改计量单位是不能跨类别的,结果现在很多原材料类别是默认的件...崩溃啊~
经过 重庆-mrshelly 的指点,在 件 下新建相关的计量单位进行换算。
不知道还有没有其它方法?