_# jeffery # focus on Odoo and other open source solutions # IT基础架构资深专家，开源解决方案专家，odoo资深专家__Q:913547235 讨论群397750860

Activity

Quant 份

procurement 补货

新特性

组织架构

HR 员工资料, 引入了组织架构图,

1, 城市管理

2, 精确地址输入, 门牌号

域 widget

domain widget用来撰写 doamain条件非常方便, 目前还不能在 search box 使用, 可惜.

功能重构

Quant 份

[REF] stock: new quant implementation

The main idea of this new implementation is that stock.quant is now a

cache of the quantity per location/lot/pack/owner key. We removed every

identity per record, such as history_ids or inventory_value so that

we can now avoid the linear creation of stock.quant records and are able

to work with only one record per key.

The algorithms to retrieve the quantity per key are made to work with

multiple records, this way we can implement strategies to workaround

postgres locks if concurrent transactions try to work on the same quant

row.

Quants will not be linked to moves anymore, this is in order to be able

to edit stock moves more easily/freely. We removed the links with this

commit and wipe out the action_assign on stock move. This will be

implemented in a followup commit, once the relations between stock.move,

stock.pack.operation and stock.quant are clarified.

This commit seems to have unecessary diff, but it was done in order to

run tests on the new implementation.

We adapt the views by removing the fields not present anymore in the

model. This include the complete removal of the inventory valuation

view, as the implementation of stock valuation will be refactored and

moved on stock.move in a following revision.

We wipe out action_cancel, recalculate_move_state,

move_quants_by_lot_v10 and quants_unreserve.

* get_removal_strategy moved from stock.move to stock.quant

Stock quant model:

* qty renamed to quantity

* history_ids: because the quants are not moved

* inventory_value: implementation moved to stock.move

* packaging_type_id: doesn't seem to be used (in filters?)

* propagated_from_id: because we do not split forced quants

* reservation_id: because the reservation are not linked to

the stock.move.line

We remove the lot_ids computed field, as it depended on the link

between stock moves and quants and could be replaced by a related

to the move lines once the new relation between stock.move,

stock.pack.operation and stock.quant is clarified in a further commit.

Furthermore, the field was not displayed to the user.

picking拣货

Odoo8重构库存时, 引入了stock.pack.opertaion 与 stock.picking之间是 Many2one关系, stock.picking 与 stock.move 之间是 One2many, stock.move 和 stock.pack.operation之间是 通过stock.move.operation.link 建立逻辑关系

Odoo11重构将 stock.pack.opertaion 改为 stock.move.line, 将之与stock.picking的关系 改为虚拟关系, 与stock.move 之间则是 Many2one关系

[REF] stock: new picking, move and pack.operation implementation

The big change is that we have now a many2many between the move and a

one2many between a move and its pack.operation (note: this model is

renamed as stock.move.line in a further commit).

Due to these changes, action_done had to be rewritten intierely, as it

that are now removed. This method was laregly inspired by the one in the

mrp module, and a further commit will make MRP uses all the core of

stock.

Due to the previous commit that refactored the stock.quant

implementation, the new concept is that the product_qty that will

always be in the uom of the quant (product_qty is a computed field in

the same style as the one of stock.move).

This commit also implements the logic that a manager is able to edit

done stock.pack.operation.

The stock.move has now a "partially_available" state (it was previously

a flag). The "split_from" field is removed now that we have a many2many

between moves (a sibling move is always a move that was splitted, or

with the backorder_id field).

The done quantity of a stock move is computed across the done quantity

of the move lines. There is an inverse method that allows user to fill

the done quantity directly on a stock move.

The reserve quantity of stock move is computed accross the

product_qty of the linked pack operations.

do_unreserve will simply unlink the associated pack operation.

Unlinking a pack operation will unreserve.

force_assign will mark the move as available, in order to allow the

user to create pack operations (none are created because nothing was

reserved).

action_assign is rewritten and splitted in two parts: if the move has

a parent (mto) or not (mts). In the mto, we'll check the available move

lines and only reserve accordingly. In the mts, we'll reserve directly

on the quants.

action_cancel has changd a lot: in case of a delivery, the first step

