1

概要

すべての出荷と製造オーダーを満たすには十分な大きさではない原材料の出荷を受け取るシナリオで、それらの原材料がどの出荷と製造オーダーに割り当てられるかをどのように予測できますか?

詳細

次のことを行った新しいテストデータベースがあります。

設定

  1. 製造する製品、make_to_stock を作成します (「キャビネット」など)。
  2. 購入する製品、make_to_stock を作成します (「木材」など)。
  3. 1 つの BOM ライン、1 つの「Wood」を含むキャビネット プロダクトに BOM を追加します。
  4. サプライヤーをキャビネットに追加する
  5. Wood の VA をゼロに保つ (つまり、在庫を保持しない) ためのオーダーポイントを追加します。

プロセス

  1. キャビネットの調達依頼を作成する
  2. 調達の実行
  3. 調達では、キャビネットの MO を作成し、BOM を見つけ、キャビネットと木材のいくつかの移動ラインを作成し、各製品の調達を作成しました。
  4. MO から Wood の調達を確認し、例外に入るのを監視します。

この時点で、システムには 4 つの在庫移動があります。

1. Cabinet Stock->Stock, from initial procurement, in state 'confirmed' (waiting on #2)
2. Cabinet Production->Stock, from MO, in state 'waiting' (waiting on #3)
3. Wood Stock->Production, to be consumed by MO, in state 'waiting' (waiting on #4)
4. Wood Stock->Stock, procurement reservation from MO input, in state 'exception' (no stock found)

さて、続行するには:

  1. スケジューラを実行します。これにより、定義したオーダーポイントに基づいて VA < 0 であるため、木材の新しい調達が作成されます。また、その調達を確認して実行します。これにより、木材の新しい発注書が作成され、下書きの在庫移動が設定されます。
  2. 在庫移動を割り当てる PO を確認します。
  3. この時点で、木材が配達されるのを待っています。商品の受け取りに行き、在庫移動を確認します。

この時点で、4 つの在庫移動は同じ状態にあり、Wood 用にさらに 2 つ、Suppliers->Stock から 1 つ、Stock->Stock から 1 つです。最後のステップで、Stock->Stock への移動を確認しました。

現在、在庫は1本ですが、在庫不足のため例外的に1本木材を調達しております。

私の質問は、この木材が将来どこに割り当てられるかをどのように判断できるかということです。それが不可能な場合 (そうではない可能性があるようです)、調達を再試行して成功したことを確認した後、在庫移動が最初に割り当てられた場所をどのように確認できますか?

なぜこれが必要なのかを明確にするために、いくつかの製品を納品する予定であり、それらを物理的に在庫に置くか、それを必要とする機械の前に直接置きたいと考えています. つまり、MO の割り当てられたスロットまで、配送在庫の移動を直接追跡できるようにしたいと考えています。

追加の参考として、木材の調達が再試行された後の在庫の動きは次のようになります。

#Initial Procurement
37787: 1.0 Base Cabinet (copy) [Stock -> Stock] (confirmed waiting for 37788) (procured from 16580)
#MO final product
37788: 1.0 Base Cabinet (copy) [Production -> Stock] (waiting waiting for 37789) (finished product of MO 7433)
#MO source product (has move history with 37790)
37789: 1.0 1/2ChinFPly1s (copy) [Stock -> Production] (assigned waiting for 37790) (to be consumed by 7433)
#Procurement for input, waiting for something in stock
37790: 1.0 1/2ChinFPly1s (copy) [Stock -> Stock] (done) (procured from 16581)

#------------------------------
#------------------------------

#Procurment from Orderpoint, putting something in stock (has move history with 37794)
37791: 1.0 1/2ChinFPly1s (copy) [Stock -> Stock] (done waiting for 37794) (procured from 16582)
37794: 1.0 1/2ChinFPly1s (copy) [Suppliers -> Stock] (done) (final move of PO line 3)

最初の 4 つの手と最後の 2 つの手を接続する方法はないようです。

4

2 に答える 2

1

コア openerp には、どの注文からどの注文に割り当てられているかを示す機能はありません。役立つ fifo lifo モジュールを実装するか、インターネットで検索する必要があります。参照用: http://www.youtube.com/watch?v=DfoxZLxagXQ

于 2012-08-24T09:19:31.257 に答える
0

スケジュールの早い段階で調達されたものは、あなたが受け取ったばかりの貨物の中で最初に選ばれるようです. MRP スケジューラが実行される前に調達を手動で再実行するか、date_planned調達のフィールドを調整することで、これをオーバーライドできます。

出荷が受領された後に MRP スケジューラーが次に実行されるとき、例外状態にあるすべての調達を調べて、それらを再開しようとします。スケジューラ コードでは、 の順序で処理されていることがわかりますdate_planned

if not ids:
    ids = procurement_obj.search(cr, 
                                 uid, 
                                 [('state', '=', 'exception')], 
                                 order="date_planned")
for id in ids:
    wf_service.trg_validate(uid, 'procurement.order', id, 'button_restart', cr)
于 2012-08-24T19:51:37.043 に答える