分类 odoo 下的文章

这是基于OpenERP6.1的古董ERP,意大利人3天前还在更新,维护了11年,真是够耐心的,意大利人都不用上班的吗??!!

看到这货的时候我还不敢相信,居然还有人在用OpenERP6.1版本,天哪,国内难道也有同款??

今天跑了一下,没跑起来,偷懒吧,直接放意大利人的图片了,有图有真相:
2025-04-24T01:13:43.png
看见这图,
感觉回到了中世纪,初代ERP的界面跟这差不多。3天前还在维护account_due_list功能模块,这模块用于财务会计功能中的应付账款到期预警,模块会列出每笔开了发票的应付账款,列表清单允许筛选过虑。这模块居然是一家敏捷公司的作品:http://www.didotech.com,感谢吧!

另外,LibrERP的官方网站需要魔法www.librerp.com,

在github上的地址是https://github.com/iw3hxn/LibrERP

看了https://gitee.com/ShinraL/avalon写的开发教程,我是这么理解的:
1、Java版Odoo,
2、avalon的开发环境它需要windows有安装redis,
3、要有Nacos,
4、要有postgres数据库,
5、要有jdk15+,
最后由于是JAVA语言写的,所以还需要有IDEA软件。
既然是win10那就一路下一步下一步安装吧。

首先安装redis,redis官网在这下载:https://github.com/tporadowski/redis/releases
截图如下:
2025-04-21T02:20:30.png

- 阅读剩余部分 -

今天写一写用JAVA仿写Odoo,为什么值得写呢?
老莫碰到了,我之前也碰到了odoo的时区问题,大家都碰到了。
老莫依照我https://github.com/leangjia/odoo-all-in-one-docker-compose的yml增加了东八区参数,起的容器里的定时发送邮件的任务变失灵了,原来好好的定时发工资条邮件,加了参数后,时间延后了8小时。

因此我说推荐用JAVA仿写odoo是值得的,上边的问题,它可能出现在base基础模块的代码里,也可能mail模块的代码也涉及时区,更可能在job任务模块的代码涉及时区。

假如,中国人用JAVA写出来的Odoo,应该不存在时区问题了吧?

附上链接:
https://gitee.com/ShinraL/avalon

原文来自odoo哥公众号

odoo日期类型字段的快捷录入
原创 odoo哥 Odoo哥
2025年01月17日 09:24 湖南
在odoo应用中,日期类型的字段比较常见。一般操作人员在UI录入日期时,都是通过鼠标点击,弹出日历下拉,然后选择不同的年、月、日。如果需要选择的年或月不是当前年月,还要去切换,这样可能会影响录入的效率。其实在Odoo框架源码中,有针对日期类型字段的快捷录入方式。我们来看源码:

addons\web\static\src\core\l10n\dates.js

关键的方法是:

/**
 * Smart date inputs are shortcuts to write dates quicker.
 * These shortcuts should respect the format ^[+-]\d+[dmwy]?$
 *
 * e.g.
 *   "+1d" or "+1" will return now + 1 day
 *   "-2w" will return now - 2 weeks
 *   "+3m" will return now + 3 months
 *   "-4y" will return now + 4 years
 *
 * @param {string} value
 * @returns {NullableDateTime} Luxon datetime object (in the user's local timezone)
 */
function parseSmartDateInput(value) {
    const match = value.match(smartDateRegex);
    if (match) {
        let date = DateTime.local();
        const offset = parseInt(match[2], 10);
        const unit = smartDateUnits[(match[3] || "d").toLowerCase()];
        if (match[1] === "+") {
            date = date.plus({ [unit]: offset });
        } else {
            date = date.minus({ [unit]: offset });
        }
        return date;
    }
    return false;
}

从这里可以看出,在日期型字段,我们可以录入一个类似‘+10'、'+3w'、'-1m'、'+1y'这样的字符串,odoo将根据录入内容自动计算出日期值。第一个符号为'+','-'号,表示在当前日期之后还是之前,后面跟着一个数字,最后面是一个字母:d-天,m-月,w-周,y-年,如果不带字母的表示默认为天。
比如今天是2025年1月17号,我在报价单的日期字段录入下图所示的内容:
图片
640.png
然后按回车键,系统将自动变换为15天后的日期:
图片
640 (1).png
好啦,这么好用的功能赶快写到用户操作手册中去吧,告诉客户他可以不用鼠标快速地录入想要的日期啦。