does not anymore propagate cancellation to following moves and SO. As a

result it does not propagate in the other side in case of MTO or production.

It does not delete them if we delete the related sale order for example. In

order to correct this next activities will be added in the future. Technically

action cancel on move is based on procurment rule, this commit will set

the propagate field to false on the rule if the picking_type is 'pick'

or if we are in one step delivery.

We use this commit to reimplement action_assign (wiped by the new

quant implentation). A move is reserved if its move lines exist, so we

introduce a one2many between stock.move and stock.pack.operation (note:

a further commit renamed this model into stock.move.line)

We use this commit to implement action_done (wiped by the removal of the

models making the link between stock.move and stock.pack.operations). We

can use the one2many to the pack operations.

blabla manymany au lieu de one2many

blabla mto mts

Remove get_ancestors, as orig_ids will be used instead

validation

when we are creating some packe operation with lot name, the

pack_operation are unlink and a new picking is craeted.

This is caused the function _create_lot_for_picking that unlink pack

operation having no quantity reserved instead of ones having no quantity

done.

To fix this we changed product_qty to qty_done and move the code from

action_done of picking to action_done of move

fixup! [IMP] Merge_moves functionality + many2many procurement and original moves instead of one2many

fixup! [REF] stock: basics of new model and stock.move reservation

edit reserved move line

This is the 1st commit message:

These models will become useless once a one2many will be made between

stock.move and stock.pack.operation.

The action_done method on stock move has been wiped, as it depended

completely on the removed models.

Joint work with Josse Colpaert <jco@odoo.com>, amoyaux <arm@odoo.com>

and Pierre Masereel <pim@odoo.com>

procurement 补货

[IMP] stock: remove procurement orders to fufill immediately

This removes the procurement.order model. To fufill their needs SO, PO, MO and

stock moves now call the _run method of the relevant procurement.group.

This mecanism is now only used for stockable product, tasks now uses their own

independent mecanism.

The _run method will check all the applicable rules and create directly the

needed model to fufill the need.

The modules stock, purchase, mrp, extends the _run method to implement their

specific strategy relevant for the rule type they define.

If an exception happens the message will be logged as a mail messsage on the

source model, for example, if a sales order cannot be fufilled the salesperson

will now see directly the reason.

OLD commit messages:

[WIP] procurement: removing procurement.order in stock, sale, purchase, sale_stock. WIP

fixup! [WIP] procurement: removing procurement.order in stock, sale, purchase, sale_stock. WIP

[IMP] Basic tests

[FIX] test not necessary anymore

[FIX] remove unnecessary print statement

[FIX] unnecessary test + why passing warehouse worked before?

[IMP] purchase: one move by purchase order line

[FIX] purchase: correct inventory tests and pass move_dest_ids among procurements

[FIX] because of bad cherry-pick merge

[IMP] make mrp pass by adding move_dest_ids there too

[IMP] tests of sale_mrp, no need for cancelpropagation then

[IMP] better to consistently use recordsets also for one2many

[FIX] purchase_requisition

[FIX] Exceptions should trigger errors, which should be caught in the tests

[FIX] sale_mrp: remove usage of procurement.order and use sale order name instead of sol

[FIX] stock_dropshipping: add sale_line_id on purchase_line_id

[FIX] Remove pdb

[IMP] stock: search carrier through sale line instead of procurement group

[IMP] add procrule test and preision needed when updating sol

[FIX] sale_order_dates + [IMP] procurement exceptions by scheduler

[FIX] No need to return task

[IMP] move file as name changes and add corrections

[FIX] Continue Run Schedulers wizard fix

[FIX] name issues of takss

[FIX] updating sale order line, but there is still a problem with the recompute

动作绑定

<field name="binding_model_id" ref="account.model_account_account" />

<field name="binding_type">report</field>

去掉了stock calendar

posted on 2017-10-14 14:04 odoouse 阅读(...) 评论(...) 编辑 收藏

统计

• 随笔 - 110
• 文章 - 0
• 评论 - 7
• 引用 - 0
_# jeffery # focus on Odoo and other open source solutions # IT基础架构资深专家，开源解决方案专家，odoo资深专家_