Factorizer/Cluster ERP WikiCluster ERP English
Ana sayfa / İş modülleri

Referans

Sevkiyatlar

Sales_orders içindeki shipments alt modülü için başvuru; sevkiyat, kalem, birim, paket ve olay alanları, durumlar, sevk kontrolleri, POD ve sipariş toplaması.

Bu sayfa src/cluster_erp/modules/sales_orders/ içindeki shipments alt modülünü anlatır. Bir sevkiyat (SalesOrderShipment), bir satış siparişinin kalem miktarlarını ve tek tek birimlerini gönderir. Paketleri, taşıma verilerini, bir olay zaman çizelgesini ve teslim kanıtını (POD) taşır. Her sevk ve teslim, sipariş durumunu toplar. Üretilen belgeler ihracat belgeleri sayfasında anlatılır.

Kapsam ve kaynak

  • Tanımlandığı yer: shipments/models.py, shipments/services.py (ShipmentService, dispatch_checks), shipments/routes.py ve shipments/metadata.py.
  • Sayım: 5 tablo, 32 uç (@router. dekoratörleri), 8 ActionMeta girdisi.

Sevkiyat alanları

Grup Alanlar Kaynak
Kimlik code (shipment yıllık dizisi), sales_order_id, status src/cluster_erp/modules/sales_orders/shipments/models.py:37-55, src/cluster_erp/modules/sales_orders/shipments/services.py:624
Tarihler ready_at, shipped_at, eta_at, delivered_at src/cluster_erp/modules/sales_orders/shipments/models.py:56-62
Taşıma tracking_no, carrier, transport_mode, vehicle_plate, trailer_plate, forwarder_party_id, transport_document_type, transport_document_no, mrn, seal_no, incoterm src/cluster_erp/modules/sales_orders/shipments/models.py:66-83
Teslim contractual_ship_to, actual_delivery_address, receiver_name, pod_signed, pod_received_at src/cluster_erp/modules/sales_orders/shipments/models.py:84-92
Notlar on_hold_reason, cancel_reason, notes, extra src/cluster_erp/modules/sales_orders/shipments/models.py:33, src/cluster_erp/modules/sales_orders/shipments/models.py:94-96

Alt kayıtlar

Varlık Tablo Anahtar alanlar Kaynak
ShipmentPackage so_packages package_no, package_type, net_weight, gross_weight, weight_unit_id, length, width, height, dimension_unit_id, volume_m3 src/cluster_erp/modules/sales_orders/shipments/models.py:99-134
ShipmentLine so_shipment_lines sales_order_line_id, qty_shipped, package_id src/cluster_erp/modules/sales_orders/shipments/models.py:137-164
ShipmentUnit so_shipment_units unit_id, package_id src/cluster_erp/modules/sales_orders/shipments/models.py:167-201
ShipmentEvent so_shipment_events event_type, occurred_at, eta_at, location, note, actor_id src/cluster_erp/modules/sales_orders/shipments/models.py:204-222

Durumlar ve aksiyonlar

Servis şu geçişlere izin verir (src/cluster_erp/modules/sales_orders/shipments/services.py:65-74).

stateDiagram-v2
 [*] --> planned
 planned --> ready_to_ship: ready
 packed --> ready_to_ship: ready
 planned --> shipped: ship
 packed --> shipped: ship
 ready_to_ship --> shipped: ship
 shipped --> in_transit: in_transit
 shipped --> delivered: deliver
 in_transit --> delivered: deliver
 planned --> on_hold: hold
 ready_to_ship --> on_hold: hold
 on_hold --> planned: resume
 planned --> cancelled: cancel
 on_hold --> cancelled: cancel

Düz anlatımla: bir sevkiyat planlanır, isteğe bağlı olarak hazırlanır, sonra sevk edilir. Sevk edilen sevkiyat yola çıkar ve teslim edilir. Sevkten önce beklemeye alınabilir, planned durumuna devam ettirilebilir veya iptal edilebilir. Başlık ve içerik yalnızca planned, packed, ready_to_ship veya on_hold durumunda değişir (src/cluster_erp/modules/sales_orders/shipments/services.py:75-78). packed durumu yalnızca eski satırlar için eski bir değer olarak tutulur; bunu ayarlayan bir kod yoktur (src/cluster_erp/modules/sales_orders/shipments/schemas.py:25).

