跳转至内容

Odoo 开发与实施交流

2.3k 主题 10.4k 帖子

No decsciption available

  • 0 赞同
    1 帖子
    1k 浏览
    G
    原文地址(更好的阅读体验): https://www.sunpop.cn/central_kitchen_multi_company_food_distribution_supply_chain_manage/ 客户背景 M记是全国知名的连锁式餐饮集团,在全国主要城市均有多家门店。 原使用一般的POS收银系统对业务进行管理,随着门店不断增长,业务结构进行了调整。增加了中央厨房配送,门店也快速扩充成直营与加盟混合经营,由此也对信息系统提出了更高的要求。 需求 客户希望使用新的系统后,可以进行集团化管理,从总公司、中央厨房、门店三个维度进行独立核算同时又全局化供应链管理。 新的经营模式在门店端分为加盟店及直营店,每个城市都有中央厨房为门店进行配送。 集团总部位于乌鲁木齐,每个城市的中央厨房都是乌鲁木齐总部下属独立核算的子公司。 当地的门店向中央厨房进行采购,而中央厨房向总部采购或直接向供应商采购,总部向各供应商进行集中采购。 同时,中央厨房还要将食材进行加工才可配送至门店。 公司间流程 [image: 1558936284396-6a78584d-803b-4438-b3cd-94994ffa8aa5-image.png] 相关公司列表 [image: 1558936305810-89a6d2c3-aaf0-4306-bcb6-594a73134f85-image.png] 最终实现目标 总部+直营店、中央厨房、加盟店各自是独立法人公司,所有业务单据,财务核算全部独立 在独立核算的前提下,所有门店、中央厨房会自动根据业务情况及设定的规则生成向对应往来单位结算的相关采购单,调拨单 总部可以即时看到所有中央厨房,门店的业务单据并进行统计 每家门店在中午11:00,及下午16:00自动根据业务需求生成向中央厨房的采购单 中央厨房可以即时看到自己下属配送的门店所有的采购单,即时进行采购及配送 实施周期 两周。 客户采用了 sunpop.cn 成熟的食品供应链解决方案,做了个性化调整后,进行简单配置即完成了集团连锁管理的需求。 现将其中多公司间交易的相关配置进行实例说明如下: 一:基础设置 1.多公司公司及管理权限设置 [image: 1558936317673-c1e975e2-b92a-4f21-97ba-ce91bbb1b3f3-image.png] 2.公司间关联交易设置 多公司规则设置,【当其它任何集团下公司的环境中确认了一个采购订单给本公司,则本公司环境下自动生成一个草稿的销售单】 [image: 1558936329651-8ac8e41c-e418-41bd-817c-2cd3c27c6fc1-image.png] 再看一下餐饮门店的向中央厨房的交易规则,这里设定了【该辖区餐饮门店向中央厨房采购食材】 [image: 1558936346717-e90344ed-1554-41b2-90ae-9f38e1ed2ab5-image.png] 3.管理员设置 注意各管理员间的权限划分,地区管理员只能管理辖区内门店。 [image: 1558936356306-2a325a09-9cdd-4e13-a594-9773d03fd5f1-image.png] 管理员需要有管理POS的权限 二:产品及补货规则的设置 各个公司对产品供应商和再订购规则都有不同设置,在这里注意,需要切换到不同公司环境下,分别进行设置。 [image: 1558936378071-9c919209-95f1-4dc1-aa9f-fc764335a43f-image.png] 同一个产品,在不同公司环境下,供应商和再订购规则都有不同。设置如下: 中央厨房 [image: 1558936387920-e92e927e-cc6f-49b8-b061-10a5a2f06897-image.png] 门店 [image: 1558936396197-16ca9271-eb63-4de4-a2dd-bd34b23918c3-image.png] 再订购规则可以设置最小数量和最大数量,即安全库存。最小数量为【最少订10个】,最大数量则代表了【订购量=缺货数量 + 预设库存】 [image: 1558936408435-eb21b565-9592-452b-9fd8-30bcc86f68ea-image.png] 三:POS相关 odoo的POS模块,支持零售、餐饮、酒吧、 课室等不同形式的管理。自行设置即可。每个桌台支持多少人同时使用也可自行设置。 [image: 1558936415717-79e7f2d3-cc51-47a4-8155-7291b189f9ce-image.png] 支持选择进行该消费的客户。 [image: 1558936424441-d94006eb-0f23-4d30-98e3-9fb1416911d9-image.png] POS销售的产品,订单在POS模块里查看,销售模块里不会显示。另外需要注意的一个点就是,POS订单是不会自动产生补货请求的,所以销售的产品默认采用MTS。就算设置了MTO,也不会自动生成采购单。如需按正常odoo补货逻辑,需要进行二次开发才可对后厨房进行合理管理,可以联系我们获取成熟方案。 [image: 1558936431163-b71f7e6f-4334-442a-98bb-b010f540ab97-image.png] 四:结果展示。 1.销售产品。下单环境是餐饮门店。 [image: 1558936436535-471c8a71-fdf3-442a-9928-cbfadb79dc40-image.png] 2.运行再订购规则(生产环境每天早午各执行一次,并log记录)。 [image: 1558936448941-1504f3c1-8e06-4d95-8873-89321b103f72-image.png] 3.自动生成了采购订单,由餐饮门店向中央厨房采购。 [image: 1558936460678-80ab147e-f4ef-4bd7-b252-9c6c9edc7b8f-image.png] 4.确认这张采购单后,切换到中央厨房环境下。此处可以看到两张销售单。一张是中央厨房下辖的餐饮门店,对客户进行的销售单。另一张就是中央厨房对餐饮门店销售。 [image: 1558936468071-a7e9eba0-5443-47ed-aecc-4e4f2a4ad15c-image.png] 5.而确订中央厨房的通过再订购规则生成的采购单,则总部环境下会自动生成对中央厨房的销售订单。 [image: 1558936476275-9139e264-c41e-4771-b952-351f9326df66-image.png] 以上为odoo12中,通过实例演示加盟与直营式门店加中央厨房的连锁集团,多公司关联交易,和餐饮、零售等行业POS的应用。 谢谢观看。
  • odoo12批量编辑及导入导出数据功能的应用

    1
    3
    0 赞同
    1 帖子
    983 浏览
    G
    原文地址(更好的阅读体验): https://www.sunpop.cn/odoo_export_import_batch_edit/ 任何一个项目,数据初始化和数据清理往往都是项目实施的起点,一个好的开头是项目成功的关键因素,下面我们将说下如何做好这个起点。 在使用odoo的过程中,经常会出现大量繁琐的重复性操作。例如产品价格,成本,产品种类等,除了依次手工修改,还可以采用导出EXCEL文件后修改再导入来进行批量编辑。 为了方便的进行批量编辑,我们要使用批量编辑模块Mass Edit (基于oca模块的优化及修bug)来快速实现。本文将讲解odoo原生的导出导入功能,和批量编辑模块的使用方法。 一.导出导入的使用 1.导出 以产品数据的导出举例,切换到列表模式,勾选需要修改的产品,在动作中选择导出。 [image: 4908857-f16153f1f4031da5.png] 导出时,常用的字段可以保存下来以便日后使用。 ![替代文字]([image: 1558933145718-bed28581-b4f9-451f-b0e8-6373a86a43cd-image.png] 图片地址) 2.修改 一般来说不要导出显示为【/ID】的字段,尾缀为ID的字段有唯一性,例如【外部ID】,那么这个产品的ID就不能重复,如果在这个EXCEL文档里批量新建产品,新建产品的ID就必须是系统里没有的。而显示为【/名称】的字段为常规可改字段。一般产品种类、计量单位等字段的导出,选择字段时就需要选择【***/名称】 [image: webp] 3.导入 导入时进行测试导入,没做更改的可以选择不导入。具体导入项可以通过搜索来选择。 [image: webp] 选择的导入项和字段不匹配,会出现提示,根据提示修改即可。 ![替代文字]([image: 1558933178666-bdb153f4-95c8-45c4-bb05-14000ed5ab58-image.png] 图片地址) 二.批量编辑模块Mass Edit的使用 下载并安装批量编辑模块, https://www.odoo.com/apps/modules/12.0/app_mass_edit/ 进入总设置,在odooApp下选择【批量编辑】 ![替代文字]([image: 1558933215974-efb2cc4b-9343-427e-9a81-34b39cd5b498-image.png] 图片地址) 以产品SKU的批量编辑为例,新建一个【产品SKU批量编辑】的模板。SKU,对应模型为【产品】,SPU,对应模型为【产品模版】。 [image: webp] 为其添加需要编辑的字段。可以根据想编辑的字段名进行搜索。此处需要注意选择对应模型。例如下图中两个TYPE,我们编辑的是SKU,所以需要选择模型为【产品】的。 [image: webp] 选择【添加操作按钮】后保存。 [image: webp] 在产品变体的【动作】中选择【批量编辑】 [image: webp] 出现预设的【产品种类】和【产品类型】的批量编辑界面。在此处进行编辑。 [image: webp] 或在此界面进行【移除】,将原有所有值都设为空值。 不管是导入导出,还是批量编辑。都需要对odoo字段有一定了解。建议【激活开发者】模式,鼠标放置查看字段。 [image: webp] 在实际项目中,数据导入和数据清理都是项目实施的起点,使用上述方法进行批量导入导出,批量编辑,将极大的缩短我们的整体项目周期。
  • 点击事件

    1
    0 赞同
    1 帖子
    586 浏览
    L
    新建一文件test.js内容如下 odoo.define('account.test', function (require) { "use strict"; var Widget = require('web.Widget'); var Test = Widget.extend({ events : { 'click #selectfiles':'_test' }, _test: function (ev) { ev.preventDefault(); alert("asdadss"); }, }); return Test; }); 视图中有一按钮, id为selectfiles JS文件也导入了, 点击按钮未执行alert, 请问是什么原因
  • odoo怎样才能获取dom对象

    1
    0 赞同
    1 帖子
    547 浏览
    L
    我使用JQuery获取页面元素, 但是获取不到,发现都是动态加载的。 请问我应该如何获取dom元素
  • odoo10在修改明细时,怎么获取修改前字段的值?

    2
    0 赞同
    2 帖子
    1k 浏览
    F
    已经找到了解决方法,在write 方法中,参数value--> type <list> 包裹的值,如下图: [image: 1558575390693-7b5e4873-509d-4c37-8a1c-d1803689ca68-image.png] 其中value中的list: 第一个元素 表示 操作类型,0:添加明细, 1:修改, 2:删除, 4:不变,第二个元素 表示 明细id,第三个元素 表示 修改的内容。 要获得修改前的值,可以根据其中第二个元素 id,通过browse 方法 就可以查询到 修改前的 数据行。 如果各位有更好的方法可以在下面继续留言。
  • odoo系统上销售帐称做Invoice发票而不是Bills帐单

    2
    0 赞同
    2 帖子
    1k 浏览
    A
    @226408 一直觉得很奇怪吗多谢高人解释
  • odoo11支持弹出消息提示框吗?

    2
    0 赞同
    2 帖子
    838 浏览
    W
    有查到相关资料: 显示通知的最常见方法是使用来自ServiceMixin的两种方法: do_notify(title, message, sticky, className): 显示一个通知类型的通知:    * title:string. 将会在顶部显示为标题    * message:string. 通知的内容    * sticky : boolean,optional. 如果为真,这个通知将会一直保留直到用户解除。否则,通知将会在一段很短的时间之后自动关闭。    * calssname:string,optional.这是一个css类的名字,将会自动添加到通知中。这对样式有用,即使不鼓励使用它。 do_warn(title, message, sticky, className): 显示一个警告类型的通知。    * title:string.将会在顶部显示为标题    * message:string.通知的内容    * sticky : boolean,optional. 如果为真,这个通知将会一直保留直到用户解除。否则,通知将会在一段很短的时间之后自动关闭。    * calssname:string,optional.这是一个css类的名字,将会自动添加到通知中。这对样式有用,即使不鼓励使用它。 // note that we call _t on the text to make sure it is properly translated. this.do_notify(_t("Success"), _t("Your signature request has been sent.")); this.do_warn(_t("Error"), _t("Filter name is required."));
  • Odoo 12开发者指南(Cookbook)第一章 安装Odoo开发环境

    2
    0 赞同
    2 帖子
    2k 浏览
    T
    你好,当创建并启动第一个Odoo实例时,数据库一直卡在一个位置不动,安装不下去,请问这个问题应该如何解决,非常感谢![image: 1558490806476-e9b19c17-3c7c-4fe8-909a-350042d9d02a-image.png]
  • 怎样在odoo pos的基础上 进行二次开发?新增功能和改变视图

    1
    0 赞同
    1 帖子
    416 浏览
    P
    我想在pos的基础上进行对一个服装销售点的定制化开发,改变pos 收银员操作界面的UI和功能,如何做?
  • 关于odoo中的索引,查询等数据库优化问题

    1
    0 赞同
    1 帖子
    846 浏览
    F
    1、odoo中添加索引有必要么 2、如果有必要的话,odoo中添加索引有什么注意事项,应该给哪些字段添加索引较为合理,另外联合索引怎么添加? 3、添加索引后,有什么注意事项?eg:某表为数据量很大的表,索引字段较多,需要在大量更新数据(update)时,删除索引,并执行update,之后再重新加入索引 4、odoo中orm与执行源生sql两个在什么场景下效率会相对较高,各有什么 5、关于数据库优化,还有什么其他方法与建议?
  • odoo12 中,activity不能使用

    1
    0 赞同
    1 帖子
    591 浏览
    K
    请问在哪里配置才能正常收到activity消息。有部分人能收到,部分人没收到。甚至流程前半段可以收到,后半段收不到。谢谢。
  • 关于models的字段动态 域值(fields中的domain参数),相关问题。

    8
    0 赞同
    8 帖子
    3k 浏览
    F
    @digitalsatori 可以了,万分感谢!!
  • 【求学贴】关于动态创建字段

    3
    0 赞同
    3 帖子
    2k 浏览
    Z
    先谢谢这位老师。!
  • odoo多公司调拨如何实现

    1
    0 赞同
    1 帖子
    444 浏览
    Z
    odoo多公司调拨如何实现?
  • 使用plupload时无法初始化

    1
    0 赞同
    1 帖子
    525 浏览
    L
    由于业务需要想将图片上传到OSS,用到了plupload做web直传 但是我在初始化时不成功,点击选择文件按钮也没有反应,没有报错提示 从阿里下载的demo复制过来, 猜测是因为视图是动态加载的, 导致初始化不成功 请问有什么办法解决吗
  • odoo 自定义onclick事件

    1
    0 赞同
    1 帖子
    675 浏览
    H
    在kanban view中写了一个a标签,自定义了点击事件,但是试了多种方法,系统提示没有定义js_method()方法,这种自定义的方法,在哪里定义? 有遇到类似问题的吗,求指教。 <a href="javascript:void(0);" onclick="js_method()" context="{'status': 'ready_for'}">Ready For</a> 另一种实现:代码如下,但是存在个问题,会调用两次,第一次是正确的结果,第二次是默认的。像是调用后刷新当前页,就会再次调用后台方法,这个就有点不知道怎么搞了,有懂的指导下。 ps:实际要的效果是点击后kanban视图的某个字段就行刷新显示,点击调用后台方法就可以,但是莫名的两次。 <a type="object" name="compute_status()" context="{'status': 'ready_for'}">Ready For</a>
  • 导航栏上的菜单可以调用后台方法吗???

    5
    0 赞同
    5 帖子
    2k 浏览
    Z
    @like_odoo 这个state 在odoo10上是不是可以不用
  • ODOO8 Auto issue alter table add /drop xxxx ;

    1
    0 赞同
    1 帖子
    1k 浏览
    K
    各位专家好; 遇到个问题,odoo 8 时不时自己触发 alter table add /drop xxxx ; 日志如下: ALTER TABLE ""ir_model_fields"" ADD CONSTRAINT ""ir_model_fields_size_gt_zero"" CHECK (size>=0)" ALTER TABLE ir_actions DROP CONSTRAINT ir_actions_create_uid_fkey1",,,,,,,,"exec_simple_query, postgres.c:963", 等等,时间不固定,一旦触发如上事件,数据库会出现lock ,最终造成应用无法使用,只能重启解决(手工删除数据库层alter session ,系统会自动再次触发) 请教各位,大概是那个方面的问题,如何分析、排查。 谢谢!
  • odoo12每隔几个小时就终止服务,客户机无法访问

    4
    1
    0 赞同
    4 帖子
    2k 浏览
    H
    别的的服务器运行的很正常 只有odoo 不正常 还有更好的虚拟机软件么?
  • Odoo 12 自定义按钮事件

    button click javascript
    2
    0 赞同
    2 帖子
    1k 浏览
    Z
    试了下面这个方法可以触发事件,就是更改了“check_jskc”字段的值后,Web页面上没有跟着改过来,求解。 odoo.define('x_ds.mm_wlpz_js', function (require) { "use strict"; var FormController = require('web.FormController'); FormController.include({ _onButtonClicked: function (event) { if(event.data.attrs.custom === "mm_wlpz_jsck_click"){ event.data.record.data.check_jskc= true return ; } this._super(event); }, }); });