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.
Düz anlatımla: bir talep draft olarak başlar. submit_approval onu pending_approval, approveapproved 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.
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).