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

Referans

Satın alma talepleri

Procurement modülünde purchase_requests için başvuru; talep ve kalem alanları, durumlar, aksiyonlar, uçlar ve siparişten önce uygulanan kurallar.

Bu sayfa src/cluster_erp/modules/procurement/purchase_requests/ içindeki purchase_requests alt modülünü anlatır. Bir satın alma talebi (PurchaseRequest), bir sipariş veya teklif talebi oluşmadan önce satın alınacak malzemeleri tahmini fiyatlarıyla toplar. Talepler kullanıcılar tarafından veya MRP çalıştırma kalemlerinden oluşturulur; MRP malzeme ihtiyaç planlaması sayfasında anlatılır.

Kapsam ve kaynak

  • Tanımlandığı yer: alt modülün models.py (PurchaseRequest, PurchaseRequestItem), services.py (PurchaseRequestService), routes.py, metadata.py ve item_metadata.py dosyaları.
  • Sayım: 2 tablo, 12 uç (routes.py içindeki @router. dekoratörleri), 3 ActionMeta girdisi.

Talep alanları

Ad Anlam Kaynak
pr_no purchase_request yıllık dizisinden gelen iş anahtarı src/cluster_erp/modules/procurement/purchase_requests/models.py:30, src/cluster_erp/modules/procurement/purchase_requests/services.py:208
project_id Talebin hizmet ettiği proje src/cluster_erp/modules/procurement/purchase_requests/models.py:36
requested_by, required_by_date Talep eden (işlemi yapan kullanıcı) ve ihtiyaç tarihi src/cluster_erp/modules/procurement/purchase_requests/models.py:40-44
status Varsayılan draft src/cluster_erp/modules/procurement/purchase_requests/models.py:48-54
priority Varsayılan normal src/cluster_erp/modules/procurement/purchase_requests/models.py:55-60
total_estimated_cost, currency Kalem tahminlerinin toplamı, Numeric(19, 4) src/cluster_erp/modules/procurement/purchase_requests/models.py:61-65
approved_by, approved_at, cancel_reason, notes Onay ve iptal kaydı src/cluster_erp/modules/procurement/purchase_requests/models.py:69-81
source_type, source_id Talebin kökeni, örneğin bir MRP çalıştırması src/cluster_erp/modules/procurement/purchase_requests/models.py:85-89

Kalem alanları

Ad Anlam Kaynak
product_id, product_model_id, product_version_id Ürün kırılımı src/cluster_erp/modules/procurement/purchase_requests/models.py:111-127
qty, unit_id Miktar Numeric(14, 4) ve birim src/cluster_erp/modules/procurement/purchase_requests/models.py:128-132
estimated_unit_price, estimated_total Tahmin Numeric(18, 4) ve kalem toplamı Numeric(19, 4) src/cluster_erp/modules/procurement/purchase_requests/models.py:136-143
required_by_date, suggested_vendor_id, is_critical İhtiyaç tarihi, tedarikçi önerisi, kritik bayrağı src/cluster_erp/modules/procurement/purchase_requests/models.py:144-157
mrp_item_id Kalemin geldiği MRP çalıştırma kalemi src/cluster_erp/modules/procurement/purchase_requests/models.py:158

Durumlar ve aksiyonlar

Servis şu geçişlere izin verir (src/cluster_erp/modules/procurement/purchase_requests/services.py:76-83):

stateDiagram-v2
 [*] --> draft
 draft --> pending_approval: submit_approval
 pending_approval --> approved: approve
 pending_approval --> draft
 approved --> po_issued: talepten sipariş
 po_issued --> closed
 draft --> cancelled: cancel
 pending_approval --> cancelled: cancel
 approved --> cancelled: cancel

Düz anlatımla: bir talep draft olarak başlar. submit_approval onu pending_approval, approve approved durumuna, talepten sipariş oluşturmak ise po_issued durumuna taşır (src/cluster_erp/modules/procurement/purchase_requests/services.py:493-531, src/cluster_erp/modules/procurement/purchase_orders/services.py:409-410). cancel, draft, pending_approval ve approved durumlarında açıktır. Tablo po_issued → closed geçişine izin verir; ancak alt modülde "closed" için yapılan grep yalnızca tabloyu ve bir metadata süzgeç değerini bulur; bu durumu ayarlayan bir uç yoktur.

