Odoo 仓库调拨移动过程中 单位不允许错误的分析及解决方案

Odoo 仓库调拨过程中,有时候会碰见一下错误内容:

The roundings of your Unit of Measures on the move vs.  on the product don‘t allow to do these operations or you are not transferring the picking at once.

这个错误的提示莫名其妙,看起来好像是因为某个产品的单位设置的不对造成的,然而经过一番分析,才发现里面别有洞天。(在这里我忍不住还是要吐槽一下汉化翻译小组,什么‘计量单位上的圆整操作,产品上的X不允许这些操作或是你没有立即转移这些分拣’,本来英文给的提示就够模糊的了,翻译更人让人崩溃)

代码的分析位置在 stock.py 文件的action_done方法中,简而言之,就是每一个move操作都会有一个隐藏起来的operation与之对应,而这些operation中包含的产品、数量、单位才是真正要移动的(几点transfer按钮的弹窗界面)。每个operation会有一到多个linked_move_operations_ids,是为满足operation而保留数量的move列表。之所以出现,上述错误提示,是因为某种原因导致picking的move_lines里有某些line的数量为0,而operation里的数量并没有同步地改为0,导致了operation里的move ids 要多于move_lines里的move ids。

找到了原因,解决的办法就简单多了,找到move_lines里与operation里不一致的那条operation,删除掉就OK了。

按道理讲,这应该算是Odoo的一个bug,认为手动更新lines的数量,对应的operation应该及时更新才对。

时间: 2024-08-27 14:26:08

Odoo 仓库调拨移动过程中 单位不允许错误的分析及解决方案的相关文章

安装python caffe过程中遇到的一些问题以及对应的解决方案

关于系统环境: Ubuntu 16.04 LTS cuda 8.0 cudnn 6.5 Anaconda3 编译pycaffe之前需要配置文件Makefile.config 1 ## Refer to http://caffe.berkeleyvision.org/installation.html 2 # Contributions simplifying and improving our build system are welcome! 3 4 # cuDNN acceleration

配置BGP 过程中最容易出现的问题。及解决方案!

在配置过程中最容易出现的问题! 往往是很简单.很容易的问题,我们大家常常会忽略, 在配置过程中容易把配置中 peer 192.168.34.4 as-number 64513 配置成65413. 解决方案:在R3或R4中开启debugging 强力建议在真机中不要使用 debugging <R3/R4> terminal monitor<R3/R4> terminal debugging <R3/R4> debug bgp x.x.x.x all -->查看某一个

扩展jQuery的方法统一处理AJAX调用过程中产生的异常错误信息

由于项目中大量的实用了.post方法,而该方法默认不对请求的异常进行处理,后期又要处理该问题.前期的解决方案是将使用.post请求都改造为$.ajax请求,但由于两个方法的实现(需要的参数)等相差很大,修改起来很麻烦! 期间尝试使用定义"AJAX 请求发生错误时执行函数($(document).ajaxError())" 的方式来解决问题,但影响范围太大,长轮询发生的错误也被捕获,导致页面一打开就弹出系统异常的对话框. 所以这里采用扩展jQuery的方法的技术来解决问题: /* 扩展j

apache安装php7过程中遇到到段错误

1.假如apache的配置文件httpd.conf同时加载libphp5.so和libphp7.so 2.如图所示,modules下同时存在libphp5.so/libphp7.so 3.启动apache,遇到下列错误 4.解决办法就是卸载php5:yum remove php;因为我是yum方式安装的php5,所有yum remove卸载掉即可 同时在httpd.conf中注释掉php5的模块

在下载SOPC代码的过程中遇到的一些错误

(1)Error (209015): Can't configure device. Expected JTAG ID code 0x02D120DD for device 2, but found JTAG ID code 0x00000000. 今天下载代码到板子中遇到的一个比较迷的问题,一开始下载了三次都是这个问题,百度上有人说是Device选错了,我查了下我并没有选错,也有人说是电压不稳定的,这就很尴尬了.于是我将代码重新编译了一下,然后换了一根下载线来下载,发现竟然可以成功下载了,我又

List&lt;子类&gt;转List&lt;父类&gt;过程中犯的一些错误

新人犯的错误,记录一下供以后参考. 有两个类 1 public class A 2 { 3 public string Name{get;set;} 4 } 5 6 public class B:A 7 { 8 public int Age{get;set;} 9 } 有一个方法,需要类B age作为条件,最后要返回的是其父类A的集合 1 public List<A> GetAByAge(int age) 2 { 3 //方法体 4 } 本心想着,B是A的子类,直接返回List<B>

ruby on rails 的使用过程中,遇到的错误及解决办法

1./data/drolay11/lcb_saas/tmp/build-147274463612855/vendor/bundle/ruby/2.1.0/bin/rake: symbol lookup error: /data/drolay11/lcb_saas/tmp/build-147274463612855/vendor/bundle/ruby/2.1.0/gems/mysql2-0.3.17/lib/mysql2/mysql2.so: undefined symbol: mysql_ge

ansible安装过程中常遇到的错误

1.安装完成后允许命令报错 Traceback (most recent call last):   File "/usr/bin/ansible", line 197, in <module>     (runner, results) = cli.run(options, args)   File "/usr/bin/ansible", line 163, in run     extra_vars=extra_vars,   File "

Linux系统在启动过程中启动级别发生错误的解决办法

一.系统启动级别一共有六个: 0:系统停机模式,系统不可以正常启动 1:单用户模式, root权限,用于系统的维护,禁止远程登陆 2:多用户模式,没有NFS网络支持 3:完整的多用户文本模式,有NFS,登陆后进入控制台命令行模式 4:系统未使用,作为保留一般不用 5:图形化模式,登陆后进入GUI模式 6:重启模式,默认级别不能为6,否则不能正常启动 示例:若我们设置默认模式为poweroff.target,则在开机的时候会出现启动关机死循环状态 使用reboot命令后,会出现如下情况:(停在该位