Aksiyon Etiket Koşul Uç İzin Kaynak
ready Sevke Hazır status değeri planned veya packed POST /sales-orders/shipments/{id}/ready shipment.update src/cluster_erp/modules/sales_orders/shipments/metadata.py:206-213, src/cluster_erp/modules/sales_orders/shipments/routes.py:208
ship Sevk Et status değeri planned, packed veya ready_to_ship POST /sales-orders/shipments/{id}/ship shipment.dispatch src/cluster_erp/modules/sales_orders/shipments/metadata.py:214-221, src/cluster_erp/modules/sales_orders/shipments/routes.py:219
in_transit Yolda / Varış status değeri shipped POST /sales-orders/shipments/{id}/in-transit shipment.update src/cluster_erp/modules/sales_orders/shipments/metadata.py:222-248, src/cluster_erp/modules/sales_orders/shipments/routes.py:230
deliver Teslimi Kaydet (POD) status değeri shipped veya in_transit POST /sales-orders/shipments/{id}/deliver shipment.deliver src/cluster_erp/modules/sales_orders/shipments/metadata.py:249-280, src/cluster_erp/modules/sales_orders/shipments/routes.py:242
hold Beklemeye Al status değeri planned, packed veya ready_to_ship POST /sales-orders/shipments/{id}/hold shipment.update src/cluster_erp/modules/sales_orders/shipments/metadata.py:281-298, src/cluster_erp/modules/sales_orders/shipments/routes.py:254
resume Devam Et status değeri on_hold POST /sales-orders/shipments/{id}/resume shipment.update src/cluster_erp/modules/sales_orders/shipments/metadata.py:299-306, src/cluster_erp/modules/sales_orders/shipments/routes.py:266
cancel Sevkiyatı İptal Et status değeri planned, packed, ready_to_ship veya on_hold POST /sales-orders/shipments/{id}/cancel shipment.cancel src/cluster_erp/modules/sales_orders/shipments/metadata.py:307-326, src/cluster_erp/modules/sales_orders/shipments/routes.py:277
generate_documents Belgeleri Oluştur status değeri planned, packed, ready_to_ship, shipped, in_transit veya delivered POST /sales-orders/shipments/{id}/generate-documents trade_document.create src/cluster_erp/modules/sales_orders/shipments/metadata.py:327-338, src/cluster_erp/modules/sales_orders/trade_documents/routes.py:102

Sevkiyat uçları

Yöntem ve yol İzin Kaynak
GET /sales-orders/shipments/, GET /sales-orders/{order_id}/shipments, GET /sales-orders/shipments/{shipment_id} shipment.read src/cluster_erp/modules/sales_orders/shipments/routes.py:85-151
POST /sales-orders/{order_id}/shipments; PATCH /sales-orders/shipments/{shipment_id} shipment.create, shipment.update src/cluster_erp/modules/sales_orders/shipments/routes.py:135, src/cluster_erp/modules/sales_orders/shipments/routes.py:164
GET .../order-lines, GET .../available-units shipment.read src/cluster_erp/modules/sales_orders/shipments/routes.py:179-192
Kalemler: GET /sales-orders/shipment-lines/, GET, PUT, DELETE /sales-orders/shipment-lines/{line_id}, POST /sales-orders/shipments/{shipment_id}/lines shipment_line.read, .create, .update, .delete src/cluster_erp/modules/sales_orders/shipments/routes.py:292-344
Birimler: GET /sales-orders/shipment-units/, GET, PUT, DELETE /sales-orders/shipment-units/{row_id}, POST /sales-orders/shipments/{shipment_id}/units shipment_unit.read, .create, .update, .delete src/cluster_erp/modules/sales_orders/shipments/routes.py:357-409
Paketler: GET /sales-orders/packages/, GET, PUT, DELETE /sales-orders/packages/{package_id}, POST /sales-orders/shipments/{shipment_id}/packages shipment_package.read, .create, .update, .delete src/cluster_erp/modules/sales_orders/shipments/routes.py:422-471
Olaylar: GET /sales-orders/shipment-events/, GET /sales-orders/shipment-events/{event_id}, POST /sales-orders/shipments/{shipment_id}/events shipment_event.read, shipment_event.create src/cluster_erp/modules/sales_orders/shipments/routes.py:484-508

