- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有 1500 多种产品和 2000 多个地点。我已经使用产品中的更新库存向导更新了库存,并且还处理了一些交货订单和内部移动。现在我想把库存清零。我编写了一个脚本来将库存清零。问题在于,将库存更新为零需要花费太多时间,因为每种产品可能位于 2000 个地点的任何位置。是否有 OpenERP 函数可以返回产品可用的所有位置?
最佳答案
为了保持数据模型简单 ( KISS ) 并避免缓存失效问题,OpenERP 不会保留每个位置当前产品库存的缓存。该信息是通过计算进入和离开每个库存位置的库存交易的复式记账余额来获得的。这与财务会计中使用的复式记账非常相似。
有多种方法可以使用 OpenERP API 以编程方式获取此信息,即查询每个 stock.location
的 stock.move
模型。对于初学者,您可以查看 stock.fill.inventory
wizard class stock
模块的一个选项,它可以选择用零行填充实际库存。 product.product
模型还有一个 get_product_available
方法,用于返回给定产品集的此信息。
然后,您可以创建相应的对应 stock.move
条目,以在每个位置实现 0 余额,其方式与标准 stock.fill.inventory 非常相似
向导可以。
或者,如果您只是想一次性删除整个库存及其历史记录,那么有一种快速但肮脏的方法。您可以使用数据库上的直接 SQL 查询(例如使用 psql
命令行工具或 pgadmin)来完成此操作,只需删除 stock_move
和 stock_picking
表。
不要在具有真实数据的生产数据库上执行此操作!这将删除数据库的一部分
假设您已经安装了销售管理模块 (sale
) 并使用 OpenERP 6.1,则以下操作应该可以删除库存交易的历史记录及其来源文档:
哦,首先要进行备份!
DELETE FROM stock_move;DELETE FROM mrp_production;DELETE FROM stock_picking;DELETE FROM sale_order;DELETE FROM procurement_order;
关于odoo - 如何在OpenERP中将库存清零?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12478160/
我是一名优秀的程序员,十分优秀!