Aksiyon Etiket Koşul Uç İzin Kaynak
submit_approval Onaya Gönder status değeri draft POST /purchase-requests/{id}/submit-approval purchase_request.update src/cluster_erp/modules/procurement/purchase_requests/metadata.py:111-130, src/cluster_erp/modules/procurement/purchase_requests/routes.py:150
approve Onayla status değeri pending_approval POST /purchase-requests/{id}/approve purchase_request.approve src/cluster_erp/modules/procurement/purchase_requests/metadata.py:131-150, src/cluster_erp/modules/procurement/purchase_requests/routes.py:165
cancel İptal Et status değeri draft, pending_approval veya approved POST /purchase-requests/{id}/cancel purchase_request.update src/cluster_erp/modules/procurement/purchase_requests/metadata.py:151-184, src/cluster_erp/modules/procurement/purchase_requests/routes.py:180

Talep uçları

Yöntem ve yol İzin Kaynak
GET /purchase-requests/, GET /purchase-requests/{pr_id} purchase_request.read src/cluster_erp/modules/procurement/purchase_requests/routes.py:49, src/cluster_erp/modules/procurement/purchase_requests/routes.py:99
POST /purchase-requests/ purchase_request.create src/cluster_erp/modules/procurement/purchase_requests/routes.py:87
PUT /purchase-requests/{pr_id} purchase_request.update src/cluster_erp/modules/procurement/purchase_requests/routes.py:113
DELETE /purchase-requests/{pr_id}, POST /purchase-requests/bulk-delete purchase_request.delete, purchase_request.bulk_delete src/cluster_erp/modules/procurement/purchase_requests/routes.py:126, src/cluster_erp/modules/procurement/purchase_requests/routes.py:138
POST /purchase-requests/{pr_id}/items, PUT ve DELETE /purchase-requests/{pr_id}/items/{item_id} purchase_request.update src/cluster_erp/modules/procurement/purchase_requests/routes.py:196-230

Kısıtlar ve doğrulama

  • Her kalemin ürün kırılımı ensure_product_breakdown ile denetlenir (src/cluster_erp/modules/procurement/purchase_requests/services.py:233, src/cluster_erp/modules/procurement/purchase_requests/services.py:378).
  • Kalem tahmini miktar çarpı birim fiyattır ve ROUND_HALF_EVEN ile yuvarlanır; başlık toplamı bunların toplamıdır (src/cluster_erp/modules/procurement/purchase_requests/services.py:48-60, src/cluster_erp/modules/procurement/purchase_requests/services.py:120-122).
  • Kalemlerden birinin ürünü etkin bir kritik malzemeyse talep önceliği high olur (src/cluster_erp/modules/procurement/purchase_requests/services.py:124-138, src/cluster_erp/modules/procurement/purchase_requests/services.py:270-273).
  • Başlık ve kalemler yalnızca draft veya pending_approval durumunda değişir (src/cluster_erp/modules/procurement/purchase_requests/services.py:297, src/cluster_erp/modules/procurement/purchase_requests/services.py:372, src/cluster_erp/modules/procurement/purchase_requests/services.py:421, src/cluster_erp/modules/procurement/purchase_requests/services.py:460).
  • Yalnızca draft bir talep silinebilir; silme deleted_at alanını doldurur (src/cluster_erp/modules/procurement/purchase_requests/services.py:324-336).
  • Bir talepten yalnızca approved durumundayken sipariş oluşturulabilir; silinmiş kalemler atlanır (src/cluster_erp/modules/procurement/purchase_orders/services.py:369-381).
  • Olaylar: oluşturmada PrCreated, onayda PrApproved, iptalde PrCancelled (src/cluster_erp/modules/procurement/purchase_requests/services.py:278-285, src/cluster_erp/modules/procurement/purchase_requests/services.py:522-529, src/cluster_erp/modules/procurement/purchase_requests/services.py:547).

Tanıtılan terimler

Terim Kod tanımlayıcısı Tanım Türkçe terim Kaynak
purchase request PurchaseRequest Siparişten önce tahmini maliyetle satın alınacak malzemeler için talep. Satın alma talebi src/cluster_erp/modules/procurement/purchase_requests/models.py:23

İlgili sayfalar


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

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