Kısıtlar ve doğrulama

  • dispatch_checks düzeye göre hata ve uyarı döndürür: none, transport (bir plaka ya da takip numaralı bir taşıyıcı) veya export (taşımaya ek olarak ölçülmüş ve tartılmış, neti brütü aşmayan paketler ve tümü paketlenmiş içerik). Bir üründe eksik GTİP kodu veya menşe ülkesi uyarıdır (src/cluster_erp/modules/sales_orders/shipments/services.py:102-192).
  • Sevk, kiracının dispatch_check_level ayarını kullanır ve herhangi bir hatada reddeder; birimler shipped olur (src/cluster_erp/modules/sales_orders/shipments/services.py:558-580, src/cluster_erp/modules/sales_orders/shipments/services.py:1106-1126).
  • Sevk edilen miktar, sipariş miktarı eksi diğer sevkiyatların aldığı miktarı aşamaz (src/cluster_erp/modules/sales_orders/shipments/services.py:679-750).
  • Bir birim yalnızca open veya ready iken sevkiyata katılabilir (src/cluster_erp/modules/sales_orders/shipments/services.py:799-839).
  • Bir paketin metreküp hacmi uzunluk çarpı genişlik çarpı yüksekliktir ve boyut biriminin metreye katsayısıyla dönüştürülür; eksik bir parça hacim vermez (src/cluster_erp/modules/sales_orders/shipments/services.py:79-100).
  • POD verisi olmadan teslim, pod_rule ayarı block ise reddedilir; warn ise delivered_without_pod olayı olarak kaydedilir (src/cluster_erp/modules/sales_orders/shipments/services.py:1148-1191).
  • İptal birimleri open durumuna döndürür (src/cluster_erp/modules/sales_orders/shipments/services.py:1218-1238).
  • Bir sevkiyattaki değişiklik, üretilmiş belgelerini bayat olarak işaretler (src/cluster_erp/modules/sales_orders/shipments/services.py:1239-1252).
  • Sipariş toplaması, kümülatif sevk miktarı sipariş miktarına ulaşan kalemi sevk edildi veya teslim edildi olarak, siparişi de buna göre partially_shipped, shipped veya delivered olarak işaretler; SalesOrderPartiallyShipped, SalesOrderShipped veya SalesOrderDelivered yayar (src/cluster_erp/modules/sales_orders/shipments/services.py:1253-1392).
  • Elle girilen olaylar eta_update, location_update veya note olur (src/cluster_erp/modules/sales_orders/shipments/schemas.py:257).
  • Sevk bir mal hareketi işlemez: src/cluster_erp/modules/sales_orders/ içinde PostGoodsIssue için yapılan grep hiçbir çağrı bulmaz.

Tanıtılan terimler

Terim Kod tanımlayıcısı Tanım Türkçe terim Kaynak
dispatch check dispatch_checks Bir sevkiyatın sevkten önce düzeye göre geçmesi gereken hata ve uyarıların listesi. Sevk kontrolü src/cluster_erp/modules/sales_orders/shipments/services.py:102
proof of delivery pod_signed, pod_received_at Teslimde kaydedilen alıcı onayı. Teslim kanıtı (POD) src/cluster_erp/modules/sales_orders/shipments/models.py:89-92
package ShipmentPackage Ağırlıkları ve boyutlarıyla bir sevkiyatın fiziksel paketi. Paket src/cluster_erp/modules/sales_orders/shipments/models.py:99

İlgili sayfalar


92f8051 numaralı commit ile 2026-11-13 tarihinde doğrulandı.

Doğrulanan commit 92f8051 · 2026-11-13