精华内容
下载资源
问答
  • odoo postgres 索引

    2019-07-15 17:41:33
    查看索引 select * from pg_indexes where tablename='xx'; 或者 select * from pg_statio_all_indexes where relname='xx'; 创建索引 create index picking_id_index on xx(picking_id); create indextbl_bb_...

    查看索引

    select * from pg_indexes where tablename='xx'; 
    或者    

    select * from pg_statio_all_indexes where relname='xx';

    创建索引

    create index picking_id_index on xx(picking_id);

    create index  tbl_bb_index  on  tbl_bb(id,name);

    注:tbl_bb  位表名称,  tbl_bb_index  为创建的索引名称,  id 和 name 为 表里的字段

    删除索引

    DROP INDEX index;  

    index是要删除的索引名

    注意 : 无法删除DBMS为主键约束和唯一约束自动创建的索引
    --------------------- 
    作者:非衣鲲化 
    来源:CSDN 
    原文:https://blog.csdn.net/qq_32157851/article/details/83684567 
    版权声明:本文为博主原创文章,转载请附上博文链接!

    展开全文
  • 多个单列索引和联合索引的区别详解

    万次阅读 多人点赞 2018-06-24 17:40:58
    那么当查询条件为2个及以上时,我们是创建多个单列索引还是创建一个联合索引好呢?他们之间的区别是什么?哪个效率高呢?我在这里详细测试分析下。 一、联合索引测试 注:Mysql版本为 5.7.20 创建测试表(表记录...

    背景:
    为了提高数据库效率,建索引是家常便饭;那么当查询条件为2个及以上时,我们是创建多个单列索引还是创建一个联合索引好呢?他们之间的区别是什么?哪个效率高呢?我在这里详细测试分析下。


    一、联合索引测试

    注:Mysql版本为 5.7.20

    创建测试表(表记录数为63188):

    CREATE TABLE `t_mobilesms_11` (
      `id` bigint(20) NOT NULL AUTO_INCREMENT,
      `userId` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '' COMMENT '用户id,创建任务时的userid',
      `mobile` varchar(24) NOT NULL DEFAULT '' COMMENT '手机号码',
      `billMonth` varchar(32) DEFAULT NULL COMMENT '账单月',
      `time` varchar(32) DEFAULT NULL COMMENT '收/发短信时间',
      `peerNumber` varchar(64) NOT NULL COMMENT '对方号码',
      `location` varchar(64) DEFAULT NULL COMMENT '通信地(自己的)',
      `sendType` varchar(16) DEFAULT NULL COMMENT 'SEND-发送; RECEIVE-收取',
      `msgType` varchar(8) DEFAULT NULL COMMENT 'SMS-短信; MSS-彩信',
      `serviceName` varchar(256) DEFAULT NULL COMMENT '业务名称. e.g. 点对点(网内)',
      `fee` int(11) DEFAULT NULL COMMENT '通信费(单位分)',
      `createTime` datetime DEFAULT NULL COMMENT '创建时间',
      `lastModifyTime` datetime DEFAULT NULL COMMENT '最后修改时间',
      PRIMARY KEY (`id`),
      KEY `联合索引` (`userId`,`mobile`,`billMonth`)
    ) ENGINE=InnoDB AUTO_INCREMENT=71185 DEFAULT CHARSET=utf8 COMMENT='手机短信详情'
    

    我们为userId, mobile, billMonth三个字段添加上联合索引!

    我们选择 explain 查看执行计划来观察索引利用情况:


    1.查询条件为 userid

    EXPLAIN SELECT * FROM `t_mobilesms_11` WHERE userid='2222'
    

    这里写图片描述

    可以通过key看到,联合索引有效


    2.查询条件为 mobile

    EXPLAIN SELECT * FROM `t_mobilesms_11` WHERE mobile='13281899972'
    

    这里写图片描述
    可以看到联合索引无效


    3.查询条件为 billMonth

    EXPLAIN SELECT * FROM `t_mobilesms_11` WHERE billMonth='2018-04'
    

    这里写图片描述
    联合索引无效


    4.查询条件为 userid and mobile

    EXPLAIN SELECT * FROM `t_mobilesms_11` WHERE userid='2222' AND mobile='13281899972'
    

    这里写图片描述
    联合索引有效


    5.查询条件为 mobile and userid

    EXPLAIN SELECT * FROM `t_mobilesms_11` WHERE  mobile='13281899972' AND userid='2222' 
    

    这里写图片描述
    在4的基础上调换了查询条件的顺序,发现联合索引依旧有效


    6.查询条件为 userid or mobile

    EXPLAIN SELECT * FROM `t_mobilesms_11` WHERE userid='2222' OR mobile='13281899972'
    

    这里写图片描述
    and 换成 or,发现联合所索引无效


    7.查询条件为 userid and billMonth

    EXPLAIN SELECT * FROM `t_mobilesms_11` WHERE userid='2222' AND billMonth='2018-04'
    

    这里写图片描述
    这两个条件分别位于联合索引位置的第一和第三,测试联合索引依旧有效


    8.查询条件为 mobile and billMonth

    EXPLAIN SELECT * FROM `t_mobilesms_11` WHERE mobile='13281899972' AND billMonth='2018-04'
    

    这里写图片描述
    这两个条件分别位于联合索引位置的第二和第三,发现联合索引无效


    9.查询条件为 userid and mobile and billMonth

    EXPLAIN SELECT * FROM `t_mobilesms_11` WHERE  userid='2222' AND mobile='13281899972' AND billMonth='2018-04'
    

    这里写图片描述
    所有条件一起查询,联合索引有效!(当然,这才是最正统的用法啊!)


    二、单列索引测试

    创建三个单列索引:
    这里写图片描述

    1.查询条件为 userid and mobile and billMonth

    EXPLAIN SELECT * FROM `t_mobilesms_11` WHERE  userid='2222' AND mobile='13281899972' AND billMonth='2018-04'
    

    这里写图片描述
    我们发现三个单列索引只有 userid 有效(位置为查询条件第一个),其他两个都没有用上。

    那么为什么没有用上呢?按照我们的理解,三个字段都加索引了,无论怎么排列组合查询,应该都能利用到这三个索引才对!

    其实这里其实涉及到了mysql优化器的优化策略!当多条件联合查询时,优化器会评估用哪个条件的索引效率最高!它会选择最佳的索引去使用,也就是说,此处userid 、mobile 、billMonth这三个索引列都能用,只不过优化器判断使用userid这一个索引能最高效完成本次查询,故最终explain展示的key为userid。


    2.查询条件为 mobile and billMonth

    EXPLAIN SELECT * FROM `t_mobilesms_11` WHERE mobile='13281899972' AND billMonth='2018-04'
    

    这里写图片描述
    我们发现此处两个查询条件只有 mobile 生效(位置也为查询条件第一个)


    3.查询条件为 userid or mobile

    EXPLAIN SELECT * FROM `t_mobilesms_11` WHERE  userid='2222' OR mobile='13281899972' 
    

    这里写图片描述
    这次把 and 换成 or,发现两个查询条件都用上索引了!

    我们在网上可能常常看到有人说or会导致索引失效,其实这并不准确。而且我们首先需要判断用的是哪个数据库哪个版本,什么引擎?

    比如我用的是mysql5.7版本,innodb引擎,在这个环境下我们再去讨论索引的具体问题。

    关于or查询的真相是:
    所谓的索引失效指的是:假如or连接的俩个查询条件字段中有一个没有索引的话,引擎会放弃索引而产生全表扫描。我们从or的基本含义出发应该能理解并认可这种说法,没啥问题。

    此刻需要注意type类型为index_merge
    我查资料说mysql 5.0 版本之前 使用or只会用到一个索引(即使如上我给userid和mobile都建立的单列索引),但自从5.0版本开始引入了index_merge索引合并优化!也就是说,我们现在可以利用上多个索引去优化or查询了。

    index_merge作用:
    1、索引合并是把几个索引的范围扫描合并成一个索引。
    2、索引合并的时候,会对索引进行并集,交集或者先交集再并集操作,以便合并成一个索引。
    3、这些需要合并的索引只能是一个表的。不能对多表进行索引合并。

    index_merge应用场景:

    1.对OR语句求并集,如查询SELECT * FROM TB1 WHERE c1="xxx" OR c2=""xxx"时,如果c1和c2列上分别有索引,可以按照c1和c2条件进行查询,再将查询结果合并(union)操作,得到最终结果

    2.对AND语句求交集,如查询SELECT * FROM TB1 WHERE c1="xxx" AND c2=""xxx"时,如果c1和c2列上分别有索引,可以按照c1和c2条件进行查询,再将查询结果取交集(intersect)操作,得到最终结果

    3.对AND和OR组合语句求结果


    三、结论

    通俗理解:
    利用索引中的附加列,您可以缩小搜索的范围,但使用一个具有两列的索引 不同于使用两个单独的索引。复合索引的结构与电话簿类似,人名由姓和名构成,电话簿首先按姓氏对进行排序,然后按名字对有相同姓氏的人进行排序。如果您知道姓,电话簿将非常有用;如果您知道姓和名,电话簿则更为有用,但如果您只知道名不姓,电话簿将没有用处

    所以说创建复合索引时,应该仔细考虑列的顺序。对索引中的所有列执行搜索或仅对前几列执行搜索时,复合索引非常有用仅对后面的任意列执行搜索时,复合索引则没有用处。


    重点:

    多个单列索引多条件查询时优化器会选择最优索引策略可能只用一个索引,也可能将多个索引全用上! 但多个单列索引底层会建立多个B+索引树,比较占用空间,也会浪费一定搜索效率,故如果只有多条件联合查询时最好建联合索引!


    最左前缀原则:

    顾名思义是最左优先,以最左边的为起点任何连续的索引都能匹配上,
    注:如果第一个字段是范围查询需要单独建一个索引
    注:在创建联合索引时,要根据业务需求,where子句中使用最频繁的一列放在最左边。这样的话扩展性较好,比如 userid 经常需要作为查询条件,而 mobile 不常常用,则需要把 userid 放在联合索引的第一位置,即最左边


    同时存在联合索引和单列索引(字段有重复的),这个时候查询mysql会怎么用索引呢?

    这个涉及到mysql本身的查询优化器策略了,当一个表有多条索引可走时, Mysql 根据查询语句的成本来选择走哪条索引;


    有人说where查询是按照从左到右的顺序,所以筛选力度大的条件尽量放前面。网上百度过,很多都是这种说法,但是据我研究,mysql执行优化器会对其进行优化当不考虑索引时,where条件顺序对效率没有影响真正有影响的是是否用到了索引


    联合索引本质:

    当创建**(a,b,c)联合索引时,相当于创建了(a)单列索引**,(a,b)联合索引以及**(a,b,c)联合索引**
    想要索引生效的话,只能使用 a和a,b和a,b,c三种组合;当然,我们上面测试过,a,c组合也可以,但实际上只用到了a的索引,c并没有用到!
    注:这个可以结合上边的 通俗理解 来思考!


    其他知识点:

    1、需要加索引的字段,要在where条件中
    2、数据量少的字段不需要加索引;因为建索引有一定开销,如果数据量小则没必要建索引(速度反而慢)
    3、避免在where子句中使用or来连接条件,因为如果俩个字段中有一个没有索引的话,引擎会放弃索引而产生全表扫描
    4、联合索引比对每个列分别建索引更有优势,因为索引建立得越多就越占磁盘空间,在更新数据的时候速度会更慢。另外建立多列索引时,顺序也是需要注意的,应该将严格的索引放在前面,这样筛选的力度会更大,效率更高


    最后的说明:

    网上关于索引优化等文章太多了,针对各个数据库各个版本各种引擎都可能存在不一样的说法

    我们的SQL引擎自带的优化也越来越强大,说不定你的某个SQL优化认知,其SQL引擎在某次升级中早就自优化了。

    所以要么跟进官方文档,要么关注数据库大牛的最新文章,要么在现有数据库环境下自己去亲手测试!

    数据库领域的水很深。。大家加油。。共勉 ~

    展开全文
  • 0,yum install postgresql12-contrib 1, su - postgres 2, psql 3, /c o12demo 4,createextension pg_trgm; 5, /c template1 6,createextension pg_trgm;

    0, yum install postgresql12-contrib

    1, su - postgres

    2, psql 

    3, /c o12demo 

    4, create extension pg_trgm;

    5, /c template1

    6, create extension pg_trgm;

    展开全文
  • 本文来自《OdooERP应用与开发案例教程》的试读章节。书籍尚未出版,请勿转载。欢迎您反馈阅读意见。 Odoo用户概要 关于Odoo全球的用户,我们来看一些数据: l Odoo目前全球有300万使用者 l Odoo系统上每天新创建...

    文/开源智造联合创始人老杨

    本文来自《OdooERP应用与开发案例教程》的试读章节。书籍尚未出版,请勿转载。欢迎您反馈阅读意见。

    Odoo用户概要

    关于Odoo全球的用户,我们来看一些数据:

    l Odoo目前全球有300万使用者

    l Odoo系统上每天新创建的数据库超过1000个

    l Odoo和Word、Excel、PowerPoint一样,是法国学士学位的必修课程

    l Odoo在世界各地有800多个官方认证的合作伙伴,其中中国有20多个

    l Odoo的翻译语言包覆盖100多个国家和地区

    l Odoo开源社区有1800多名活跃的技术开发人员

    l Odoo的应用商店有一万多个App模块,还在以每个月300多个的速度新增

    Odoo全球知名的用户,包括法国邮政,法国达能,欧洲丰田,中国联想(欧洲),中兴通讯(德国)等大公司。

    《OdooERP应用与开发案例教程》试读:第三章-成功案例

     

    法国邮政(La Poste)案例

    La Poste是法国当地最大的邮政业务服务商,有30万名员工,1.7万个营业网点。业务包括邮政储蓄,邮件收发,快递,零售卖场。La Poste也是欧洲第二大的邮政公司。

    La Poste 的四大业务板块

    • 邮件收发: Le Courrier

    • 货运快递:Le Colis-Express

    • 邮政储蓄:La Banque Postale

    • 零售卖场:La Poste Retail Outlets

    《OdooERP应用与开发案例教程》试读:第三章-成功案例

     

    【业务需求】

    替换集团内部员工帮助台(helpdesk),包括从微软的MS Access数据迁移到Odoo系统

    【解决方案】

    基于Odoo标准的客户服务工单(CRM Helpdesk)模块定制一个内部员工帮助台系统。Odoo标准的服务工单模块包括工单处理升级机制、工作流管理工具等。

    定制化模块:

    1) 扩展Odoo标准对象表单,满足法国邮政众多实体和员工的组织结构;

    2) 优化视图改善用户界面,优化数据库索引提高响应速度;

    3) 扩展标准的CRM模块,定制专用的视图和工单升级处理机制;

    4) 定制Access到Odoo的复杂数据升级工具

    《OdooERP应用与开发案例教程》试读:第三章-成功案例

     

    法国达能案例

    达能的案例首先发表在2011年9月份的法国“商业技术”杂志,作者是达能集团的IT主管。原文是法文的,本文从原文的英文版摘编中翻译而来。

    《OdooERP应用与开发案例教程》试读:第三章-成功案例

     

    SAP作为大型集团通用和完整的后端业务处理平台是非常合适的,但对于大集团众多的分支机构,他们需要快速实施,灵活扩展,更易使用的系统。为了解决集团大型ERP和集团分支机构需求的矛盾,达能集团选择Odoo作为众多分支机构的业务操作平台。

    达能是传统的SAP用户,过去10年,达能在SAP上投入了大量预算。但事实证明,SAP不适合小型分支机构的要求。SAP系统,即使非常小的配置修改都是一件非常复杂的事情。达能选择Odoo作为SAP系统的补充方案的优点是:Odoo是一个轻量级的技术平台,其次可以充分利用开源社区的技术资源。

    《OdooERP应用与开发案例教程》试读:第三章-成功案例

     

    达能首先在哥伦比亚分支机构推行Odoo应用,哥伦比亚采取了开发和实施并行推进的敏捷方法推进,效果非常好。这个敏捷方法得以实施的基础是,Odoo软件修改非常快速,可以做到每周发布新版本;其次,用在线看板做开发管理,看板列出用户需求和完成进度,用户和开发人员组成的项目小组可以在项目Wiki上快速查看项目需求、开发、完成情况等信息。

    哥伦比亚的经验证明在一个相对较小的范围,Odoo实施是非常快速和成功的。哥伦比亚的成功,让达能大胆地在澳大利亚推行包括生产制造模块的大范围实施。

    达能的IT团队对Odoo的实施过程进行了一些反馈分析。他们指出基于Odoo的敏捷方法的灵活性,对用户接受度有非常积极的影响。事实上,实施过程中,用户需求得到即时反馈和即时培训。

    现在达能在定义一些准则,评估哪些地方什么时候可以更多地替换为Odoo系统。他们考虑在所有小型运营实体推进Odoo,再逐步集成到SAP。

    丰田案例

    丰田(法国)物流车辆工贸公司,用了短短6个月时间,便成功地导入、实施了Odoo开源ERP系统。之所以能在如此短的时间内创造这一ERP项目实施奇迹,主要得益于丰田(法国)公司,与Odoo的官方合作伙伴—斯麦里开源系统管理咨询有限公司(Smile Open Source Solutions)之间,开展了卓有成效地合作。为深入探究Odoo ERP 系统对管理提升和效率改善所起的促进作用,我们从比利时出发,奔赴丰田(法国)物流车辆工贸公司,现场采访了信息部经理,克莱尔·康泰特(Cyril Cottet)先生。

    《OdooERP应用与开发案例教程》试读:第三章-成功案例

     

    问:康泰特先生,请首先简要介绍一下贵公司好吗?

    答: 好的。

    我们丰田(法国) 物流车辆工贸公司,是丰田众多产供销一体化公司中的一员,隶属于丰田物流车辆集团,而该集团的母公司,是位列世界500强的丰田汽车集团。丰田(法国)公司的主营业务分为部分:一部分是在欧洲市场内,制造和销售各种叉车;另一块业务,也是我们最为擅长的,就是制造和销售带有”动平衡调节芯片”的柴、汽油卡车。同时,我们也在日本、中国、美国的工厂,采购一些卡车,然后将这些卡车运到欧洲,进行销售。在有些情况下,我们也会依据客户的一些特殊需要,在我们的法国工厂里,为客人预定的卡车进行改装,满足客户的定制化要求。

    问:在咨询公司成功导入Odoo之前,贵公司面临的最大挑战有哪些,Odoo解决方案是如何满足贵公司特殊需求的?

    答:你说的一点不错,在引入Odoo之前,我们确实度过了一段地狱般的岁月。但现在,由于

    《OdooERP应用与开发案例教程》试读:第三章-成功案例

     

    我们拥有了Odoo, 那些让人发疯的难题都已经得到了解决!(大笑)

    近几年,丰田物流车辆集团,对内部进行了几次较大的组织架构调整。为的是对现有的销售流程进行再造,以便使遍布全欧洲的分销商,能够更好、更快地向欧洲的3个产销中心顺畅下单、并获得良好的物流发货服务。目前,丰田物流车辆公司在欧洲有3个产销中心,1个就设在这儿的法国公司,另外2个分别设在瑞典和意大利。

    面对日渐火爆的“卡车大规模个性化定制”这一市场发展趋势,我们专门自行开发了一款服务这一新型业务的软件系统,分别在欧洲的3个中心使用。因为在市场上,客户定制卡车的销量,已占到总销量的40%。但很快麻烦也就来了,问题出在我们意大利的工厂。整个意大利工厂,在表面业务红红火火的背后,出现了严重的问题,就是这家工厂各环节的管理流程与这个系统无法协同,普遍存在“两张皮”现象,例如: 无法顺畅地下单,下了单也无法将信息知会到关联部门;已下的订单,不是工厂没有安排生产,就是采购部没有在国外采购,甚至在国外采购好的卡车,也不能在合同的交货期内组织发运、交货、开票、收款。

    《OdooERP应用与开发案例教程》试读:第三章-成功案例

     

    虽然问题多多,但时至今日,我们自行开发的这款“卡车大规模个性化定制软件系统”,仍然在使用。面对这一现状,我们曾考虑可否能换掉这个系统,也就是说,探讨“选用一个新系统、来全部撤下旧系统”的可能性。

    于是,我们开始在软件市场上进行了寻找、了解、比较,一番“做功课”之后,我们逐渐搞明白了,我们面临的问题是“二选一”,就是:要么是公司自行开发一个新系统,来代替自行开发的老系统;要么就从市场上购买一套新系统,来彻底取代老系统。

    我们以前没用过ERP, 也就是说,我们对ERP系统,相当缺乏了解,这需要我们对这一未知领域,要进行了解和探索。由于欧洲物流车辆市场的竞争几近白热化,我们不能进行风险太大的投资。我们只能考虑在短期就能获得回报的投资。经过对ERP供应商接触后,我们发现,市场上已有的几个较大ERP品牌公司的已有产品,无法满足我们的要求。在这种情况下,我们倾向于追求一个尽可能经济实惠的解决方案:要么自己开发一套系统、要么购买一套成本较低的ERP系统。幸运的是,我们最终在市场上发现了Odoo开源ERP系统,它们的产品、价格、服务,与我们的需求高度吻合!

    了解到OdooERP后,影响我们做出决策的最后一个因素,是ERP实施所化时间的长短。面对公司原有软件不能满足公司发展的紧迫需要,我们欧洲集团的管理层已达成共识,务必要在2015年4月-6月间,成功导入新的ERP系统。当我们回过头来,重新评估前面谈到的两个方案(自己开发、或全部购买)时,我们仍无法确定哪个方案会更好。因为,根据当时已接触到的ERP供应商、咨询公司的有关信息,我们分析,即使在5月底勉强完成系统,仍会存在大量的风险和问题。到最后,一家名为斯麦里的管理咨询有限公司,从众多咨询公司中脱颖而出;这家公司,作为Odoo的官方合作伙伴和经销商,向我们清晰展示了ERP方案,针对我们业务现状,给出了切合实际的整体解决方案,并表示,如果能在2014年9月双方签约,那么在2015年3月底前,由斯麦里(Smile)管理咨询有限公司负责实施,完全有把握将成熟的系统部署到我们公司的“数据中心”上。

    这样,经过多方比较和分析,我们最终签约、选定“斯麦里(Smile)管理咨询有限公司”,作为我们实施Odoo ERP的咨询公司。

    在2014年9月到次年3月间的6个月里,我们和咨询公司一起,做了大量的系统集成、部署等工作,各项工作快速推进。

    问:那您能介绍一下最终交付的解决方案吗?

    答:哦,是这样的!最后上线的系统,远远超出了销售模块的范围。当然喽,我们现在的订单已全在Odoo ERP销售模块里下了。销售订单下达后,我们接下来要关心的,就是要确保已下单的车辆,能够按期采购到,这样就触发了库存管理模块(WMS)。

    之后,进销存模块,便启动了货品的采购流程。采购模块内有2路流程被触发,根据事先设定的订单分发的逻辑安排,一种可能是,我们采购的车辆,会在欧洲本土进行制造,这样的话,进销存模块会把订单导入“Odoo制造”模块,由它来驱动工厂制造、装配;另一种情况是,有些车辆,需要向日本、美国、中国的工厂进行跨国采购,这样的话,订单就自动被导入“Odoo 采购”模块了。

    后来,我们还追加购买了“Odoo 财务”模块,因为我们需要在Odoo系统里,直接开出发票,以便向客户结算货款。

    《OdooERP应用与开发案例教程》试读:第三章-成功案例

     

    《OdooERP应用与开发案例教程》试读:第三章-成功案例

     

    为了将原有那款软件充分利用起来,我们自行开发,将原有软件集成到Odoo ERP系统中。要知道,我们以前虽然自行开发了不少程序,但在这之前,我们对Odoo却一无所知。这是一个能激发潜能、而且引人入胜的工作。至今天,我们已经拥有了一套集成的、可自动运行的系统解决方案:自从导入Odoo ERP系统后,从下单到发货、开票收款的整个流程中,公司的财务系统、装运发货系统、工厂制造系统(法国的、或是日本的)已全部实现协同,这真正实现了业务、财务的一体化,企业管理水平和效益得到了极大提升。完成这么复杂的ERP系统导入、集成工作,只花费了短短几个月,咨询公司的工作效率,实在是太高了!

    《OdooERP应用与开发案例教程》试读:第三章-成功案例

     

    问:那请问,Odoo 开源ERP系统如何促进了贵公司业务的开展呢?

    答:这套OdooERP系统,是在今年5月18日正式上线的,而现在刚到8月份,所以用精准的数据来评估这套系统对业务改善的贡献,还为时尚早。

    但毫无疑问的是,这必将大大节省我们IT系统的运维费用;因为我们知道,以前我们使用的是“闭门造车”自行开发的系统,而现在我们拥有的OdooERP,是Odoo公司官方发布、并获得业界广泛赞誉的管理信息系统。此外,我们相信Odoo公司,在将来新发布的版本中,会集成更多、更好的功能模块,而且集成开发本身也会变得越来越简便、容易,这将为我们的用户创造更多的价值,而这正是我们孜孜以求的!

    促使我们选择OdooERP系统的一个关键因素,是Odoo系统实施所需的时间较短。试想,如果没有在市场上发现Odoo,而选择了其他品牌的ERP系统,我真的不能保证能在集团要求那么短的时间内,能够确保系统成功上线。

    选定Odoo的咨询公司“思麦里”后,该公司不仅帮助我从忙于救火、晕头转向的状态中解放出来,而且帮助我的日常管理工作,向着越来越顺、越来越有秩序的方向发展,这使我非常有信心,在3月底前完成ERP系统的导入、实施工作。对我来说,这是送给我的最好礼物! 只用了短短数月时间,就将如此庞大、复杂的整体解决方案,顺利实现上线,真实奇迹!但我们真的做到了,而且没有出现任何问题!(大笑)

    问:最后,请您描述一下贵公司最看重Odoo 开源ERP系统的哪些优势呢?

    Odoo ERP 系统运行到今天,使我们更加深刻认识到,Odoo系统带给我们的最大优势,就是Odoo ERP 系统的开源性,这使它变成了一个可扩展性极强的平台。基于这个优势,今后,我们公司可以随着业务的不断发展,来不断扩展我们的信息系统。将来,我们有可能用Odoo的现有模块,来彻底替换我们那些老旧的自行开发的模块。到那时,我将彻底告别那些让我头疼不已的老款软件,你知道,我是多么期待那一天早日到来呀!(大笑)

    如果选择的ERP系统,能进一步挖掘我们已有资产的潜能,那对我们来说,实在是太好了!在我们IT部门,最好的资产就是人材!在法国公司,我们拥有软件开发、IT技能最好的工程师。眼下,我们尚不能用一个商业化的投融资模块、来替换原有的投融资模块,因为这会导致基于挖掘原有模块中已存储的数据而产生的附件价值信息将损失殆尽。因此,最好的办法,就是通过培训我们的工程师,让他们在Odoo ERP开源平台上,不断开发公司业务需要的新功能模块,来不断提升ERP系统的价值。在已有的ERP多个品牌中,只有Odoo ERP系统,拥有这个得天独厚的开源优势,这对我最重要,也是我最看重的!

    最后,作为个人用户,我认为,Odoo ERP系统,他的交互界面都非常人性化,对这一点,公司上下赞赏不已!,面向未来,随着公司的发展,将会有越来越多的功能模块集成到Odoo ERP中,系统功能也将会大大扩展,到那时,公司将能够看到,这套Odoo ERP系统给公司带来的价值,也会越来越多、越来越大!

    文章编辑:开源智造(OSCG) - 源自欧洲,业界领先的免费开源ERP Odoo金牌服务机构

    展开全文
  • odoo看板

    2020-11-18 16:09:05
    Odoo 12开发之看板视图和用户端 QWeb 前言: Qweb是odoo使用的模板引擎,基于xml来生成HTML片段和页面. 通过Qweb可生成丰富的看板视图,报表和cmx 一·了解看板 两种布局 # 1. 卡片列表 # 2. 组织成不同的卡片 二·...
  • 表分区减小了索引的大小,并使得常访问的分区表的索引更容易保存于内存中。 当查询或者更新访问一个或少数几个分区表中的大部分数据时,可以通过顺序扫描该分区表而非使用大表索引来提高性能。 可通过添加或移除...
  • 本文来自《OdooERP应用与开发案例教程》的试读章节。书籍尚未出版,请勿转载。欢迎您反馈阅读意见。 PostgreSQL是Odoo支持的数据库。PostgreSQL是起源于大学的一个历史很长的开源数据库系统。包括美国航天局NASA、...
  • 本文转载自Odoo云官网:www.odooyun.com,欧度软件江苏有限公司是Odoo在中国国内的官方合作伙伴,为中国企业提供优质的Odoo实施、培训、二次开发以及公有、私有云等一系列服务。 Odoo设计规划了许多企业应用模快,...
  • odoo 中实现多列搜索

    2016-03-18 11:43:00
    odoo 中很多many2one字段很多都有需求要显示 name+description的。 类: class vp_project(models.Model):  _name='vp.project'  _inherit = ['mail.thread', 'ir.needaction_mixin']  _discription='...
  • 版权声明:本文由神州数码云基地团队整理撰写,若转载请注明出处。 前言 ...之前讲过一篇基于Odoo脚手架工具来搭建第一个自定义模块的文章,主要讲解的是利用Odoo源码中自带的Models和Views相关代码,
  • odoo的字段属性

    2019-12-10 11:11:17
    3 index=True,增加数据库索引,提高搜索查找速度 4 required=True设置字段必填 5 size=64,char类型字段设置字符大小? 6 default=False,默认值 7 oldname=" " 8 related=‘ ’ , 关系字段 9 compute ...
  • Odoo 字段基本属性

    2021-01-19 11:32:01
    gitee代码地址:点击跳转(分支learning_odoo12) 微信公众号二维码: Basic fields odoo定义字段的几种类型: class odoo.fields.Char() 定义str类型的字段 class odoo.fields.Boolean() 定义布尔类型...class odoo.f
  • odoo api

    2018-07-24 17:29:05
    odoo的模型都是从class odoo.models.Model(pool, cr)继承而来 模型的属性结构: 1._name 业务对象的名称 2._rec_name 可选的name字段名称,供osv的name_get()方法使用,默认值name 3._inherit 如果设置了__name...
  • 此需求是要在采购订单行里添加一个字段,但是不能有更新代码的...已索引:False 已复制:复制的时候是否被复制值 追踪:值变更是否显示记录 序列化字段:未知 关联字段: order_id.name (相当于related) 依赖:计算字
  • odoo字段定义的参数

    千次阅读 2015-06-01 13:50:53
    字段定义中可用的参数有, change_default,readonly,required,states,string,translate,size,priority,domain,invisible,context,selection。 change_default:别的字段的缺省值是否可依赖于本字段,缺省...
  • odoo导出到Excel

    千次阅读 2019-05-06 08:47:25
    1.其实感觉这里完全可以不放这个函数的,但为了符合我个人阅读习惯,加上去的 ...odoo.define("bicon_base_data.excel_report", function (require) { var FormController = require("web.FormController"); var ...
  • odoo 附件上传的三种姿势

    千次阅读 2019-01-25 15:21:25
    在应用里搜索附件列出以及文档索引,安装模块即可 这样在编辑界面就可以看见附件上传按钮,上传即可 2.代码按钮上传第一种方式 在 model 类中添加如下代码 attachment_number = fields.Integer...
  • Odoo12源码安装,windows本地版 准备工作: odoo12是按照python3.6以上版本的 首先在windows下准备好python3.6,并进行安装 直接去python官网下载3.6及以上版本: ...找到对应的python3.6.7进行下载. ...
  • odoo12:常用字段属性

    千次阅读 2019-01-21 01:10:19
    在字段上添加数据库索引,以便以缓慢的写入操作为代价 加快搜索操作。 copy=False 在使用重复记录功能copy()ORM方法时,忽略该字段,默认情况会复制 字段值 ,但默认情况下不复制的对多关系字段除外。 groups...
  • odoo环境配置

    千次阅读 2019-04-03 14:37:54
    在更深入了解 Odoo 开发之前,我们应配置好开发环境并学习相关的基础管理任务。本文中,我们将学习创建 Odoo 应用所需用到的工具和环境配置。这里采用 Ubuntu 系统来作为开发服务器实例的主机,可以是云服务器、本地...
  • Odoo Excel报表的设计及实现

    千次阅读 2018-09-14 17:04:25
    对于目前插件提供的add_table方法,具有一定的局限性,特殊列需要我们根据索引定位,且每张报表字段数量和顺序不同,很难实现一套列样式适用所有报表。   代码架构: 两个类: 数据类和打印类 数据类...
  • 3、odoo对象关系映射

    2020-12-17 14:22:57
    3、odoo对象关系映射 ORM层是Odoo的一个关键组件, 它可以避免大部分的SQL语句编写从而提高扩展性和安全性. 业务对象用派生自Model的Python类(模型)来编写, 该类的_name属性定义了模型在Odoo系统中的名称. 详情参考...
  • 配置odoo开发环境 编辑server 目录下的odoo.conf文件,主要是以下几项: addons_path = C:\Odoo14\server\odoo\addons admin_passwd = $pbkdf2-sha512$25000$IERorTXmvDemlDLGGOMcAw$QgMxdw1Fl2..... db_host = ...
  • odoo 中的不同字段,丰富了其所在模型的信息。某个模型下,出现了何种类型的字段,表示当前模型可以存储什么类型的信息。我们可以理解为模型是由字段配置出来的,也就是说字段装饰了模型。 同样的,对于字段来说,...
  • Odoo12 Field属性简介

    千次阅读 2019-01-29 20:39:46
    # 是否为该字段在数据库创建索引(布尔值,默认为False) :param default: the default value for the field; this is either a static value, or a function taking a recordset and returning a value; use `...
  • ubuntu下部署安装和部署odoo1. 在Ubuntu中安装Docker2. docker的使用3.docker安装部署odoo环境有什么问题(*比如:怎么在服务器上修改odoo源码之类的*)可以留言或者vx-13716678762 qq-1678760491 本文参考文献: ...
  • odoo 对 many2many one2many的操作

    千次阅读 2018-09-01 11:03:03
    many2many (0,0,{values}) 根据values里面的信息新建一个记录。 (1,ID,{values})更新id=ID的记录(写入values里面的数据) (2,ID) 删除id=ID的数据(调用unlink方法,删除数据以及整个主从数据链接关系) ...
  • Odoo(原名为OpenERP,更早之前则为TinyERP)是一套企业资源规划(ERP)及以客户为中心的客户关系管理(CRM)系统。以Python语言开发,数据库采用开源的PostgreSQL,系统以GNU GPL开源协议发布。 系统提供较灵活的...
  • 本教程假定已经在windows10下搭成odoo13可运行环境,若需搭建开发环境请参考文章...命令行格式 odoo-bin scaffold <module name> <where to put it> ...
  • odoo14 基本的models理解

    2021-07-30 12:13:53
    _name: 是一个用来标识我们新创建的odoo模型的标识符 _description: 不是必须的,它表示用户在用户界面看到的用来描述我们模型的标题记录 _order: 设置了当模型的记录被浏览时的默认顺序。就是在底层数据库对模型中的...

空空如也

空空如也

1 2 3 4 5 ... 18
收藏数 341
精华内容 136
关键字:

odoo索引