1351 lines
107 KiB
Markdown
1351 lines
107 KiB
Markdown
# Satınalma (`Prc`)
|
||
|
||
> Menünün altındaki her dal bu dosyada bir bölümdür (`module-doc:section`); dosya ve bölümler ilk deploy'da otomatik açılır. `module-doc:todo` işaretli alt bölümleri modülü üreten kişi ya da AI doldurur (`lowcode.instructions.md` §0.13); MCP ile üretimde talep bu bölümler doldurulmadan Testing'e alınamaz. "Ek — Ekran envanteri" bölümü wizard dosyalarından üretilir, elle düzenlenmez.
|
||
|
||
<!-- module-doc:section Prc.Definitions -->
|
||
## Tanımlamalar (`Prc.Definitions`)
|
||
|
||
### 1. Amaç ve kapsam
|
||
|
||
Satınalma belgelerinde kullanılacak ödeme koşulu, ödeme yöntemi, teslimat koşulu (Incoterm) ve teslim yöntemi tanımları. Kullanıcılar satınalma ve muhasebe personelidir. Satınalma talebi, teklif, sipariş ve fatura belgeleri bu modülün kapsamında değildir; bu ekranlar onların lookup kaynağıdır.
|
||
|
||
Tedarikçi kartı (eski `Prc.Supplier`) satış ve satınalmanın ortak kartı olarak **Kontaklar** adıyla Yönetim › Tanımlamalar'a taşındı; ayrıntı [Administration › Tanımlamalar](<Adm.md>). Kontak kartının Satış ve Satınalma sekmeleri bu modülün tanımlarını lookup olarak kullanır.
|
||
|
||
### 2. Analiz ve kararlar
|
||
|
||
- Modül kodu `Prc`, tablo öneki `Prc_T_`; ekranlar Satınalma › Tanımlamalar altında.
|
||
- Kart, etiket, ilgili kişi ve banka hesabı ekranları Satış tarafı da kullanacağı için `Adm` modülüne (`Adm_T_Contact*`, `Adm.Definitions.Contact*`) taşındı; bu modülde yalnızca satınalma koşulu tanımları kaldı.
|
||
|
||
### 3. Menü ve ekranlar
|
||
|
||
Satınalma (`Prc`) › Tanımlamalar (`Prc.Definitions`):
|
||
|
||
| Ekran | Kod | Not |
|
||
| --- | --- | --- |
|
||
| Ödeme Koşulları | `Prc.PaymentTerm` | tanım, demo veri |
|
||
| Ödeme Yöntemleri | `Prc.PaymentMethod` | tanım, demo veri |
|
||
| Teslimat Koşulları | `Prc.Incoterm` | tanım, demo veri |
|
||
| Teslim Yöntemleri | `Prc.DeliveryMethod` | tanım, demo veri |
|
||
|
||
### 4. Veri modeli
|
||
|
||
Tüm tablolar kiracı (`TenantId`) + tam audit + soft delete taşır.
|
||
|
||
- `Prc_T_PaymentTerm` (Name, DueDays, Description, IsActive)
|
||
- `Prc_T_PaymentMethod` (Name, Journal, IsActive)
|
||
- `Prc_T_Incoterm` (Code, Name, IsActive)
|
||
- `Prc_T_DeliveryMethod` (Name, IsActive)
|
||
|
||
### 5. İş kuralları ve hesaplar
|
||
|
||
- Tanım lookup'ları yalnızca `IsActive = 1` ve silinmemiş kayıtları listeler; kullanılan tanım silinmek yerine pasife alınır.
|
||
- Ödeme koşulu `DueDays` vade gününü tutar; ay sonu kuralları açıklamada yazılıdır, otomatik vade hesabı yoktur.
|
||
|
||
### 6. Yetki ve görünürlük
|
||
|
||
Yetki ağacı: `Prc` › `Prc.Definitions` › her ekran (+ Create/Update/Delete/Export/Import/Note). Tüm ekranlar kiracı kapsamlıdır, şube filtresi yoktur. Widget'lar: her ekranda Toplam · Aktif · Pasif.
|
||
|
||
### 7. Entegrasyonlar
|
||
|
||
Yok. Tanımlar Yönetim › Tanımlamalar › Kontaklar'ın Satış ve Satınalma sekmelerinde (`Adm.Definitions.ContactSales`, `Adm.Definitions.ContactPurchasing`) seçilir.
|
||
|
||
### 8. Akış örneği
|
||
|
||
1. Satınalma › Tanımlamalar › Ödeme Koşulları'nda "30 Gün" aktif durur.
|
||
2. Yönetim › Tanımlamalar › Kontaklar'da "Acme Corporation" açılır; Satınalma sekmesinde Düzenle ile Ödeme Koşulu = 30 Gün seçilip kaydedilir.
|
||
|
||
### 9. Sık sorulanlar
|
||
|
||
- **Tedarikçiler ekranı nerede?** Yönetim › Tanımlamalar › Kontaklar; müşteri ve tedarikçi aynı karttadır.
|
||
- **Pasife alınan tanım kartta görünüyor mu?** Var olan kayıtta değer durur, yeni seçimde listelenmez.
|
||
|
||
### 10. Dosyalar ve geri alma
|
||
|
||
- Tablolar: `sql/object/Prc_T_PaymentTerm.sql`, `Prc_T_PaymentMethod.sql`, `Prc_T_Incoterm.sql`, `Prc_T_DeliveryMethod.sql`.
|
||
- Wizard'lar: `Prc_PaymentTerm.json`, `Prc_PaymentMethod.json`, `Prc_Incoterm.json`, `Prc_DeliveryMethod.json`.
|
||
- Demo veri: `data/Prc.{PaymentTerm,PaymentMethod,Incoterm,DeliveryMethod}.json`.
|
||
- Geri alma: Kontak sekmeleri bu tanımlara bağlı olduğu için önce kontak tarafındaki seçimler temizlenir; ekranlar `delete_wizard` ile silinir, tablolar yalnızca açık onayla `dropTables: true` ile düşürülür.
|
||
|
||
<!-- module-doc:section Prc.MaterialRequests -->
|
||
## Talepler (`Prc.MaterialRequests`)
|
||
|
||
### 1. Amaç ve kapsam
|
||
|
||
Departmanların iç ve dış ihtiyaç duydukları malzemeleri satınalmaya iletmesi ve satınalmanın her kalemin nasıl karşılanacağına karar vermesi. Talep eden personel talebi ve satırlarını girer, onaya gönderir; talep önce talep edenin departman onaycısına, sonra satınalmaya düşer. Onaylanan talebin kalemleri **Planlama**'ya düşer: satınalmacı son alımlara, depo stoklarına ve tedarikçi fiyatlarına bakarak her kalemi (gerekirse miktarla bölerek) satın almaya (taslak teklif talebi), başka konumdan iç transfere ya da teslim konumundaki stoktan teslime (Stoktan) ayırır; verilen kararlar **Plan Takibi**'nde izlenir. Teklif toplama, sipariş ve mal kabul Siparişler dalında ve Envanter'dedir; transferin hazırlanıp tamamlanması Envanter › İç Transferler'dedir. Bütün kalemleri teslim edilen talep **Tamamlandı** olur.
|
||
|
||
### 2. Analiz ve kararlar
|
||
|
||
- Wizard List ekranları + menüsüz satır alt formu + Grid Workflow. Taleplerim ve iki onay listesi aynı tabloyu (`Prc_T_MaterialRequest`) filtreyle gösterir; Tüm Talepler başlık × kalem görünümünden (`Prc_V_MaterialRequestLine`) okur, her kalem bir satırdır.
|
||
- Belge no numaratörden: `MaterialRequest` (MT-YYYY-00001, yıllık sıfırlanır). Şirket alanı açılmadı (kiracı kapsamı).
|
||
- Departman onaycısı: `Adm_T_Approver`'da Onay Yeri = Satınalma (`Purchase`) ve talebin departmanı. Satınalma onaycısı Onaycılar'da tanımlanmaz: Satınalma Onayı Bekleyenler ekranında karar verebilen, yani `Prc.MaterialRequestPurchaseApproval.Update` yetkisi doğrudan ya da rolüyle verilmiş aktif kullanıcılardır. Herhangi bir onaycının onayı yeterli.
|
||
- Taslak aşaması: kayıt Taslak açılır; akış platformun Onaya Gönder işlemiyle başlar (`WorkflowDto.ApprovalIsManualStart: true`).
|
||
- **Karşılama kararı satınalmanındır** (2026-10-13). Satınalma onayı belge açmaz; onaylanan kalem Planlama'ya düşer. Talep eden karşılama şekli ve satınalma sorumlusu seçmez; ikisi Planlama'da belirlenir — planlamayı onaylayan kullanıcı satınalma sorumlusudur (teklif talebinin alıcısı, iç transferin sorumlusu, Plan Takibi'nde Satınalma Sorumlusu). Talep kalemi teklif talebine, siparişe ve iç transfere yalnız Planlama'dan girer (tek kapı; aynı kalem iki yoldan iki kez karşılanmaz).
|
||
- Planlama Wizard List'tir: satır seçilince ürünün Depo Stokları, Tedarikçiler ve Son Alımlar sekmeleri listenin altında açılır (`SubFormsListFormType: List`, ilişki `ProductId → ProductId`). Satırda Düzenle yoktur; **Planla** butonu Core diyaloğunu (`MaterialRequestPlan`, `ui/src/views/purchasing/MaterialRequestPlanDialog.tsx`) açar. Diyalogun İç Transfer ve Satınalma sekmeleri batch düzenlenen ListForm ızgaralarıdır: Plan Miktarı yazılan her satır taslak plana (`Prc_T_MaterialRequestPlanLine`) yazılır, taslak alttaki Karşılama Planı'nda görünür; Onayla Planlama ekranının `UpdateCommand`'ını (`Prc_P_MaterialRequestPlanConfirm`) çalıştırıp taslağı belgelere çevirir. Diyalog ürünün stoğu varsa İç Transfer, yoksa Satınalma sekmesiyle açılır.
|
||
- Kalem miktarla bölünebilir (ör. 4 transfer + 6 satınalma); kalan bitene kadar listede kalır. Onaylanmış karar ayrı tabloda tutulmaz: paylar belgelerin kendisinden hesaplanır (`Prc_V_MaterialRequestItemPlan`) — belge iptal edilir, kalemi silinir, miktarı değişir ya da iade edilirse kalan kendiliğinden güncellenir.
|
||
- Satınalma kararı tedarikçiye taslak teklif talebi üretir (doğrudan sipariş değil); teklif toplama, ihale ve kıyas Siparişler dalında sürer, sipariş onaylanınca taslak alım açılır.
|
||
- **Lot/seri ile planlama** (2026-10-14): iç transfer planı ürünün envanter takibine göre yapılır. Lot ya da seri takipli üründe İç Transfer sekmesinin satırı konum × lottur (seride her seri 1 adetlik ayrı satır), plan lotla yazılır (`LotNo`) ve Onayla lotu transfer satırının lot dağılımına (`Stk_T_TransferLineLot`) ekler; depo Detaylar ya da Otomatik Ata ile değiştirebilir. Miktarla takip edilen (ya da takipsiz) üründe konum başına tek satır vardır, yalnız miktar yazılır.
|
||
- **Çıkış stratejisi** (2026-10-14): ürün kategorisinin Çıkış Stratejisi (`Stk_T_ProductCategory.RemovalStrategy`: `FIFO` ilk giren ilk çıkar, `LIFO` son giren ilk çıkar; stok kaydının `InDate`'i, aynı anda girenlerde lot/seri no — LIFO'da büyükten, tarihi boş stok en sona; kategorisiz ürün FIFO, üst kategoriden devralınmaz) İç Transfer sekmesinin sırasını (`RemovalRank`, Çıkış Sırası kolonu; teslim konumu önce) belirler. Öner ve Seçilenleri Planla stoğu bu sırayla dağıtır; Tümünü Planla yalnız kendi satırını doldurur. İç Transferler'deki Otomatik Ata da aynı kuralla atar.
|
||
- **Stoktan** (2026-10-14 kararı; 2026-10-13'teki belgesiz karşılamanın yerine): stok talebin teslim konumundaysa İç Transfer sekmesinde o konum "Teslim Konumu" işaretiyle listelenir; oraya yazılan plan Stoktan kararıdır (`PlanMethod = Stock`). Onayda yeni operasyon türü açılmadan İç Transferler türüyle, kaynağı ve hedefi teslim konumu olan bir iç transfer açılır; belge Yapılacak olarak işaretle ve Doğrula akışından geçer, Doğrula stoğa dokunmaz (yeterliliği yine denetler) ve kalemin teslim edilen miktarını yazar. Belge no ve durumu Plan Takibi'ne yansır.
|
||
- **Talep tamamlanması** (2026-10-14): iptal olmayan bütün kalemlerinin teslim edilen miktarı talep edilene ulaşınca talep Tamamlandı olur — iç transfer, Stoktan ya da siparişten açılan alımın Doğrula'sıyla (alım satırı talep kalemini taşır). İade teslimi geri alırsa durum yeniden hesaplanır.
|
||
- Satınalma sekmesi kiracının bütün aktif kontaklarını listeler: ürünün fiyat listesindekiler fiyatıyla önce, diğerleri fiyatsız sonra; fiyatsız tedarikçinin teklif kalemi 0 fiyatla açılır.
|
||
- İki sekmede de En Fazla kolonu (`MaxQuantity`) yazılabilecek üst sınırı gösterir: planlanacak kalandan kalemin diğer taslak satırları düşülür, İç Transfer'de kullanılabilir stok da sınırdır. Plan Miktarı bunu aşarsa ızgara kaydetmez (`compare` kuralı); toplam kayıt yordamında yeniden denetlenir.
|
||
- **Hız yardımları** (2026-10-13: her satırla tek tek uğraşılmamalı):
|
||
- **Öner**: `Prc_P_MaterialRequestPlanSuggest` taslağı sıfırlayıp kurar — önce stok, çıkış sırasıyla (her satır alabileceği en fazlayı alır), kalan kısım en uygun tedarikçiden satınalma. Tedarikçi `Prc_V_MaterialRequestPlanVendor.SuggestRank` sırasıyla seçilir (fiyatlılar ucuzdan pahalıya, sonra son alım tarihi yeniden eskiye, sonra ad; para birimi farkı gözetilmez) ve yalnız fiyat listesinde ya da alım geçmişinde bulunan tedarikçi önerilir; yoksa kalan planlanmadan kalır. Diyalog yordamı Karşılama Planı'nın ekleme komutuyla çağırır. Diyalog açılışta hiçbir şey planlamaz.
|
||
- **Öner ve Onayla**: öneriyi kurar ve taslak oluştuysa hemen Onayla'yı çalıştırır.
|
||
- **Taslağı Sıfırla**: kalemin bütün taslak satırlarını Karşılama Planı'nın silme komutuyla siler; Karşılama Planı'ndaki Sil de hemen uygulanır.
|
||
- **Tümünü Planla** (satır butonu): satıra En Fazla değerini yazar. **Seçilenleri Planla** (araç çubuğu, çoklu seçim): seçilen satırları sırayla (İç Transfer'de çıkış sırasıyla) en fazla miktarla planlar — Plan Miktarı eksi (-1) gönderilir, kayıt yordamı bunu alınabilecek en fazla miktar olarak yazar.
|
||
- Onaydan sonra her karar kendi belgesinden geri alınır: teklif talebi ya da iç transfer (Stoktan dahil) iptal edilince ya da satırı silinince kalem Planlama'ya döner.
|
||
- İş akışı kolonları Workflow şablonundaki dörtlüdür (`ApprovalUserName`, `ApprovalStatus`, `ApprovalDate`, `ApprovalDescription`); onay ve red bilgileri popup formda yer almaz, listede görünür. Red nedeni ayrı kolonda tutulmaz: onay düğümü red sırasında Red Nedenleri listesinden (`Prc_T_RejectReason`) seçim ister, seçilen neden ve not `ApprovalDescription`'a yazılır.
|
||
- Talebin durumu `ApprovalStatus`'tadır: boş (taslak) › Departman Onayı › Satınalma Onayı › Onaylandı ya da Reddedildi; onaydan sonra satınalmada ilerler: Teklif Talebi (kalem taslak teklifte), Teklif Talebi Gönderildi (gönderilmiş ya da siparişe dönüşmüş teklifte), Satınalma Siparişi (iptal olmayan siparişte), Tamamlandı (bütün kalemler teslim edildi); belgeler iptal edilirse Onaylandı'ya döner (`Prc_P_MaterialRequestSyncStatus`). Ayrı `Status` kolonu yoktur; kalem durumu Bekliyor / Tamamlandı / İptal'dir.
|
||
- Talep satırı formu: Ürün; Miktar – Birim; Termin Tarihi – Satır Durumu; Talep Nedeni. Termin başlığı ayrı anahtardır (`Sas.Listform.ListformField.RequiredDate`).
|
||
|
||
### 3. Menü ve ekranlar
|
||
|
||
Satınalma (`Prc`) › Talepler (`Prc.MaterialRequests`):
|
||
|
||
| Ekran | Kod | Filtre / not |
|
||
| --- | --- | --- |
|
||
| Taleplerim | `Prc.MyMaterialRequest` | talep eden = oturumdaki kullanıcı; ekle/sil açık, akış; şube yetkili |
|
||
| Departman Onayı Bekleyenler | `Prc.MaterialRequestDeptApproval` | ApprovalStatus = Departman Onayı; yalnız kendine düşenler |
|
||
| Satınalma Onayı Bekleyenler | `Prc.MaterialRequestPurchaseApproval` | ApprovalStatus = Satınalma Onayı; yalnız kendine düşenler |
|
||
| Planlama | `Prc.MaterialRequestPlan` | onaylı talebin Bekliyor ve planlanacak miktarı kalan kalemleri; satırda Planla (diyalog); alt sekmeler Depo Stokları, Tedarikçiler, Son Alımlar |
|
||
| Plan Takibi | `Prc.MaterialRequestPlanTrack` | verilen kararlar (teklif kalemi / iç transfer satırı, Stoktan dahil); salt okunur; satırda Teklif, Sipariş, Transfer butonları |
|
||
| Tüm Talepler | `Prc.MaterialRequest` | filtresiz, kalem kalem; ekle/sil kapalı, yalnız kalemin satır durumu düzenlenir |
|
||
|
||
Talep Satırları (`Prc.MaterialRequestLine`) menüsüz alt formdur; Taleplerim ve iki onay listesinde sekmedir. Planlama'nın sekmeleri menüsüz alt formlardır: Depo Stokları (`Prc.MaterialRequestPlanStock`, `Stk_T_Stock`), Tedarikçiler (`Prc.MaterialRequestPlanSupplier`, `Stk_T_ProductSupplier`), Son Alımlar (`Prc.MaterialRequestPlanLastPurchase`, `Prc_V_PurchaseReceiptLine`). Planla diyaloğunun üç ekranı menüsüzdür: İç Transfer (`Prc.MaterialRequestPlanSource`), Satınalma (`Prc.MaterialRequestPlanVendor`), Karşılama Planı (`Prc.MaterialRequestPlanLine`). Red Nedenleri (`Prc.RejectReason`) Satınalma › Tanımlamalar altındadır.
|
||
|
||
### 4. Veri modeli
|
||
|
||
Tüm tablolar kiracı + tam audit + soft delete taşır.
|
||
|
||
- `Prc_T_MaterialRequest`: RequestNo, Priority (0–3), RequesterUserId, BranchId, DepartmentId, WarehouseId, LocationId (teslim konumu), RequestDate, Description, iş akışı dörtlüsü, DeptApproverUserNames / PurchaseApproverUserNames (`|` ayrılmış kullanıcı adları).
|
||
- `Prc_T_MaterialRequestItem`: MaterialRequestId (FK cascade), ProductId, Quantity, UomId, DueDate (termin), RequestReason, DeliveredQuantity (Doğrula yazar), LineStatus (Waiting / Done / Cancelled).
|
||
- `Prc_T_MaterialRequestPlanLine`: MaterialRequestItemId (FK cascade), PlanMethod (Purchase / Transfer / Stock), SupplierId ya da SourceLocationId, LotNo (lot/seri takipli üründe, aksi hâlde boş), Quantity — onaylanmamış dağıtım; onay satırları siler.
|
||
- `Prc_T_RejectReason`: Name, SortOrder, IsActive.
|
||
- Görünümler:
|
||
- `Prc_V_MaterialRequestLine`: başlık LEFT JOIN kalemler; Tüm Talepler'in kaynağı.
|
||
- `Prc_V_MaterialRequestItemPlan`: kalem başına PurchaseQuantity, TransferQuantity, RemainingQuantity (kalemin biriminde).
|
||
- `Prc_V_MaterialRequestPlan`: Planlama'nın kaynağı; kalem + başlık + paylar + StockQuantity + DueState (Late / Week / Later) + DraftQuantity.
|
||
- `Prc_V_MaterialRequestPlanSource`: kalem × stoğu olan iç konum (takipli üründe × lot), teslim konumu dahil (IsDestination); LotNo, OnHand, ReservedQuantity (açık transferlerde o konumdan istenen; lot satırında o lota atanan), FreeQuantity (lot satırında konumun serbest stoğuyla sınırlı), AvailableQuantity (taslakta kullanılabilir), MaxQuantity, RemovalRank, PlanQuantity; `Id` = kalem:konum:lot. İç transfer ve Stoktan kararının stok kuralı buradadır.
|
||
- `Prc_V_MaterialRequestPlanVendor`: kalem × aktif kontak; fiyat satırı, SuggestRank (fiyat ↑, son alım ↓, ad), PlanQuantity, tedarikçinin bu kalemi taşıyan taslak teklifi (RfqId/RfqNo/RfqQuantity); `Id` = kalem:tedarikçi.
|
||
- `Prc_V_MaterialRequestPlanLine`: taslak satırı + lot + birim + satınalmada fiyat.
|
||
- `Prc_V_PurchaseReceiptLine`: Son Alımlar; tamamlanan alımın (iade hariç) satırı × sipariş kalemi.
|
||
- `Prc_V_MaterialRequestPlanTrack`: Plan Takibi; ihalenin kök teklif talebindeki talep kalemleri ∪ iç transfer satırları (iade hariç; kaynağı ve hedefi aynı olan transfer `Stock` kararıdır); belge, sipariş ve `DoneQuantity`.
|
||
- Yordamlar: `Prc_P_MaterialRequestAfterSave(@Id)`, `Prc_P_MaterialRequestSyncStatus(@DocId)` (talep durumu; `@DocId` teklif, sipariş ya da transfer — boşsa onaylanmış bütün talepler), `Prc_P_MaterialRequestPlanLineSave(@Id, @PlanMethod, @PlanQuantity, @TenantId, @LastModifierId)`, `Prc_P_MaterialRequestPlanSuggest(@Id, @TenantId, @LastModifierId)`, `Prc_P_MaterialRequestPlanConfirm(@Id, @TenantId, @LastModifierId)`, `Prc_P_MaterialRequestPlan(@Id, @PlanMethod, @PlanQuantity, @PlanSupplierId, @PlanSourceLocationId, @PlanLotNo, @TenantId, @LastModifierId)`, `Prc_P_MaterialRequestItemSync(@TransferId)` (transferin kalemlerinin satır durumu, ardından talep durumu); tetikleyici `Prc_TR_MaterialRequestLock`.
|
||
|
||
### 5. İş kuralları ve hesaplar
|
||
|
||
- `Prc_P_MaterialRequestAfterSave` kayıt sonrasında onaycı listelerini Onaycılar'dan yeniden yazar; Onaycılar sonradan değişirse talep yeniden kaydedilene kadar liste eski kalır. Liste boşsa akış o adımda hata verir.
|
||
- Talep ve satırları yalnız Taslak'ta değiştirilir: onaya gönderilmiş talebe satır eklenemez, satırı değiştirilemez ve silinemez (alt form Before komutları; 50001/50005/50002); başlığın iş alanları `Prc_TR_MaterialRequestLock` tetikleyicisiyle kilitlidir (50004) — kural tetikleyicidedir, çünkü onay akışı da başlığı aynı güncelleme yolundan yazar. Planlama/teslim yordamlarının yazdığı kalem alanları kilide girmez. Onay sürecindeki ya da onaylanmış talep silinemez; reddedilen talep silinebilir.
|
||
- Ürün listesi aktif ve satın alınabilir ürünlerdir; birim ürünün satınalma biriminden (yoksa biriminden) gelir, salt okunurdur. Şube iki zinciri süzer: Şube › Departman, Şube › Depo › Konum.
|
||
- Tüm Talepler'de düzenleme yalnız kalemin `LineStatus`'unu yazar ve ardından talep durumunu yeniler (iptal edilen son açık kalem talebi Tamamlandı yapabilir).
|
||
- **Paylar** (`Prc_V_MaterialRequestItemPlan`, kalemin birimine çevrilir): satınalma payı = teklif aşamasındaki (Taslak/Gönderildi) ya da iptal olmayan siparişe geçmiş teklif kalemi (ihale × ihale kalemi başına bir kez); transfer payı = iptal olmayan iç transfer satırı (Stoktan dahil) — tamamlanmış belgede yapılan, açık belgede istenen; tamamlanmış iade belgesinin yapılan miktarı düşülür. Planlanacak = talep − satınalma payı − transfer payı.
|
||
- **Taslak** (`Prc_P_MaterialRequestPlanLineSave`, kalem kilitlenerek): talep onaylı (ya da satınalmada ilerleyen) ve kalem Bekliyor olmalı; 0 ya da boş miktar satırı taslaktan çıkarır. Taslak toplamı planlanacak kalanı (50200), iç transfer / Stoktan satırı kullanılabilir stoğu (lot ve konum; 50198) aşamaz; teslim konumuna yazılan satır Stoktan kararıdır.
|
||
- **Onayla** (`Prc_P_MaterialRequestPlanConfirm`, tek transaction): taslak boşsa 50201; satırlar önce iç transfer ve Stoktan, sonra satınalma sırasıyla karara gider, ardından taslak silinir. Bir satır reddedilirse hiçbir belge açılmaz.
|
||
- **Karar** (`Prc_P_MaterialRequestPlan`, kalem kilitlenerek): plan miktarı > 0 ve ≤ planlanacak.
|
||
- Satınalma: tedarikçinin talebin şubesi ve deposu için taslak teklif talebi varsa kalem ona eklenir (zaten oradaysa miktarı artar); yoksa yeni taslak açılır (numara `Prc.PurchaseRfq`, talebin deposunun aktif alım türü — numaratörü `….Receipt` ile biten öncelikli, para birimi ve koşullar kontak kartından, alıcı planlayan). Birim fiyat tedarikçinin fiyat listesinden (en düşük minimum miktar; yoksa 0), KDV ürünün alış oranı, teslim tarihi termin.
|
||
- İç Transfer: kaynak konum zorunlu, teslim konumundan farklı ve ürünün (takipli üründe lotun) serbest stoğu yetmeli (50197/50198). Belge kaynak deponun **İç Transferler** türüyle açılır: depoda birden çok iç transfer türü (Bakım Sarf Tüketimi, Departman Sarf Çıkışı …) olabildiği için numaratörü `….InternalTransfer` ile biten aktif tür seçilir, yoksa adına göre ilki. Bu türde aynı kaynak → teslim konumu için taslak varsa satır ona eklenir (kaynak belgeye talep no yazılır), yoksa yeni taslak açılır (sorumlu planlayan). Satırın yapılan miktarı planla açılır: lot planlandıysa lot dağılımına eklenir (miktar lot toplamıdır), miktar takipli üründe plan miktarı doğrudan yazılır; belge `Stk_P_TransferAfterSave` ile numaralanır ve Taslak açılır; İç Transferler'de onay adımı yoktur.
|
||
- Stoktan: İç Transfer'in aynısı, kaynak = hedef = teslim konumu.
|
||
- **Kalem kapanışı** (`Prc_P_MaterialRequestItemSync`, transferin her yeniden hesabında ve iptalinde): satınalma payı olmayan, planlanacağı kalmayan Bekliyor kalem Tamamlandı olur; planlanacak miktar yeniden doğarsa (iptal, satır silme, iade) ve teslim tamamlanmamışsa Bekliyor'a döner. Ardından talep durumu yenilenir.
|
||
- **Tedarikçi fiyatı** (`Stk_P_TransferSupplierPrice`, siparişli alımın Doğrula'sında): tedarikçi × ürün × birim × para birimi başına tek satır; alınan miktara uyan kademe fiyat ve Son Alım Tarihi ile güncellenir, yoksa yeni satır açılır. Siparişsiz alım, iade ve 0 fiyat yazmaz.
|
||
- Kartlar: Planlama — planlanacak, geciken, 7 gün içinde, taslak planlı; Plan Takibi — toplam, satınalma, iç transfer (Stoktan dahil), tamamlanan; talep listeleri — onaylanan (onaydan sonraki bütün durumlar dahil).
|
||
|
||
### 6. Yetki ve görünürlük
|
||
|
||
Yetki ağacı: `Prc` › `Prc.MaterialRequests` › her liste (+ Create/Update/Delete/Export/Import; Note yalnız tablo kaynaklı listede — Taleplerim ve onay listeleri; view kaynaklı Tüm Talepler, Planlama, Plan Takibi ve diyalog ekranlarında Not yoktur); alt form `Prc.MaterialRequestLine` listenin altında, Planlama'nın sekmeleri ve diyalog ekranları `Prc.MaterialRequestPlan` altında. Talep edenlere Taleplerim (+Create, +Update), onaycılara ilgili onay listesi (+Update), satınalma ekibine Planlama (+Update), sekmeleri, diyalog ekranları (İç Transfer ve Satınalma +Update, Karşılama Planı +Create/+Delete), Plan Takibi ve Tüm Talepler verilir; Plan Takibi'nin butonları hedef ekranın okuma yetkisini ister. Yetkiler hiçbir role otomatik atanmaz. Kiracı kapsamlı; lookup'lar (şube, kontak, kullanıcı) kiracıya süzülür. Taleplerim şube yetkilidir (`IsBranch`): kullanıcı yalnız atandığı şubelerin taleplerini görür; şube seçilince kullanıcının o şubedeki varsayılan deposu ve konumu gelir.
|
||
|
||
### 7. Entegrasyonlar
|
||
|
||
Yönetim › Onaycılar (onay yeri Satınalma) ve Roller; Envanter › Ürünler (tedarikçi fiyat listesi, kategori çıkış stratejisi, takip yöntemi), Depolar, Konumlar, Operasyon Türleri (deponun alım ve iç transfer türü), Stok; Envanter › İç Transferler (iç transfer ve Stoktan kararı, teslim edilen miktar, kalem kapanışı); Envanter › Alımlar (Son Alımlar, teslim edilen miktar, tedarikçi fiyatı); Satınalma › Siparişler; İK departmanları; Diziler (`MaterialRequest`, `Prc.PurchaseRfq`).
|
||
|
||
### 8. Akış örneği
|
||
|
||
1. BT departmanı için Onaycılar'da Satınalma yerinde Ayşe tanımlıdır; Mehmet'in rolünde Satınalma Onayı Bekleyenler, Planlama ve diyalog ekranlarının yetkileri vardır.
|
||
2. Ali Taleplerim'de MT-2026-00001'i açar (teslim konumu 0001/Ana Depo), 10 adet sensör ve 2 adet sigorta girer, Onaya Gönder der; Ayşe, sonra Mehmet onaylar.
|
||
3. Planla (sensör, lot takipli, kategori FIFO): İç Transfer sekmesinde Ek Depo'nun LOT-0012 ve LOT-0015 satırları çıkış sırasıyla listelenir; Öner LOT-0012'den 4 yazar, kalan 6'yı 3K Kutu'ya ayırır. Onayla: Ek Depo → Ana Depo taslak iç transfer (LOT-0012 × 4) ve 3K Kutu'ya taslak teklif talebi açılır; talep Teklif Talebi olur.
|
||
4. Planla (sigorta, Ana Depo'da stoğu var): teslim konumu satırına 2 yazılır, Onayla Ana Depo → Ana Depo iç transfer (Stoktan) açar.
|
||
5. Depo iki transferi hazırlar (Yapılacak olarak işaretle), Doğrula'ya basar: Stoktan belgesi stoğa dokunmaz, iki kalemin teslim edilen miktarı yazılır.
|
||
6. Teklif siparişe döner, alım Doğrula'lanınca sensörün kalan 6'sı da teslim edilmiş olur; talep Tamamlandı.
|
||
|
||
### 9. Sık sorulanlar
|
||
|
||
- **Talebim onay listesinde görünmüyor?** Onaycılar'da talebin departmanı için aktif Satınalma satırı olmalı; satınalma adımı için en az bir aktif kullanıcının Satınalma Onayı Bekleyenler güncelleme yetkisi olmalıdır. Onaycılar ya da yetkiler talep açıldıktan sonra değiştiyse talebi bir kez kaydedin.
|
||
- **Stoktan karşıladım, İç Transferler'de belge neden kaynak ve hedefi aynı?** Stok zaten teslim konumundadır; belge malın talep edene teslimini kaydeder. Hazırlama ve Doğrula diğer transferler gibidir, Doğrula stoğu taşımaz.
|
||
- **Talep neden Tamamlandı olmadı?** İptal olmayan her kalemin teslim edilen miktarı talep edilene ulaşmalıdır: iç transfer / Stoktan belgesi ya da siparişin alımı Doğrula'lanmış olmalı.
|
||
- **İade ettim, kalem nerede?** Tamamlanmış iadenin miktarı transfer payından düşer; kalem Bekliyor'a döner ve Planlama'da yeniden görünür, talep durumu geri alınır.
|
||
- **Onaylanan kalem Planlama'da yok?** Kalem Bekliyor olmalı ve planlanacak miktarı kalmalı; tamamı belgelere ayrılmış ya da Tüm Talepler'de Tamamlandı/İptal yapılmış kalem listelenmez.
|
||
- **"Operasyon türü tanımlı değil"?** Envanter › Operasyon Türleri'nde talebin deposu için aktif Alım, kaynak konumun deposu için aktif İç Transfer türü tanımlanmalıdır.
|
||
- **"Yeterli serbest stok yok"?** Eldeki miktardan açık transferlerde o konumdan (lot satırında o lottan) istenen ve diğer taslak satırlar düşülür; başka konum/lot seçin ya da miktarı azaltın.
|
||
- **Onayla reddedildi?** Mesaj sebebi söyler; hiçbir belge açılmamıştır, taslağı düzeltip yeniden onaylayın.
|
||
- **Planladığım miktarı geri almak?** Teklif talebindeki kalemi silin ya da teklifi iptal edin; iç transferde (Stoktan dahil) satırı silin ya da transferi iptal edin — miktar Planlama'ya döner.
|
||
|
||
### 10. Dosyalar ve geri alma
|
||
|
||
- Tablolar: `Prc_T_MaterialRequest`, `Prc_T_MaterialRequestItem`, `Prc_T_MaterialRequestPlanLine`, `Prc_T_RejectReason`; tetikleyici `Prc_TR_MaterialRequestLock` (sql + postgres object).
|
||
- Görünümler: `Prc_V_MaterialRequestLine`, `Prc_V_MaterialRequestItemPlan`, `Prc_V_MaterialRequestPlan`, `Prc_V_MaterialRequestPlan{Source,Vendor,Line}`, `Prc_V_MaterialRequestPlanTrack`, `Prc_V_PurchaseReceiptLine`.
|
||
- Yordamlar: `Prc_P_MaterialRequestAfterSave`, `Prc_P_MaterialRequestSyncStatus`, `Prc_P_MaterialRequestItemSync`, `Prc_P_MaterialRequestPlan`, `Prc_P_MaterialRequestPlan{LineSave,Suggest,Confirm}`; Envanter'de çağrılan `Stk_P_TransferAfterSave`, `Stk_P_TransferRecalc`, `Stk_P_TransferSetStatus`, `Stk_P_TransferValidate`, `Stk_P_TransferSupplierPrice`.
|
||
- Wizard'lar: `Prc_MyMaterialRequest`, `Prc_MaterialRequestLine`, `Prc_MaterialRequestDeptApproval`, `Prc_MaterialRequestPurchaseApproval`, `Prc_MaterialRequestPlan`, `Prc_MaterialRequestPlan{Stock,Supplier,LastPurchase,Source,Vendor,Line,Track}`, `Prc_MaterialRequest`, `Prc_RejectReason`.
|
||
- Kaldırılanlar: 2026-10-13 — Talepten Aktar ekranları ve nesneleri (`Prc_PurchaseRfqImportItem`, `Prc_PurchaseOrderImportItem`, `Inventory_TransferImportItem`, `Prc_V_MaterialRequestAvailableItem`, `Prc_V_PurchaseImportItem`, `Prc_P_PurchaseImportItem`, `Prc_V_MaterialRequestTransferItem`, `Stk_P_TransferImportItem`); 2026-10-14 — belgesiz Stoktan karşılama (`FromStockQuantity` kolonu, `Prc_P_MaterialRequestStockUndo`, Plan Takibi'nin Geri Al butonu ve dil anahtarları). Kurulu veritabanında `Prc_P_MaterialRequestStockUndo` yordamı elle düşürülür.
|
||
- Numaratör: `Adm.Definitions.Sequence` › `MaterialRequest`.
|
||
- Geri alma: Wizard Manager'da talep bazlı silme (önce listeler, alt form en son); tablolar yalnız açık onayla düşürülür.
|
||
|
||
<!-- module-doc:section Prc.PurchaseAgreement -->
|
||
## Sözleşmeler (`Prc.PurchaseAgreement`)
|
||
|
||
### 1. Amaç ve kapsam
|
||
|
||
Tedarikçiyle yapılan çerçeve anlaşmaların (Kapsamlı Sipariş / İhale) anlaşılan ürün, miktar ve birim fiyatlarıyla tutulması; teklif talebi ve siparişin bu fiyatlarla açılması ve sözleşmeden ne kadar sipariş edildiğinin izlenmesi. Kullanıcılar satınalma personelidir. Teklif ve sipariş akışı Siparişler bölümündedir.
|
||
|
||
### 2. Analiz ve kararlar
|
||
|
||
- Sözleşme ayrı belgedir (`Prc_T_PurchaseAgreement` + `Prc_T_PurchaseAgreementLine`), numarası `Prc.PurchaseAgreement` numaratöründen (BO00001).
|
||
- Durum elle seçilir: Taslak › Doğrulanmış › Kapanmış / İptal. Teklif talebi ve siparişte yalnız **Doğrulanmış** sözleşme seçilebilir; seçim tedarikçi ve şubeye göre süzülür.
|
||
- Sözleşmeye bağlanan **kalemsiz** teklif talebi kaydedilince sözleşmenin kalan (henüz siparişe dönüşmemiş) miktarlarıyla ve anlaşılan fiyatlarla dolar (`Prc_P_PurchaseRfqFromAgreement`, `Prc_P_PurchaseRfqAfterSave`'den); kalemi olan belgeye dokunulmaz.
|
||
- Şube › Depo › Operasyon Türü zinciri teklif ve siparişteki gibidir; para birimi sözleşmede tutulur.
|
||
|
||
### 3. Menü ve ekranlar
|
||
|
||
Satınalma (`Prc`) › Sözleşmeler (`Prc.PurchaseAgreement`, Siparişler'in üstünde). Sekme: Ürünler (`Prc.PurchaseAgreementLine`, menüsüz alt form). Listedeki Yeni Teklif butonu Teklif Talepleri'ni açar.
|
||
|
||
### 4. Veri modeli
|
||
|
||
Kiracı + tam audit + soft delete.
|
||
|
||
- `Prc_T_PurchaseAgreement`: AgreementNo, SupplierId, BranchId, BuyerUserId, AgreementType (`Blanket` / `Tender`), CurrencyId, StartDate, EndDate, WarehouseId, OperationTypeId, Terms, Status (`Draft` / `Confirmed` / `Closed` / `Cancelled`).
|
||
- `Prc_T_PurchaseAgreementLine`: AgreementId (FK cascade), ProductId, Description, Quantity (anlaşılan), UomId, UnitPrice.
|
||
- Görünüm `Prc_V_PurchaseAgreementLine`: kalem + aynı sözleşmeye bağlı siparişlerde o ürün için sipariş edilen miktar.
|
||
- Teklif ve siparişte `AgreementId`.
|
||
|
||
### 5. İş kuralları ve hesaplar
|
||
|
||
- Bitiş tarihi başlangıçtan önce olamaz (50131).
|
||
- Kalan miktar = anlaşılan − sözleşmeye bağlı siparişlerde sipariş edilen; boş teklif talebi bu kalanla dolar, fiyat kalemin anlaşılan birim fiyatıdır.
|
||
- Ürün listesi aktif ve satın alınabilir ürünlerdir; birim ürünün satınalma biriminden gelir.
|
||
|
||
### 6. Yetki ve görünürlük
|
||
|
||
`Prc` › `Prc.PurchaseAgreement` (+ Create/Update/Delete/Export/Import/Note); Ürünler sekmesinin yetkisi sözleşmenin altındadır. Yetkiler hiçbir role otomatik atanmaz. Kiracı kapsamlı.
|
||
|
||
### 7. Entegrasyonlar
|
||
|
||
Siparişler (teklif talebi ve siparişte sözleşme seçimi, sipariş edilen miktar); Kontaklar (tedarikçi); Envanter (Ürünler, Depolar, Operasyon Türleri); Para Birimleri; Diziler (`Prc.PurchaseAgreement`).
|
||
|
||
### 8. Akış örneği
|
||
|
||
1. Satınalma 3K Kutu ile 2026 yılı için 1.000 adet koli kapsamlı sipariş sözleşmesi açar (BO00001), Ürünler'e 1.000 × 12 ₺ yazar, durumu Doğrulanmış yapar.
|
||
2. Teklif Talepleri'nde 3K Kutu ve BO00001 seçilerek kalemsiz belge kaydedilir; belge 1.000 adet × 12 ₺ ile dolar.
|
||
3. Teklif siparişe döndükçe sözleşmenin Ürünler sekmesinde sipariş edilen miktar artar; sonraki boş teklif kalanla dolar.
|
||
|
||
### 9. Sık sorulanlar
|
||
|
||
- **Sözleşme teklifte görünmüyor?** Durumu Doğrulanmış olmalı; tedarikçi ve şube teklifle aynı olmalı.
|
||
- **Teklif sözleşmeden dolmadı?** Yalnız kalemsiz teklif talebi kaydedilirken dolar; önceden kalem eklenmişse dokunulmaz.
|
||
|
||
### 10. Dosyalar ve geri alma
|
||
|
||
- Tablolar: `Prc_T_PurchaseAgreement`, `Prc_T_PurchaseAgreementLine`; görünüm `Prc_V_PurchaseAgreementLine`; yordam `Prc_P_PurchaseRfqFromAgreement` (sql + postgres object).
|
||
- Wizard'lar: `Prc_PurchaseAgreement.json`, `Prc_PurchaseAgreementLine.json`.
|
||
- Numaratör: `Adm.Definitions.Sequence` › `Prc.PurchaseAgreement`.
|
||
- Geri alma: önce `Prc_PurchaseAgreement`, sonra `Prc_PurchaseAgreementLine` `delete_wizard` ile; tablolar yalnız açık onayla düşürülür.
|
||
|
||
<!-- module-doc:section Prc.Orders -->
|
||
## Siparişler (`Prc.Orders`)
|
||
|
||
### 1. Amaç ve kapsam
|
||
|
||
Satınalma ekibinin Planlama'da satınalmaya ayırdığı talep kalemleri için tedarikçilere teklif talebi (RFQ) açması, aynı ihtiyacı birden fazla tedarikçiye sorarak ihale gibi fiyat toplaması, gelen fiyat ve terminleri kıyaslayıp en uygun teklifi kalem bazında satınalma siparişine dönüştürmesi; gerekirse teklif toplamadan doğrudan sipariş yazması ve tedarikçiyle çerçeve sözleşme yönetmesi. Kullanıcılar satınalma personeli ve alıcılardır. Mal kabul Envanter › Operasyonlar › Alımlar'dadır ([Stk.md](Stk.md)); onaylanan sipariş orada taslak alım açar ve alınan miktar sipariş kalemine geri yazılır. Tedarikçinin linkten kendi fiyatını girdiği portal, tedarikçi faturası (faturalanan, Fatura Yükle) ve analitik dağılım kapsam dışıdır.
|
||
|
||
### 2. Analiz ve kararlar
|
||
|
||
- Teklif talebi ve satınalma siparişi **ayrı belgelerdir** (`Prc_T_PurchaseRfq`, `Prc_T_PurchaseOrder`), ayrı numaratörle: `Prc.PurchaseRfq` (RFQ00001) ve `Prc.PurchaseOrder` (P00001). Sözleşme `Prc.PurchaseAgreement` (BO00001).
|
||
- **Tedarikçi başına bir teklif belgesi.** Aynı ihtiyaç için açılan belgeler bir ihaledir: `TenderGroupId` ihalenin kök (ilk) belgesinin Id'sidir. Alternatif tedarikçiler **Alternatif Oluştur** modalında (`Prc.PurchaseRfqAlternativeSupplier`: ihalede belgesi olmayan aktif kontaklar) ListForm'un çoklu seçimiyle seçilir, **Seçilenler İçin Oluştur** butonu seçili her kontak için o anki kalemleriyle birlikte kopya belge açılır (fiyat tedarikçinin fiyat listesinden, para birimi ve koşullar kontak kartından). Bir tedarikçi ihalede bir kez bulunur.
|
||
- Talep kalemleri teklif talebine yalnız **Satınalma › Talepler › Planlama**'dan gelir (Satınalma kararı; bkz. Talepler): kalem tedarikçinin aynı şube ve depodaki taslak teklif talebine eklenir, yoksa yeni taslak açılır. Bir teklif birden fazla malzeme talebinden oluşabilir. Teklif ve siparişteki eski Talep Kalemleri sekmesi ve Talepten Aktar butonu 2026-10-13'te kaldırıldı (karşılama kararı satınalmanındır, kalem iki yoldan iki kez karşılanmasın). Talep ilişkisi kalem düzeyindedir (`MaterialRequestItemId`); teklif kalemi silinir ya da teklif iptal edilirse miktar Planlama'ya döner.
|
||
- Popup (Yeni/Düzenle) formu yalnız belgenin kendi alanlarını taşır; alternatif, fiyat girişi ve durum işlemleri liste araç çubuğundaki butonlardadır (sekmelerden de yapılabilir). Vergi hariç / KDV / toplam kalemlerden hesaplandığı için formda değil listede görünür.
|
||
- Hızlı fiyat girişi: **Fiyat Karşılaştırması** sekmesi toplu düzenleme modundadır; ihalenin bütün tedarikçilerinin birim fiyat, teslim tarihi ve Seçili değerleri tek tabloda satır içinde yazılıp birlikte kaydedilir. Aynı ekran liste araç çubuğundaki ayrı **Fiyat Girişi** butonuyla modalda da açılır. Satır kaydı `Prc_P_PurchaseRfqComparisonSave`'dir: batch kaydı satırları eşzamanlı istekle gönderdiği için yordam önce ihalenin kök teklifini kilitler (`UPDLOCK`/`FOR UPDATE`, `TenderGroupId`), sonra satırı günceller ve teklifi yeniden hesaplar; grid ihaledeki bütün tedarikçi tekliflerinin satırlarını taşıdığı için kilit ihale düzeyindedir ve satırlar sırayla işlenir. `IX_Prc_T_PurchaseRfqLine_PurchaseRfqId` yeniden hesabın tablo taraması yapıp başka tekliflerin satırlarını kilitlemesini önler.
|
||
- Fiyat Girişi'nde birim fiyatı 0'dan büyük kaydedilen teklif, yanıtı `Waiting` ise kendiliğinden `Quoted` olur; boşsa Teklif Tarihi kayıt anı, Teklif Geçerliliği sipariş son tarihi (`OrderDeadline`) yazılır (`Prc_P_PurchaseRfqComparisonSave`). Elle girilmiş tarih ve `NotQuoted` yanıtı değişmez.
|
||
- Araç çubuğu butonları ListForm'un Commands (özel buton) kaydıyla, `OnClick` modunda yazılır; çekirdek değişmez. Alternatif Oluştur ve Fiyat Girişi seçili satırla aynı `PurchaseDocGrid` diyaloğunu (`ui/src/views/purchasing/PurchaseDocGridDialog.tsx`) açar; buton `listFormCode`, başlık (`title`) ve açıklama (`info`) dil anahtarını verir. Diyalog belgeye (`BaseId`) süzülmüş tek ekranı (`Prc.PurchaseRfqAlternativeSupplier`, `Prc.PurchaseRfqComparison`) platformun Grid bileşeniyle gösterir; ayrı bir uç yoktur.
|
||
- Teklif durumları: Taslak (Teklif Talebi) › Teklif Talebi Gönderildi (tedarikçiye e-posta kuyruğa alındı) › Satınalma Siparişi (dönüştürüldü) / İptal Edildi. Sipariş durumları: Taslak › Onaylandı / İptal; tekliften dönüşen sipariş onaylı açılır.
|
||
- **Kıyas (Fiyat Karşılaştırması):** fiyat `Sas_H_Currency.Rate` ile TL'ye çevrilir (kur = 1 birimin TL karşılığı). Puan = Fiyat ağırlığı × (en düşük TL fiyat / TL fiyat) + Termin ağırlığı × (en kısa termin günü / termin günü); termin günü = teslim tarihi − ihalenin açılış günü (en az 1). Ağırlıklar ihale genelinde tektir, varsayılan %70 fiyat / %30 termin, toplamı 100 olmalıdır. En yüksek puan **Önerilen**'dir. Fiyatı 0, terminsiz, "Teklif Verilmedi" ya da iptal edilmiş belgenin satırı puanlanmaz. Kalemin teslim tarihi boşsa belgenin Beklenen Geliş'i kullanılır.
|
||
- **Siparişe Dönüştür kalem bazındadır** (ihale genelinde, ihaledeki herhangi bir belgeden): kalemin **Seçili** satırı varsa o, yoksa Önerilen satır kazanır. Kazanan her teklif belgesi için ayrı satınalma siparişi açılır ve sipariş teklifin şubesini, operasyon türünü ve deposunu taşır; en az bir kalem kazanan teklif Satınalma Siparişi, hiç kazanamayan teklif İptal Edildi olur.
|
||
- **Kaynak** kolonu: teklifte kalemlerin talep numaraları; tekliften dönüşen siparişte teklif talep no; doğrudan yazılan siparişte talep numaraları.
|
||
- Durum butonları (Gönder, İhaleyi Gönder, Siparişe Dönüştür, Siparişi Onayla, İptal, Taslak olarak ayarla) onay sorar, işlemi gizli `PendingAction` alanına yazıp ekranın kendi güncelleme ucuyla (`list-form-data/update`) kaydeder; kayıt sonrası yordam işlemi `Prc_P_*SetStatus` ile çalıştırır ve alanı temizler. Alan formda görünmez.
|
||
- E-posta, bildirim kuyruğundan (`Adm_T_Notification`, kanal Mail) tedarikçinin kontak e-postasına gider; teklif e-postası fiyat içermez (ürün, miktar, istenen termin, teklif son tarihi), sipariş e-postası fiyatlı. Kuyruk mesajı 2048 karakterle sınırlıdır; çok kalemli belgede tablo kısalır.
|
||
- SQL tarafında açılan belgelerin (alternatif teklif, dönüşen sipariş) numarası numaratörden `Adm_P_SequenceNext` ile alınır; biçim `Sequence.GetNextSequence` ile aynıdır.
|
||
- Kullanıcı kararıyla kapsam dışı: tedarikçi portalı (fiyatı satınalma girer), Alınan/Kalan/Faturalanan ve Fatura Yükle. Firma kolonu açılmadı (kiracı kapsamı). Demo veri girilmedi.
|
||
|
||
### 3. Menü ve ekranlar
|
||
|
||
Satınalma (`Prc`) › Sözleşmeler (`Prc.PurchaseAgreement`, Siparişler'in hemen üstünde; sekme: Ürünler).
|
||
|
||
Satınalma (`Prc`) › Siparişler (`Prc.Orders`):
|
||
|
||
| Ekran | Kod | Not |
|
||
| --- | --- | --- |
|
||
| Teklif Talepleri | `Prc.PurchaseRfq` | tüm durumlar; sekmeler Ürünler, Tedarikçi Teklifi, Diğer Bilgiler, Teklifler (Ekle = alternatif), Fiyat Karşılaştırması (toplu düzenleme) |
|
||
| Satınalma Siparişleri | `Prc.PurchaseOrder` | tüm durumlar; ekle/sil (yalnız teklifsiz taslak); sekmeler Ürünler, Diğer Bilgiler, Teklifler |
|
||
| Sipariş Ürünleri | `Prc.PurchaseOrderProduct` | sipariş × kalem, her satır bir kalem; tüm durumlar, kalemsiz sipariş yok; salt okunur; satırdaki Siparişi Aç siparişin detay sayfasını açar (`/admin/form/Prc.PurchaseOrder/@PurchaseOrderId`) |
|
||
|
||
Menüsüz alt formlar: teklif tarafında `Prc.PurchaseRfqLine`, `Prc.PurchaseRfqQuote`, `Prc.PurchaseRfqOther`, `Prc.PurchaseRfqAlternative`, `Prc.PurchaseRfqAlternativeSupplier` (yalnız Alternatif Oluştur modalında), `Prc.PurchaseRfqComparison`; sipariş tarafında `Prc.PurchaseOrderLine`, `Prc.PurchaseOrderOther`, `Prc.PurchaseOrderAlternative`; sözleşmede `Prc.PurchaseAgreementLine`.
|
||
|
||
### 4. Veri modeli
|
||
|
||
Tüm tablolar kiracı + tam audit + soft delete.
|
||
|
||
- `Prc_T_PurchaseRfq`: RfqNo, TenderGroupId, SupplierId, SupplierReference, AgreementId, BranchId, OperationTypeId, WarehouseId (üçü de zorunlu; Şube › Depo › Operasyon Türü zinciriyle süzülür; alternatife ve siparişe kopyalanır), CurrencyId, OrderDeadline, ExpectedArrival, SupplierResponse (Waiting/Quoted/NotQuoted), QuoteDate, QuoteValidUntil, BuyerUserId, SourceDocument, ProjectId, IncotermId, IncotermLocation, PaymentTermId, Terms, PriceWeight (70), DeliveryWeight (30), UntaxedAmount, TaxAmount, TotalAmount, Status (Draft/Sent/Purchase/Cancelled), PendingAction, LastSentDate.
|
||
- `Prc_T_PurchaseRfqLine`: PurchaseRfqId (FK cascade), TenderLineId (alternatiflerde aynı kalemi eşler), ProductId, Description, Quantity, UomId, UnitPrice, TaxRate, Amount, DeliveryDate (tedarikçinin termini; Planlama'dan gelen kalemde talebin istenen termini), MaterialRequestItemId, IsSelected.
|
||
- `Prc_T_PurchaseOrder`: OrderNo, PurchaseRfqId (kaynak teklif), SupplierId, SupplierReference, AgreementId, BranchId, OperationTypeId (Stk_T_OperationType), WarehouseId (teslim alınacak depo, Stk_T_Warehouse; üçü de zorunlu; Şube › Depo › Operasyon Türü zinciriyle süzülür), CurrencyId, ExpectedArrival, ConfirmDate, ArrivalDate, BuyerUserId, SourceDocument, ProjectId, IncotermId, IncotermLocation, PaymentTermId, Terms, tutarlar, Status (Draft/Purchase/Cancelled), PendingAction, LastSentDate.
|
||
- `Prc_T_PurchaseOrderLine`: PurchaseOrderId (FK cascade), ProductId, Description, Quantity, UomId, UnitPrice, TaxRate, Amount, DeliveryDate, MaterialRequestItemId, PurchaseRfqLineId, ReceivedQuantity (alınan; alımın Doğrula'sı yazar, alım iadesi düşer).
|
||
- Görünümler: `Prc_V_PurchaseRfqComparison` (kıyas ve puan), `Prc_V_PurchaseRfqAlternative` (ihalenin belgeleri; teklif ve sipariş için `BaseId`), `Prc_V_PurchaseRfqAlternativeSupplier` (açık teklif × ihalede belgesi olmayan aktif kontak, `Id` = teklif|kontak), `Prc_V_PurchaseAgreementLine` (sözleşmenin sipariş edilen miktarı), `Prc_V_PurchaseOrderLine` (Sipariş Ürünleri: silinmemiş sipariş × silinmemiş kalem, `Id` kalemin Id'si; vergi hariç ve KDV kalemin KDV dahil tutarından ayrıştırılır, Talep No kalemin malzeme talebinden).
|
||
- Yordamlar: `Prc_P_PurchaseRfq{AfterSave,Recalc,ComparisonSave,CreateAlternative,FromAgreement,Send,SetStatus,Award}`, `Prc_P_PurchaseOrder{AfterSave,Recalc,Send,SetStatus}`, `Adm_P_SequenceNext`; talep kalemini teklife ekleyen `Prc_P_MaterialRequestPlan` (Talepler).
|
||
|
||
### 5. İş kuralları ve hesaplar
|
||
|
||
- Teklif kaydı ve Tedarikçi Teklifi / Diğer Bilgiler sekmesindeki kayıt sonrası `Prc_P_PurchaseRfqAfterSave`: ağırlık toplamı 100 kontrolü; boş ödeme/teslimat koşulu ve Incoterm konumu tedarikçinin Satınalma sekmesinden (alıcı yalnız ilk kayıtta); yanıt Bekleniyor dışına alınınca boş teklif tarihi; ağırlıkların ihalenin diğer belgelerine yazılması; sözleşme kalemleri (yalnız kalemsiz belgede); tutarlar; buton işlemi (`PendingAction`).
|
||
- Planlama'dan gelen kalem (`Prc_P_MaterialRequestPlan`): fiyat tedarikçinin fiyat listesinden (`Stk_T_ProductSupplier`, en düşük minimum miktar) › 0, KDV ürünün alış oranı, teslim tarihi talebin termini; aynı kalem aynı taslakta varsa miktarı artar.
|
||
- Alternatif (`Prc_P_PurchaseRfqCreateAlternative @Key, @UserId`, `@Key` = teklif|kontak, seçilen her satır için): belge teklif aşamasında olmalı; tedarikçinin ihalede iptal olmayan belgesi varsa hata.
|
||
- Kalem Tutarı KDV dahildir: Tutar = yuvarla(yuvarla(Miktar × Birim Fiyat) × (1 + Oran/100)); Vergi Hariç = Σ yuvarla(Miktar × Birim Fiyat); KDV = Σ(Tutar − kalemin vergi hariç tutarı); Toplam = Vergi Hariç + KDV = Σ Tutar. Formdaki script ve `Prc_P_Purchase{Rfq,Order}Recalc` aynı formülü kullanır; kalem her eklenip/değişip/silindiğinde yeniden hesaplanır.
|
||
- Teklif işlemleri: E-posta ile Gönder (taslak ya da gönderilmiş; kalem ve tedarikçi e-postası şart; Taslak → Gönderildi) · İhaleyi Gönder (ihalenin bütün taslak belgeleri) · Siparişe Dönüştür (taslak ya da gönderilmiş; ihale daha önce dönüştürülmemiş olmalı) · İptal (siparişe dönüşmüş teklif iptal edilemez) · Taslak olarak ayarla (yalnız iptalden; ihale siparişe dönüşmüşse olmaz).
|
||
- Sipariş işlemleri: Siparişi Onayla (taslak, kalemli) · E-posta ile Gönder (iptal dışında) · İptal · Taslak olarak ayarla (yalnız iptalden). İptal: taslak ya da onaylı sipariş; yapılmış alımı olan sipariş iptal edilemez.
|
||
- Araç çubuğu butonları seçili belgenin durumuna göre aktif/pasif olur (`VisibleExpression`): teklifte Alternatif Oluştur, Fiyat Girişi, E-posta ile Gönder, İhaleyi Gönder, Siparişe Dönüştür ve İptal yalnız Teklif Talebi / Gönderildi'de, Taslak olarak ayarla yalnız İptal'de; siparişte Siparişi Onayla yalnız Taslak'ta, E-posta ile Gönder ve İptal Taslak / Onaylandı'da, Taslak olarak ayarla yalnız İptal'de. Satırdan okunamayan şartları (kalem, alım, ihale durumu) sunucu denetler.
|
||
- **Alım:** Siparişi Onayla ve Siparişe Dönüştür (onaylı açılan sipariş) siparişin operasyon türünde taslak alım açar (`Stk_P_TransferFromPurchaseOrder`): konumlar operasyon türünden, satırlar envanter takipli kalemlerin alınmamış miktarı, Kaynak Belge = sipariş no. Siparişin iptal olmayan alımı varsa yenisi açılmaz. Alım satırı sipariş kaleminin talep kalemini taşır: alımın Doğrula'sı talep kaleminin teslim edilen miktarını yazar, bütün kalemleri teslim edilen talep Tamamlandı olur (iade geri alır). Yapılmış alımı olan sipariş iptal edilemez; iptal edilen siparişin yapılmamış alımları da iptal olur.
|
||
- Siparişe Dönüştür tek transaction'dır: bir teklif ya da alım açılamazsa hiçbir sipariş açılmaz. Teklif talebi ya da sipariş silinince talep durumları yeniden hesaplanır (`Prc_P_MaterialRequestSyncStatus`).
|
||
- Siparişe dönüşmüş ya da iptal edilmiş teklif ve kalemleri değiştirilemez; iptal edilmiş siparişin kalemi değiştirilemez. Gönderilmiş ya da dönüşmüş teklif silinemez; yalnız teklifsiz yazılmış taslak sipariş silinebilir.
|
||
- Fiyat Karşılaştırması sekmesinde birim fiyat, teslim tarihi ve Seçili düzenlenir (ilgili teklifin toplamı yeniden hesaplanır). Siparişe dönüşte kazanan satırlar Seçili olarak işaretlenir.
|
||
- Sözleşmede bitiş tarihi başlangıçtan önce olamaz; sözleşme seçilen boş teklif kalan (siparişe dönüşmemiş) miktarlarla dolar.
|
||
|
||
### 6. Yetki ve görünürlük
|
||
|
||
Yetki ağacı: `Prc` › `Prc.Orders` › teklif ve sipariş listeleri, `Prc` › `Prc.PurchaseAgreement` (+ Create/Update/Delete/Export/Import/Note). Her alt formun yetkisi kendi listesinin altındadır: teklif sekmeleri `Prc.PurchaseRfq`, sipariş sekmeleri `Prc.PurchaseOrder` altında; sekmeler ekranlar arasında paylaşılmaz. Teklif kullanıcısına Fiyat Karşılaştırması'nın Update yetkisi de verilmelidir (fiyat ve seçim buradan girilir). Yetkiler hiçbir role otomatik atanmaz. Kiracı kapsamlı; Teklif Talepleri ve Satınalma Siparişleri şube yetkilidir (`IsBranch`, 2026-10-14 kararı): kullanıcı yalnız atandığı şubelerin belgelerini görür, formda yalnız onları seçer ve şube seçilince kullanıcının o şubedeki varsayılan deposu gelir (yeni belge kullanıcının şube listesindeki ilk şube ve o şubedeki deposuyla açılır). Bir kullanıcı hiçbir şubeye atanmamışsa bu iki listede satır görmez.
|
||
|
||
### 7. Entegrasyonlar
|
||
|
||
Yönetim › Tanımlamalar › Kontaklar (tedarikçi, e-posta, Satınalma sekmesi varsayılanları); Envanter (Ürünler, tedarikçi fiyatları, Operasyon Türleri; Operasyonlar › Alımlar — sipariş onayında taslak alım, alınan miktar); Satınalma › Tanımlamalar (Ödeme Koşulları, Teslimat Koşulları); Proje modülü; Talepler (Planlama › Satınalma kararı); Para Birimleri (kur); Bildirimler: tipler `TeklifTalebiGonderildi`, `SatinalmaSiparisiGonderildi`, her birinin Custom/Mail kuralı (kural kapatılırsa e-posta kuyruğa girmez; NotificationWorker gönderir); Diziler (`Prc.PurchaseRfq`, `Prc.PurchaseOrder`, `Prc.PurchaseAgreement`).
|
||
|
||
### 8. Akış örneği
|
||
|
||
1. Ali'nin MT-2026-00015 ve Ayşe'nin MT-2026-00016 talepleri onaylanır.
|
||
2. Satınalma Planlama'da iki talebin kalemlerini Satınalma kararıyla tedarikçi "3K Kutu"ya ayırır; ilk karar 3K Kutu için taslak teklif talebi açar, ikincisi aynı taslağa eklenir. Teklif Talepleri'nde belgenin Teklifler sekmesinde Ekle ile "5 Mutlu Gıda" ve "Kartela"yı ekler. RFQ00001 (3K) kalemleriyle, RFQ00002 ve RFQ00003 kopya olarak aynı ihalede açılır; Kaynak = MT-2026-00015, MT-2026-00016.
|
||
3. Araç çubuğunda İhaleyi Gönder: üç tedarikçiye fiyatsız teklif e-postası kuyruğa alınır, belgeler Gönderildi olur.
|
||
4. Tedarikçilerin dönüşleri Fiyat Karşılaştırması sekmesinde tek tabloda birim fiyat ve teslim tarihi olarak yazılıp bir kez kaydedilir; her ürün için en yüksek puanlı satır Önerilen işaretlenir. Kullanıcı bir üründe daha pahalı ama güvendiği tedarikçiyi Seçili yapar.
|
||
5. Siparişe Dönüştür butonu: kazanan iki tedarikçiye P00007 ve P00008 açılır (Kaynak RFQ00001 / RFQ00003), RFQ00002 İptal Edildi olur.
|
||
6. Satınalma Siparişleri'nde E-posta ile Gönder butonuyla siparişler tedarikçiye gider; mal gelince Varış girilir.
|
||
|
||
### 9. Sık sorulanlar
|
||
|
||
- **Butonlar nerede?** Listede bir belge seçilir; işlemler araç çubuğundadır (detay sayfasının araç çubuğunda da görünür). Belgenin durumunda yapılamayan işlemin butonu pasiftir. Buton yetkisi: durum işlemleri ekranın Update, Alternatif Oluştur Teklifler ekranının Create yetkisi.
|
||
- **Talep kalemini teklife nasıl eklerim?** Satınalma › Talepler › Planlama'da satırdaki Planla ile Satınalma sekmesinde tedarikçiye miktar yazıp Onayla'ya basın; kalem tedarikçinin taslak teklif talebine eklenir.
|
||
- **Alternatif Oluştur / Fiyat Girişi modalı nasıl kullanılır?** Alternatif Oluştur'da ihaleye eklenecek tedarikçiler satır başındaki kutuyla seçilip Seçilenler İçin Oluştur'a basılır (modal iş bitince kendiliğinden kapanır). Fiyat Girişi ayrı butondur: bütün tedarikçilerin fiyat ve terminleri yazılıp tablonun Kaydet'ine basılır, modal Kapat ile kapanır.
|
||
- **Alternatif ekledim, kalemleri eksik?** Alternatif, açıldığı andaki kalemleri kopyalar; sonradan eklenen kalem yalnız eklendiği belgededir.
|
||
- **Önerilen neden boş?** Satırın fiyatı ve teslim tarihi (ya da belgenin Beklenen Geliş'i) girilmiş olmalı; Teklif Verilmedi yanıtlı ya da iptal edilmiş belge kıyasa girmez.
|
||
- **E-posta gitmedi?** Tedarikçinin kontak e-postasını, Bildirim Kuralları'nda ilgili tipin Mail kuralını ve Bildirimler ekranındaki satırı (IsSent) kontrol edin; NotificationWorker aktif olmalı.
|
||
- **Farklı para birimindeki teklif nasıl kıyaslanıyor?** Para Birimleri ekranındaki kurla TL'ye çevrilerek; kur güncel değilse kıyas yanıltır.
|
||
|
||
### 10. Dosyalar ve geri alma
|
||
|
||
- Tablolar: `sql/object/Prc_T_PurchaseRfq.sql`, `Prc_T_PurchaseRfqLine.sql`, `Prc_T_PurchaseOrder.sql`, `Prc_T_PurchaseOrderLine.sql`, `Prc_T_PurchaseAgreement.sql`, `Prc_T_PurchaseAgreementLine.sql` (+ postgres).
|
||
- Görünüm/yordam: `Prc_V_PurchaseRfqComparison`, `Prc_V_PurchaseRfqAlternative`, `Prc_V_PurchaseRfqAlternativeSupplier`, `Prc_V_PurchaseAgreementLine`, `Prc_V_PurchaseOrderLine`, `Prc_P_PurchaseRfq*`, `Prc_P_PurchaseOrder*`, `Adm_P_SequenceNext` (sql + postgres object).
|
||
- Wizard'lar: `Prc_PurchaseRfq{,Line,Quote,Other,Alternative,AlternativeSupplier,Comparison}.json`, `Prc_PurchaseOrder{,Line,Other,Alternative,Product}.json`, `Prc_PurchaseAgreement{,Line}.json`.
|
||
- Arayüz: `ui/src/views/purchasing/PurchaseDocGridDialog.tsx` (kayıt: `DialogShowComponent`, ad `PurchaseDocGrid`).
|
||
- Veri: Diziler `Prc.PurchaseRfq`, `Prc.PurchaseOrder`, `Prc.PurchaseAgreement`; Bildirim Türleri ve Kuralları `TeklifTalebiGonderildi`, `SatinalmaSiparisiGonderildi`.
|
||
- Geri alma: önce ana ekranlar (`Prc_PurchaseRfq`, `Prc_PurchaseOrder`, `Prc_PurchaseAgreement`), sonra alt formlar `delete_wizard` ile silinir; tablolar yalnız açık onayla düşürülür.
|
||
|
||
<!-- module-doc:auto:begin -->
|
||
## Ek — Ekran envanteri (otomatik)
|
||
|
||
> Wizard dosyalarından üretilir; deploy, silme, tasarımcı kaydı ve import'ta yenilenir. Elle düzenleme bir sonraki yenilemede kaybolur.
|
||
|
||
### Tanımlamalar (`Prc.Definitions`)
|
||
|
||
#### Ödeme Koşulları — `Prc.PaymentTerm`
|
||
|
||
| Özellik | Değer |
|
||
| --- | --- |
|
||
| Wizard | `wizard/Prc_PaymentTerm.json` |
|
||
| Yol | Liste (Wizard) |
|
||
| Menü | `Prc.Definitions` › `Prc.PaymentTerm` (sıra 1) |
|
||
| Yetki | `Prc.PaymentTerm` + `.Create`, `.Update`, `.Delete`, `.Export`, `.Import`, `.Note` |
|
||
| Açıklama | Ödeme Koşulları — tedarikçi kartlarında ve satınalma belgelerinde kullanılan vade tanımları (peşin, 15/30/45 gün, ay sonu, peşinat + bakiye). |
|
||
| Geliştirme talebi | Satınalma Modülü |
|
||
| Kaynak | `Prc_T_PaymentTerm` · filtre `"IsDeleted" = 'false'` |
|
||
| Görünümler | Grid, Card, Pivot, Chart (açılış grid) |
|
||
| Düzenleme | ekle ✓ · düzenle ✓ · sil ✓ · popup |
|
||
| Kapsam | Kiracı |
|
||
| Widget'lar | `Sas.Widget.Total`, `Sas.Widget.Active`, `Sas.Widget.Passive` |
|
||
| Veri aynası | `data/Prc.PaymentTerm.json` |
|
||
|
||
| Alan | Başlık | Editör | Zorunlu | Formda | Kaynak |
|
||
| --- | --- | --- | --- | --- | --- |
|
||
| `Name` | Ad | dxTextBox | ✓ | ✓ | |
|
||
| `DueDays` | Vade (Gün) | dxNumberBox | | ✓ | |
|
||
| `IsActive` | Aktif | dxCheckBox | ✓ | ✓ | |
|
||
| `Description` | Açıklama | dxTextArea | | ✓ | |
|
||
|
||
#### Ödeme Yöntemleri — `Prc.PaymentMethod`
|
||
|
||
| Özellik | Değer |
|
||
| --- | --- |
|
||
| Wizard | `wizard/Prc_PaymentMethod.json` |
|
||
| Yol | Liste (Wizard) |
|
||
| Menü | `Prc.Definitions` › `Prc.PaymentMethod` (sıra 2) |
|
||
| Yetki | `Prc.PaymentMethod` + `.Create`, `.Update`, `.Delete`, `.Export`, `.Import`, `.Note` |
|
||
| Açıklama | Ödeme Yöntemleri — tedarikçiye ödemenin nasıl yapılacağı (banka havalesi, çek, nakit kasa, NACHA). |
|
||
| Geliştirme talebi | Satınalma Modülü |
|
||
| Kaynak | `Prc_T_PaymentMethod` · filtre `"IsDeleted" = 'false'` |
|
||
| Görünümler | Grid, Card, Pivot, Chart (açılış grid) |
|
||
| Düzenleme | ekle ✓ · düzenle ✓ · sil ✓ · popup |
|
||
| Kapsam | Kiracı |
|
||
| Widget'lar | `Sas.Widget.Total`, `Sas.Widget.Active`, `Sas.Widget.Passive` |
|
||
| Veri aynası | `data/Prc.PaymentMethod.json` |
|
||
|
||
| Alan | Başlık | Editör | Zorunlu | Formda | Kaynak |
|
||
| --- | --- | --- | --- | --- | --- |
|
||
| `Name` | Ad | dxTextBox | ✓ | ✓ | |
|
||
| `Journal` | Yevmiye | dxTextBox | | ✓ | |
|
||
| `IsActive` | Aktif | dxCheckBox | ✓ | ✓ | |
|
||
|
||
#### Teslimat Koşulları — `Prc.Incoterm`
|
||
|
||
| Özellik | Değer |
|
||
| --- | --- |
|
||
| Wizard | `wizard/Prc_Incoterm.json` |
|
||
| Yol | Liste (Wizard) |
|
||
| Menü | `Prc.Definitions` › `Prc.Incoterm` (sıra 3) |
|
||
| Yetki | `Prc.Incoterm` + `.Create`, `.Update`, `.Delete`, `.Export`, `.Import`, `.Note` |
|
||
| Açıklama | Teslimat Koşulları — taşıma, sigorta ve riskin kimde olduğunu belirleyen uluslararası teslim şekilleri (EXW, FCA, FAS, FOB, CFR, CIF, CPT, CIP). |
|
||
| Geliştirme talebi | Satınalma Modülü |
|
||
| Kaynak | `Prc_T_Incoterm` · filtre `"IsDeleted" = 'false'` |
|
||
| Görünümler | Grid, Card, Pivot, Chart (açılış grid) |
|
||
| Düzenleme | ekle ✓ · düzenle ✓ · sil ✓ · popup |
|
||
| Kapsam | Kiracı |
|
||
| Widget'lar | `Sas.Widget.Total`, `Sas.Widget.Active`, `Sas.Widget.Passive` |
|
||
| Veri aynası | `data/Prc.Incoterm.json` |
|
||
|
||
| Alan | Başlık | Editör | Zorunlu | Formda | Kaynak |
|
||
| --- | --- | --- | --- | --- | --- |
|
||
| `Code` | Kod | dxTextBox | ✓ | ✓ | |
|
||
| `Name` | Ad | dxTextBox | ✓ | ✓ | |
|
||
| `IsActive` | Aktif | dxCheckBox | ✓ | ✓ | |
|
||
|
||
#### Teslim Yöntemleri — `Prc.DeliveryMethod`
|
||
|
||
| Özellik | Değer |
|
||
| --- | --- |
|
||
| Wizard | `wizard/Prc_DeliveryMethod.json` |
|
||
| Yol | Liste (Wizard) |
|
||
| Menü | `Prc.Definitions` › `Prc.DeliveryMethod` (sıra 4) |
|
||
| Yetki | `Prc.DeliveryMethod` + `.Create`, `.Update`, `.Delete`, `.Export`, `.Import`, `.Note` |
|
||
| Açıklama | Teslim Yöntemleri — malın nasıl teslim edileceği (yerel teslimat, kargo, kurye). |
|
||
| Geliştirme talebi | Satınalma Modülü |
|
||
| Kaynak | `Prc_T_DeliveryMethod` · filtre `"IsDeleted" = 'false'` |
|
||
| Görünümler | Grid, Card, Pivot, Chart (açılış grid) |
|
||
| Düzenleme | ekle ✓ · düzenle ✓ · sil ✓ · popup |
|
||
| Kapsam | Kiracı |
|
||
| Widget'lar | `Sas.Widget.Total`, `Sas.Widget.Active`, `Sas.Widget.Passive` |
|
||
| Veri aynası | `data/Prc.DeliveryMethod.json` |
|
||
|
||
| Alan | Başlık | Editör | Zorunlu | Formda | Kaynak |
|
||
| --- | --- | --- | --- | --- | --- |
|
||
| `Name` | Ad | dxTextBox | ✓ | ✓ | |
|
||
| `IsActive` | Aktif | dxCheckBox | ✓ | ✓ | |
|
||
|
||
#### Red Nedenleri — `Prc.RejectReason`
|
||
|
||
| Özellik | Değer |
|
||
| --- | --- |
|
||
| Wizard | `wizard/Prc_RejectReason.json` |
|
||
| Yol | Liste (Wizard) |
|
||
| Menü | `Prc.Definitions` › `Prc.RejectReason` (sıra 5) |
|
||
| Yetki | `Prc.RejectReason` + `.Create`, `.Update`, `.Delete`, `.Export`, `.Import`, `.Note` |
|
||
| Açıklama | Red Nedenleri — satınalma taleplerinin reddedilme sebepleri (ihtiyaç yok, miktar uygun değil, yanlış ürün, bütçe uygun değil, diğer). |
|
||
| Geliştirme talebi | Satınalma -> Talepler |
|
||
| Kaynak | `Prc_T_RejectReason` · filtre `"IsDeleted" = 'false'` |
|
||
| Görünümler | Grid, Card, Pivot, Chart (açılış grid) |
|
||
| Düzenleme | ekle ✓ · düzenle ✓ · sil ✓ · popup |
|
||
| Kapsam | Kiracı |
|
||
| Widget'lar | `Sas.Widget.Total`, `Sas.Widget.Active`, `Sas.Widget.Passive` |
|
||
| Form varsayılanları | SortOrder=0, IsActive=true |
|
||
| Veri aynası | `data/Prc.RejectReason.json` |
|
||
|
||
| Alan | Başlık | Editör | Zorunlu | Formda | Kaynak |
|
||
| --- | --- | --- | --- | --- | --- |
|
||
| `Name` | Red Nedeni | dxTextBox | ✓ | ✓ | |
|
||
| `SortOrder` | Sıra | dxNumberBox | ✓ | ✓ | |
|
||
| `IsActive` | Aktif | dxCheckBox | ✓ | ✓ | |
|
||
|
||
### Talepler (`Prc.MaterialRequests`)
|
||
|
||
#### Taleplerim — `Prc.MyMaterialRequest`
|
||
|
||
| Özellik | Değer |
|
||
| --- | --- |
|
||
| Wizard | `wizard/Prc_MyMaterialRequest.json` |
|
||
| Yol | Liste (Wizard) |
|
||
| Menü | `Prc.MaterialRequests` › `Prc.MyMaterialRequest` (sıra 1) |
|
||
| Yetki | `Prc.MyMaterialRequest` + `.Create`, `.Update`, `.Delete`, `.Export`, `.Import`, `.Note` |
|
||
| Açıklama | Taleplerim — açtığınız malzeme talepleri, tüm durumlarıyla. |
|
||
| Geliştirme talebi | Satınalma -> Talepler |
|
||
| Kaynak | `Prc_T_MaterialRequest` · filtre `"IsDeleted" = 'false' AND "RequesterUserId" = '@USERID'` |
|
||
| Görünümler | Grid, Card, Pivot, Chart (açılış grid) |
|
||
| Düzenleme | ekle ✓ · düzenle ✓ · sil ✓ · popup |
|
||
| Kapsam | Kiracı |
|
||
| Alt formlar | `Prc.MaterialRequestLine` (Id → MaterialRequestId) |
|
||
| Widget'lar | `Prc.MaterialRequest.Widget.Mine`, `Prc.MaterialRequest.Widget.Pending`, `Prc.MaterialRequest.Widget.Approved`, `Prc.MaterialRequest.Widget.Rejected` |
|
||
| Komutlar | InsertAfter: `Prc_P_MaterialRequestAfterSave` · UpdateAfter: `Prc_P_MaterialRequestAfterSave` · DeleteBefore: SQL |
|
||
| Form varsayılanları | RequestNo=Prc.MaterialRequest, RequesterUserId=@USERID, DepartmentId=, RequestDate=@NOW, Priority=0, Priority=5, BranchId=, WarehouseId=, LocationId= |
|
||
| Onay akışı | Start 'Onaya Gönderildi' → Approval 'Departman Onayı' → Approval 'Satınalma Onayı' → End 'Onaylandı' → End 'Reddedildi' |
|
||
|
||
| Alan | Başlık | Editör | Zorunlu | Formda | Kaynak |
|
||
| --- | --- | --- | --- | --- | --- |
|
||
| `RequestNo` | Talep No | dxTextBox | | ✓ | |
|
||
| `Priority` | Öncelik (0-3) | dxRating | ✓ | ✓ | |
|
||
| `RequesterUserId` | Talep Eden | dxSelectBox | ✓ | ✓ | sorgu: AbpUsers · script |
|
||
| `BranchId` | Şube Adı | dxSelectBox | ✓ | ✓ | sorgu: Sas_T_Branch · script |
|
||
| `DepartmentId` | Departman | dxSelectBox | ✓ | ✓ | sorgu: Hr_T_Department (← BranchId) |
|
||
| `WarehouseId` | Depo | dxSelectBox | ✓ | ✓ | sorgu: Stk_T_Warehouse (← BranchId) |
|
||
| `LocationId` | Konum | dxSelectBox | ✓ | ✓ | sorgu: Stk_T_Location (← WarehouseId) |
|
||
| `RequestDate` | Talep Tarihi | dxDateBox | ✓ | ✓ | |
|
||
| `Description` | Genel Açıklama | dxHtmlEditor | | ✓ | |
|
||
| `ApprovalStatus` | Onay Durumu | dxTextBox | | | |
|
||
| `ApprovalUserName` | Onaylayan Kullanıcı Adı | dxTextBox | | | |
|
||
| `ApprovalDate` | Onay Tarihi | dxDateBox | | | |
|
||
| `ApprovalDescription` | Onay Açıklaması | dxTextBox | | | |
|
||
| `PurchaseApproverUserNames` | Satınalma Onaycıları | dxTextBox | | | |
|
||
| `DeptApproverUserNames` | Departman Onaycıları | dxTextBox | | | |
|
||
|
||
#### Departman Onayı Bekleyenler — `Prc.MaterialRequestDeptApproval`
|
||
|
||
| Özellik | Değer |
|
||
| --- | --- |
|
||
| Wizard | `wizard/Prc_MaterialRequestDeptApproval.json` |
|
||
| Yol | Liste (Wizard) |
|
||
| Menü | `Prc.MaterialRequests` › `Prc.MaterialRequestDeptApproval` (sıra 2) |
|
||
| Yetki | `Prc.MaterialRequestDeptApproval` + `.Create`, `.Update`, `.Delete`, `.Export`, `.Import`, `.Note` |
|
||
| Açıklama | Departman Onayı Bekleyenler — departman onaycısının kararını bekleyen malzeme talepleri. |
|
||
| Geliştirme talebi | Satınalma -> Talepler |
|
||
| Kaynak | `Prc_T_MaterialRequest` · filtre `"IsDeleted" = 'false' AND "ApprovalStatus" = N'Departman Onayı'` |
|
||
| Görünümler | Grid, Card, Pivot, Chart (açılış grid) |
|
||
| Düzenleme | ekle ✗ · düzenle ✓ · sil ✗ · popup |
|
||
| Kapsam | Kiracı |
|
||
| Alt formlar | `Prc.MaterialRequestLine` (Id → MaterialRequestId) |
|
||
| Widget'lar | `Prc.MaterialRequest.Status.DeptApproval`, `Prc.MaterialRequest.Status.PurchaseApproval`, `Prc.MaterialRequest.Status.Rejected` |
|
||
| Komutlar | UpdateAfter: `Prc_P_MaterialRequestAfterSave` |
|
||
| Form varsayılanları | Priority=0 |
|
||
| Onay akışı | Start 'Onaya Gönderildi' → Approval 'Departman Onayı' → Approval 'Satınalma Onayı' → End 'Onaylandı' → End 'Reddedildi' |
|
||
|
||
| Alan | Başlık | Editör | Zorunlu | Formda | Kaynak |
|
||
| --- | --- | --- | --- | --- | --- |
|
||
| `RequestNo` | Talep No | dxTextBox | | ✓ | |
|
||
| `Priority` | Öncelik (0-3) | dxRating | ✓ | ✓ | |
|
||
| `RequesterUserId` | Talep Eden | dxSelectBox | ✓ | ✓ | sorgu: AbpUsers |
|
||
| `BranchId` | Şube Adı | dxSelectBox | ✓ | ✓ | sorgu: Sas_T_Branch |
|
||
| `DepartmentId` | Departman | dxSelectBox | ✓ | ✓ | sorgu: Hr_T_Department |
|
||
| `WarehouseId` | Depo | dxSelectBox | ✓ | ✓ | sorgu: Stk_T_Warehouse |
|
||
| `LocationId` | Konum | dxSelectBox | ✓ | ✓ | sorgu: Stk_T_Location |
|
||
| `RequestDate` | Talep Tarihi | dxDateBox | ✓ | ✓ | |
|
||
| `Description` | Genel Açıklama | dxHtmlEditor | | ✓ | |
|
||
| `ApprovalStatus` | Onay Durumu | dxTextBox | | | |
|
||
| `DeptApproverUserNames` | Departman Onaycıları | dxTextBox | | | |
|
||
| `PurchaseApproverUserNames` | Satınalma Onaycıları | dxTextBox | | | |
|
||
| `ApprovalUserName` | Onaylayan Kullanıcı Adı | dxTextBox | | | |
|
||
| `ApprovalDate` | Onay Tarihi | dxDateBox | | | |
|
||
| `ApprovalDescription` | Onay Açıklaması | dxTextBox | | | |
|
||
|
||
#### Satınalma Onayı Bekleyenler — `Prc.MaterialRequestPurchaseApproval`
|
||
|
||
| Özellik | Değer |
|
||
| --- | --- |
|
||
| Wizard | `wizard/Prc_MaterialRequestPurchaseApproval.json` |
|
||
| Yol | Liste (Wizard) |
|
||
| Menü | `Prc.MaterialRequests` › `Prc.MaterialRequestPurchaseApproval` (sıra 3) |
|
||
| Yetki | `Prc.MaterialRequestPurchaseApproval` + `.Create`, `.Update`, `.Delete`, `.Export`, `.Import`, `.Note` |
|
||
| Açıklama | Satınalma Onayı Bekleyenler — departmanca onaylanmış ve satınalmanın kararını bekleyen malzeme talepleri. |
|
||
| Geliştirme talebi | Satınalma -> Talepler |
|
||
| Kaynak | `Prc_T_MaterialRequest` · filtre `"IsDeleted" = 'false' AND "ApprovalStatus" = N'Satınalma Onayı'` |
|
||
| Görünümler | Grid, Card, Pivot, Chart (açılış grid) |
|
||
| Düzenleme | ekle ✗ · düzenle ✓ · sil ✗ · popup |
|
||
| Kapsam | Kiracı |
|
||
| Alt formlar | `Prc.MaterialRequestLine` (Id → MaterialRequestId) |
|
||
| Widget'lar | `Prc.MaterialRequest.Status.PurchaseApproval`, `Prc.MaterialRequest.Status.Approved`, `Prc.MaterialRequest.Status.Rejected` |
|
||
| Komutlar | UpdateAfter: `Prc_P_MaterialRequestAfterSave` |
|
||
| Form varsayılanları | Priority=0 |
|
||
| Onay akışı | Start 'Onaya Gönderildi' → Approval 'Departman Onayı' → Approval 'Satınalma Onayı' → End 'Onaylandı' → End 'Reddedildi' |
|
||
|
||
| Alan | Başlık | Editör | Zorunlu | Formda | Kaynak |
|
||
| --- | --- | --- | --- | --- | --- |
|
||
| `RequestNo` | Talep No | dxTextBox | | ✓ | |
|
||
| `Priority` | Öncelik (0-3) | dxRating | ✓ | ✓ | |
|
||
| `RequesterUserId` | Talep Eden | dxSelectBox | ✓ | ✓ | sorgu: AbpUsers |
|
||
| `BranchId` | Şube Adı | dxSelectBox | ✓ | ✓ | sorgu: Sas_T_Branch |
|
||
| `DepartmentId` | Departman | dxSelectBox | ✓ | ✓ | sorgu: Hr_T_Department |
|
||
| `WarehouseId` | Depo | dxSelectBox | ✓ | ✓ | sorgu: Stk_T_Warehouse |
|
||
| `LocationId` | Konum | dxSelectBox | ✓ | ✓ | sorgu: Stk_T_Location |
|
||
| `RequestDate` | Talep Tarihi | dxDateBox | ✓ | ✓ | |
|
||
| `Description` | Genel Açıklama | dxHtmlEditor | | ✓ | |
|
||
| `ApprovalStatus` | Onay Durumu | dxTextBox | | | |
|
||
| `DeptApproverUserNames` | Departman Onaycıları | dxTextBox | | | |
|
||
| `PurchaseApproverUserNames` | Satınalma Onaycıları | dxTextBox | | | |
|
||
| `ApprovalUserName` | Onaylayan Kullanıcı Adı | dxTextBox | | | |
|
||
| `ApprovalDate` | Onay Tarihi | dxDateBox | | | |
|
||
| `ApprovalDescription` | Onay Açıklaması | dxTextBox | | | |
|
||
|
||
#### Planlama — `Prc.MaterialRequestPlan`
|
||
|
||
| Özellik | Değer |
|
||
| --- | --- |
|
||
| Wizard | `wizard/Prc_MaterialRequestPlan.json` |
|
||
| Yol | Liste (Wizard) |
|
||
| Menü | `Prc.MaterialRequests` › `Prc.MaterialRequestPlan` (sıra 4) |
|
||
| Yetki | `Prc.MaterialRequestPlan` + `.Create`, `.Update`, `.Delete`, `.Export`, `.Import` |
|
||
| Açıklama | Planlama — satınalma ekibi onaylanmış her talep kaleminin nasıl karşılanacağına karar verir: satın alınır (teklif talebi) ya da stoktan taşınır (iç transfer). |
|
||
| Kaynak | `Prc_V_MaterialRequestPlan` · filtre `"IsDeleted" = 'false'` |
|
||
| Görünümler | Grid, Card, Pivot, Chart (açılış grid) |
|
||
| Düzenleme | ekle ✗ · düzenle ✗ · sil ✗ · popup |
|
||
| Kapsam | Kiracı |
|
||
| Alt formlar | `Prc.MaterialRequestPlanStock` (ProductId → ProductId), `Prc.MaterialRequestPlanSupplier` (ProductId → ProductId), `Prc.MaterialRequestPlanLastPurchase` (ProductId → ProductId) |
|
||
| Widget'lar | `Sas.Widget.Total`, `Sas.StaticLookup.Overdue`, `Sas.StaticLookup.Within7Days`, `Prc.MaterialRequestPlan.Widget.Draft` |
|
||
| Butonlar | `Prc.MaterialRequestPlan.Plan` |
|
||
|
||
| Alan | Başlık | Editör | Zorunlu | Formda | Kaynak |
|
||
| --- | --- | --- | --- | --- | --- |
|
||
| `MaterialRequestId` | Malzeme Talebi | dxTextBox | | | |
|
||
| `RequestNo` | Talep No | dxTextBox | | | |
|
||
| `Priority` | Öncelik | dxRating | | | |
|
||
| `DepartmentId` | Departman | dxSelectBox | | | sorgu: Hr_T_Department |
|
||
| `BranchId` | Şube Adı | dxSelectBox | | | sorgu: Sas_T_Branch |
|
||
| `WarehouseId` | Depo | dxSelectBox | | | sorgu: Stk_T_Warehouse |
|
||
| `LocationId` | Hedef Konum | dxSelectBox | | | sorgu: Stk_T_Location |
|
||
| `ProductId` | Ürün | dxSelectBox | | | sorgu: Stk_T_Product |
|
||
| `CategoryId` | Kategori | dxSelectBox | | | sorgu: Stk_T_ProductCategory |
|
||
| `Quantity` | Miktar | dxNumberBox | | | |
|
||
| `UomId` | Birim | dxSelectBox | | | sorgu: Adm_T_Uom |
|
||
| `DueDate` | Termin Tarihi | dxDateBox | | | |
|
||
| `DueState` | Termin Durumu | dxSelectBox | | | liste: Late, Week, Later |
|
||
| `PurchaseQuantity` | Satınalma Payı | dxNumberBox | | | |
|
||
| `TransferQuantity` | Transfer Payı | dxNumberBox | | | |
|
||
| `RemainingQuantity` | Planlanacak | dxNumberBox | | | |
|
||
| `StockQuantity` | Stok | dxNumberBox | | | |
|
||
| `DraftQuantity` | Taslak Plan | dxNumberBox | | | |
|
||
| `RequestReason` | Talep Nedeni | dxTextArea | | | |
|
||
| `RequesterUserId` | Talep Eden | dxSelectBox | | | sorgu: AbpUsers |
|
||
| `RequestDate` | İstek Tarihi | dxDateBox | | | |
|
||
|
||
#### Plan Takibi — `Prc.MaterialRequestPlanTrack`
|
||
|
||
| Özellik | Değer |
|
||
| --- | --- |
|
||
| Wizard | `wizard/Prc_MaterialRequestPlanTrack.json` |
|
||
| Yol | Liste (Wizard) |
|
||
| Menü | `Prc.MaterialRequests` › `Prc.MaterialRequestPlanTrack` (sıra 5) |
|
||
| Yetki | `Prc.MaterialRequestPlanTrack` + `.Create`, `.Update`, `.Delete`, `.Export`, `.Import` |
|
||
| Açıklama | Plan Takibi — Planlama'da verilen her karar, ürettiği belge ve belgenin geldiği aşamayla; her satır bir karardır. |
|
||
| Kaynak | `Prc_V_MaterialRequestPlanTrack` · filtre `"IsDeleted" = 'false'` |
|
||
| Görünümler | Grid, Card, Pivot, Chart (açılış grid) |
|
||
| Düzenleme | ekle ✗ · düzenle ✗ · sil ✗ · popup |
|
||
| Kapsam | Kiracı |
|
||
| Widget'lar | `Sas.Widget.Total`, `Sas.StaticLookup.Purchase`, `Sas.StaticLookup.InternalTransfer`, `Sas.StaticLookup.Done` |
|
||
| Butonlar | `Prc.MaterialRequestPlanTrack.OpenRfq`, `Prc.MaterialRequestPlanTrack.OpenOrder`, `Prc.MaterialRequestPlanTrack.OpenTransfer` |
|
||
|
||
| Alan | Başlık | Editör | Zorunlu | Formda | Kaynak |
|
||
| --- | --- | --- | --- | --- | --- |
|
||
| `DocumentId` | Belge | dxTextBox | | | |
|
||
| `PurchaseOrderId` | Satınalma Siparişi | dxTextBox | | | |
|
||
| `PlanDate` | Plan Tarihi | dxDateBox | | | |
|
||
| `RequestNo` | Talep No | dxTextBox | | | |
|
||
| `DepartmentId` | Departman | dxSelectBox | | | sorgu: Hr_T_Department |
|
||
| `ProductId` | Ürün | dxSelectBox | | | sorgu: Stk_T_Product |
|
||
| `PlanMethod` | Karar | dxSelectBox | | | liste: Purchase, Transfer, Stock |
|
||
| `DocumentNo` | Belge No | dxTextBox | | | |
|
||
| `DocumentStatus` | Durum | dxSelectBox | | | liste: Draft, Sent, Purchase, Waiting, Ready, Done, Cancelled |
|
||
| `SourceLocationId` | Kaynak Konum | dxSelectBox | | | sorgu: Stk_T_Location |
|
||
| `LocationId` | Hedef Konum | dxSelectBox | | | sorgu: Stk_T_Location |
|
||
| `SupplierId` | Tedarikçi | dxSelectBox | | | sorgu: Adm_T_Contact |
|
||
| `PurchaseOrderNo` | Sipariş No | dxTextBox | | | |
|
||
| `OrderStatus` | Sipariş Durumu | dxSelectBox | | | liste: Draft, Purchase, Cancelled |
|
||
| `Quantity` | Miktar | dxNumberBox | | | |
|
||
| `DoneQuantity` | Gerçekleşen | dxNumberBox | | | |
|
||
| `UomId` | Birim | dxSelectBox | | | sorgu: Adm_T_Uom |
|
||
| `DueDate` | Termin Tarihi | dxDateBox | | | |
|
||
| `WarehouseId` | Depo | dxSelectBox | | | sorgu: Stk_T_Warehouse |
|
||
| `BranchId` | Şube Adı | dxSelectBox | | | sorgu: Sas_T_Branch |
|
||
| `PlannerUserId` | Satınalma Sorumlusu | dxSelectBox | | | sorgu: AbpUsers |
|
||
|
||
#### Tüm Talepler — `Prc.MaterialRequest`
|
||
|
||
| Özellik | Değer |
|
||
| --- | --- |
|
||
| Wizard | `wizard/Prc_MaterialRequest.json` |
|
||
| Yol | Liste (Wizard) |
|
||
| Menü | `Prc.MaterialRequests` › `Prc.MaterialRequest` (sıra 6) |
|
||
| Yetki | `Prc.MaterialRequest` + `.Create`, `.Update`, `.Delete`, `.Export`, `.Import` |
|
||
| Açıklama | Tüm Talepler — kurumun bütün malzeme talepleri, tüm durumlarıyla, kalem kalem; satınalma yönetiminin listesi. |
|
||
| Geliştirme talebi | Satınalma -> Talepler |
|
||
| Kaynak | `Prc_V_MaterialRequestLine` · filtre `"IsDeleted" = 'false'` |
|
||
| Görünümler | Grid, Card, Pivot, Chart (açılış grid) |
|
||
| Düzenleme | ekle ✗ · düzenle ✓ · sil ✗ · popup |
|
||
| Kapsam | Kiracı |
|
||
| Widget'lar | `Prc.MaterialRequest.Status.DeptApproval`, `Prc.MaterialRequest.Status.PurchaseApproval`, `Prc.MaterialRequest.Status.Approved`, `Prc.MaterialRequest.Status.Rejected` |
|
||
| Komutlar | UpdateAfter: `Prc_P_MaterialRequestSyncStatus` |
|
||
|
||
| Alan | Başlık | Editör | Zorunlu | Formda | Kaynak |
|
||
| --- | --- | --- | --- | --- | --- |
|
||
| `RequestNo` | Talep No | dxTextBox | | | |
|
||
| `Priority` | Öncelik | dxRating | ✓ | | |
|
||
| `RequesterUserId` | Talep Eden | dxSelectBox | ✓ | | sorgu: AbpUsers |
|
||
| `BranchId` | Şube Adı | dxSelectBox | ✓ | | sorgu: Sas_T_Branch |
|
||
| `DepartmentId` | Departman | dxSelectBox | ✓ | | sorgu: Hr_T_Department |
|
||
| `WarehouseId` | Depo | dxSelectBox | ✓ | | sorgu: Stk_T_Warehouse |
|
||
| `LocationId` | Konum | dxSelectBox | ✓ | | sorgu: Stk_T_Location (← WarehouseId) |
|
||
| `RequestDate` | İstek Tarihi | dxDateBox | ✓ | | |
|
||
| `Description` | Genel Açıklama | dxHtmlEditor | | | |
|
||
| `ApprovalStatus` | Onay Durumu | dxTextBox | | | |
|
||
| `ApprovalUserName` | Onaylayan Kullanıcı Adı | dxTextBox | | | |
|
||
| `ApprovalDate` | Onay Tarihi | dxDateBox | | | |
|
||
| `ApprovalDescription` | Onay Açıklaması | dxTextBox | | | |
|
||
| `MaterialRequestId` | Malzeme Talebi | dxTextBox | | | |
|
||
| `ProductId` | Ürün | dxSelectBox | | | sorgu: Stk_T_Product |
|
||
| `Quantity` | Miktar | dxNumberBox | | | |
|
||
| `UomId` | Birim | dxSelectBox | | | sorgu: Adm_T_Uom |
|
||
| `DueDate` | Termin Tarihi | dxDateBox | | | |
|
||
| `RequestReason` | Talep Nedeni | dxTextArea | | | |
|
||
| `DeliveredQuantity` | Teslim | dxNumberBox | | | |
|
||
| `LineStatus` | Satır Durumu | dxSelectBox | ✓ | ✓ | liste: Waiting, Done, Cancelled |
|
||
|
||
#### Talep Satırları — `Prc.MaterialRequestLine`
|
||
|
||
| Özellik | Değer |
|
||
| --- | --- |
|
||
| Wizard | `wizard/Prc_MaterialRequestLine.json` |
|
||
| Yol | Liste (Wizard) |
|
||
| Menü | Menüsüz (alt form) |
|
||
| Yetki | `Prc.MaterialRequestLine` + `.Create`, `.Update`, `.Delete`, `.Export`, `.Import`, `.Note` |
|
||
| Açıklama | Talep Satırları — malzeme talebinde istenen ürünler. |
|
||
| Geliştirme talebi | Satınalma -> Talepler |
|
||
| Kaynak | `Prc_T_MaterialRequestItem` · filtre `"IsDeleted" = 'false'` |
|
||
| Görünümler | Grid, Card, Pivot, Chart (açılış grid) |
|
||
| Düzenleme | ekle ✓ · düzenle ✓ · sil ✓ · popup |
|
||
| Kapsam | Kiracı |
|
||
| Komutlar | InsertBefore: SQL · UpdateBefore: SQL · DeleteBefore: SQL |
|
||
| Form varsayılanları | DeliveredQuantity=0, LineStatus=Waiting, Quantity=1 |
|
||
|
||
| Alan | Başlık | Editör | Zorunlu | Formda | Kaynak |
|
||
| --- | --- | --- | --- | --- | --- |
|
||
| `MaterialRequestId` | Malzeme Talebi | dxTextBox | | | |
|
||
| `ProductId` | Ürün | dxSelectBox | ✓ | ✓ | sorgu: Stk_T_Product · script |
|
||
| `Quantity` | Miktar | dxNumberBox | ✓ | ✓ | |
|
||
| `UomId` | Birim | dxSelectBox | ✓ | ✓ | sorgu: Adm_T_Uom |
|
||
| `DueDate` | Termin Tarihi | dxDateBox | ✓ | ✓ | |
|
||
| `RequestReason` | Talep Nedeni | dxTextArea | ✓ | ✓ | |
|
||
| `DeliveredQuantity` | Teslim | dxNumberBox | | | |
|
||
| `LineStatus` | Satır Durumu | dxSelectBox | ✓ | ✓ | liste: Waiting, Done, Cancelled |
|
||
|
||
#### Son Alımlar — `Prc.MaterialRequestPlanLastPurchase`
|
||
|
||
| Özellik | Değer |
|
||
| --- | --- |
|
||
| Wizard | `wizard/Prc_MaterialRequestPlanLastPurchase.json` |
|
||
| Yol | Liste (Wizard) |
|
||
| Menü | Menüsüz (alt form) |
|
||
| Yetki | `Prc.MaterialRequestPlanLastPurchase` + `.Create`, `.Update`, `.Delete`, `.Export`, `.Import` |
|
||
| Açıklama | Son Alımlar — Planlama'da seçili talep kaleminin ürününün tamamlanan alımları (Envanter › Alımlar), en yenisi üstte. |
|
||
| Kaynak | `Prc_V_PurchaseReceiptLine` · filtre `"IsDeleted" = 'false'` |
|
||
| Görünümler | Grid, Card, Pivot, Chart (açılış grid) |
|
||
| Düzenleme | ekle ✗ · düzenle ✗ · sil ✗ · popup |
|
||
| Kapsam | Kiracı |
|
||
|
||
| Alan | Başlık | Editör | Zorunlu | Formda | Kaynak |
|
||
| --- | --- | --- | --- | --- | --- |
|
||
| `ProductId` | Ürün | dxSelectBox | | | sorgu: Stk_T_Product |
|
||
| `EffectiveDate` | Alım Tarihi | dxDateBox | | | |
|
||
| `TransferNo` | Fiş No | dxTextBox | | | |
|
||
| `PartnerId` | Tedarikçi | dxSelectBox | | | sorgu: Adm_T_Contact |
|
||
| `Quantity` | Miktar | dxNumberBox | | | |
|
||
| `UomId` | Birim | dxSelectBox | | | sorgu: Adm_T_Uom |
|
||
| `UnitPrice` | Birim Fiyat | dxNumberBox | | | |
|
||
| `CurrencyId` | Para Birimi | dxSelectBox | | | sorgu: Sas_H_Currency |
|
||
| `UntaxedAmount` | Vergi Hariç Tutar | dxNumberBox | | | |
|
||
| `OrderNo` | Sipariş No | dxTextBox | | | |
|
||
| `WarehouseId` | Depo | dxSelectBox | | | sorgu: Stk_T_Warehouse |
|
||
| `RequestNo` | Talep No | dxTextBox | | | |
|
||
|
||
#### Karşılama Planı — `Prc.MaterialRequestPlanLine`
|
||
|
||
| Özellik | Değer |
|
||
| --- | --- |
|
||
| Wizard | `wizard/Prc_MaterialRequestPlanLine.json` |
|
||
| Yol | Liste (Wizard) |
|
||
| Menü | Menüsüz (alt form) |
|
||
| Yetki | `Prc.MaterialRequestPlanLine` + `.Create`, `.Update`, `.Delete`, `.Export`, `.Import` |
|
||
| Açıklama | Karşılama Planı — kalemin Planla diyaloğundaki, onay bekleyen taslak dağıtımı. |
|
||
| Kaynak | `Prc_V_MaterialRequestPlanLine` · filtre `"IsDeleted" = 'false'` |
|
||
| Görünümler | Grid, Card, Pivot, Chart (açılış grid) |
|
||
| Düzenleme | ekle ✗ · düzenle ✗ · sil ✓ · cell |
|
||
| Kapsam | Kiracı |
|
||
|
||
| Alan | Başlık | Editör | Zorunlu | Formda | Kaynak |
|
||
| --- | --- | --- | --- | --- | --- |
|
||
| `BaseId` | Ana Belge | dxTextBox | | | |
|
||
| `PlanMethod` | Karar | dxSelectBox | | | liste: Purchase, Transfer, Stock |
|
||
| `SupplierId` | Tedarikçi | dxSelectBox | | | sorgu: Adm_T_Contact |
|
||
| `SourceLocationId` | Kaynak Konum | dxSelectBox | | | sorgu: Stk_T_Location |
|
||
| `LotNo` | Lot/Seri No | dxTextBox | | | |
|
||
| `Quantity` | Miktar | dxNumberBox | | | |
|
||
| `UomId` | Birim | dxSelectBox | | | sorgu: Adm_T_Uom |
|
||
| `Price` | Birim Fiyat | dxNumberBox | | | |
|
||
| `CurrencyId` | Para Birimi | dxSelectBox | | | sorgu: Sas_H_Currency |
|
||
|
||
#### İç Transfer — `Prc.MaterialRequestPlanSource`
|
||
|
||
| Özellik | Değer |
|
||
| --- | --- |
|
||
| Wizard | `wizard/Prc_MaterialRequestPlanSource.json` |
|
||
| Yol | Liste (Wizard) |
|
||
| Menü | Menüsüz (alt form) |
|
||
| Yetki | `Prc.MaterialRequestPlanSource` + `.Create`, `.Update`, `.Delete`, `.Export`, `.Import` |
|
||
| Açıklama | İç Transfer — Planla diyaloğunun İç Transfer sekmesi: talep kaleminin ürününün stoğu olan iç konumlar. Ürün lot/seri numarasıyla takip ediliyorsa her konumun her lotu (seri takipte her seri) ayrı satırdır; miktarla takip edilen üründe konum başına tek satır vardır. |
|
||
| Kaynak | `Prc_V_MaterialRequestPlanSource` · filtre `"IsDeleted" = 'false'` |
|
||
| Görünümler | Grid, Card, Pivot, Chart (açılış grid) |
|
||
| Düzenleme | ekle ✗ · düzenle ✓ · sil ✗ · cell |
|
||
| Kapsam | Kiracı |
|
||
| Butonlar | `Prc.MaterialRequestPlan.TakeMax`, `Prc.MaterialRequestPlan.PlanSelected` |
|
||
|
||
| Alan | Başlık | Editör | Zorunlu | Formda | Kaynak |
|
||
| --- | --- | --- | --- | --- | --- |
|
||
| `BaseId` | Ana Belge | dxTextBox | | | |
|
||
| `BranchId` | Şube Adı | dxSelectBox | | | sorgu: Sas_T_Branch |
|
||
| `WarehouseId` | Depo | dxSelectBox | | | sorgu: Stk_T_Warehouse |
|
||
| `LocationId` | Konum | dxSelectBox | | | sorgu: Stk_T_Location |
|
||
| `LotNo` | Lot/Seri No | dxTextBox | | | |
|
||
| `UomId` | Birim | dxTextBox | | | |
|
||
| `PlanQuantity` | Plan Miktarı | dxNumberBox | | | |
|
||
| `OnHand` | Eldeki Miktar | dxNumberBox | | | |
|
||
| `ReservedQuantity` | Rezerve Miktar | dxNumberBox | | | |
|
||
| `FreeQuantity` | Serbest Miktar | dxNumberBox | | | |
|
||
| `IsDestination` | Teslim Konumu | dxCheckBox | | | |
|
||
| `MaxQuantity` | En Fazla | dxNumberBox | | | |
|
||
| `RemovalRank` | Çıkış Sırası | dxNumberBox | | | |
|
||
|
||
#### Depo Stokları — `Prc.MaterialRequestPlanStock`
|
||
|
||
| Özellik | Değer |
|
||
| --- | --- |
|
||
| Wizard | `wizard/Prc_MaterialRequestPlanStock.json` |
|
||
| Yol | Liste (Wizard) |
|
||
| Menü | Menüsüz (alt form) |
|
||
| Yetki | `Prc.MaterialRequestPlanStock` + `.Create`, `.Update`, `.Delete`, `.Export`, `.Import`, `.Note` |
|
||
| Açıklama | Depo Stokları — Planlama'da seçili talep kaleminin ürününün bütün konumlardaki eldeki stoğu, lot bazında. |
|
||
| Kaynak | `Stk_T_Stock` · filtre `"IsDeleted" = 'false' AND "Quantity" <> 0` |
|
||
| Görünümler | Grid, Card, Pivot, Chart (açılış grid) |
|
||
| Düzenleme | ekle ✗ · düzenle ✗ · sil ✗ · popup |
|
||
| Kapsam | Kiracı |
|
||
|
||
| Alan | Başlık | Editör | Zorunlu | Formda | Kaynak |
|
||
| --- | --- | --- | --- | --- | --- |
|
||
| `ProductId` | Ürün | dxSelectBox | | | sorgu: Stk_T_Product |
|
||
| `BranchId` | Şube Adı | dxSelectBox | | | sorgu: Sas_T_Branch |
|
||
| `WarehouseId` | Depo | dxSelectBox | | | sorgu: Stk_T_Warehouse |
|
||
| `LocationId` | Konum | dxSelectBox | | | sorgu: Stk_T_Location |
|
||
| `LotNo` | Lot/Seri No | dxTextBox | | | |
|
||
| `Quantity` | Miktar | dxNumberBox | | | |
|
||
| `UomId` | Birim | dxSelectBox | | | sorgu: Adm_T_Uom |
|
||
| `InDate` | Giriş Tarihi | dxDateBox | | | |
|
||
| `LastMoveDate` | Son Hareket | dxDateBox | | | |
|
||
|
||
#### Tedarikçiler — `Prc.MaterialRequestPlanSupplier`
|
||
|
||
| Özellik | Değer |
|
||
| --- | --- |
|
||
| Wizard | `wizard/Prc_MaterialRequestPlanSupplier.json` |
|
||
| Yol | Liste (Wizard) |
|
||
| Menü | Menüsüz (alt form) |
|
||
| Yetki | `Prc.MaterialRequestPlanSupplier` + `.Create`, `.Update`, `.Delete`, `.Export`, `.Import`, `.Note` |
|
||
| Açıklama | Tedarikçiler — Planlama'da seçili talep kaleminin ürününün fiyat listesi: hangi tedarikçi, hangi fiyat ve teslim süresiyle satıyor. |
|
||
| Kaynak | `Stk_T_ProductSupplier` · filtre `"IsDeleted" = 'false'` |
|
||
| Görünümler | Grid, Card, Pivot, Chart (açılış grid) |
|
||
| Düzenleme | ekle ✗ · düzenle ✗ · sil ✗ · popup |
|
||
| Kapsam | Kiracı |
|
||
|
||
| Alan | Başlık | Editör | Zorunlu | Formda | Kaynak |
|
||
| --- | --- | --- | --- | --- | --- |
|
||
| `ProductId` | Ürün | dxTextBox | | | |
|
||
| `ContactId` | Tedarikçi | dxSelectBox | | | sorgu: Adm_T_Contact |
|
||
| `MinQuantity` | Min. Miktar | dxNumberBox | | | |
|
||
| `UomId` | Birim | dxSelectBox | | | sorgu: Adm_T_Uom |
|
||
| `Price` | Birim Fiyat | dxNumberBox | | | |
|
||
| `CurrencyId` | Para Birimi | dxSelectBox | | | sorgu: Sas_H_Currency |
|
||
| `LeadTimeDays` | Teslim Süresi (gün) | dxNumberBox | | | |
|
||
| `LastPurchaseDate` | Son Alım Tarihi | dxDateBox | | | |
|
||
|
||
#### Satınalma — `Prc.MaterialRequestPlanVendor`
|
||
|
||
| Özellik | Değer |
|
||
| --- | --- |
|
||
| Wizard | `wizard/Prc_MaterialRequestPlanVendor.json` |
|
||
| Yol | Liste (Wizard) |
|
||
| Menü | Menüsüz (alt form) |
|
||
| Yetki | `Prc.MaterialRequestPlanVendor` + `.Create`, `.Update`, `.Delete`, `.Export`, `.Import` |
|
||
| Açıklama | Satınalma — Planla diyaloğunun Satınalma sekmesi: bütün aktif kontaklar; ürünün fiyat listesindeki tedarikçiler fiyatıyla önce, diğerleri fiyatsız sonra gelir. |
|
||
| Kaynak | `Prc_V_MaterialRequestPlanVendor` · filtre `"IsDeleted" = 'false'` |
|
||
| Görünümler | Grid, Card, Pivot, Chart (açılış grid) |
|
||
| Düzenleme | ekle ✗ · düzenle ✓ · sil ✗ · cell |
|
||
| Kapsam | Kiracı |
|
||
| Butonlar | `Prc.MaterialRequestPlan.TakeMax`, `Prc.MaterialRequestPlanTrack.OpenRfq`, `Prc.MaterialRequestPlan.PlanSelected` |
|
||
|
||
| Alan | Başlık | Editör | Zorunlu | Formda | Kaynak |
|
||
| --- | --- | --- | --- | --- | --- |
|
||
| `BaseId` | Ana Belge | dxTextBox | | | |
|
||
| `RfqId` | Teklif Talebi | dxTextBox | | | |
|
||
| `SuggestRank` | SuggestRank | dxNumberBox | | | |
|
||
| `ContactId` | Tedarikçi | dxSelectBox | | | sorgu: Adm_T_Contact |
|
||
| `PlanQuantity` | Plan Miktarı | dxNumberBox | | | |
|
||
| `Price` | Birim Fiyat | dxNumberBox | | | |
|
||
| `CurrencyId` | Para Birimi | dxSelectBox | | | sorgu: Sas_H_Currency |
|
||
| `MinQuantity` | Min. Miktar | dxNumberBox | | | |
|
||
| `UomId` | Birim | dxSelectBox | | | sorgu: Adm_T_Uom |
|
||
| `LeadTimeDays` | Teslim Süresi (gün) | dxNumberBox | | | |
|
||
| `LastPurchaseDate` | Son Alım Tarihi | dxDateBox | | | |
|
||
| `MaxQuantity` | En Fazla | dxNumberBox | | | |
|
||
| `RfqNo` | Teklif Talep No | dxTextBox | | | |
|
||
| `RfqQuantity` | Teklifteki Miktar | dxNumberBox | | | |
|
||
|
||
### Sözleşmeler (`Prc.PurchaseAgreement`)
|
||
|
||
#### Sözleşmeler — `Prc.PurchaseAgreement`
|
||
|
||
| Özellik | Değer |
|
||
| --- | --- |
|
||
| Wizard | `wizard/Prc_PurchaseAgreement.json` |
|
||
| Yol | Liste (Wizard) |
|
||
| Menü | `Prc` › `Prc.PurchaseAgreement` (sıra 3) |
|
||
| Yetki | `Prc.PurchaseAgreement` + `.Create`, `.Update`, `.Delete`, `.Export`, `.Import`, `.Note` |
|
||
| Açıklama | Sözleşmeler — tedarikçilerle yapılan kapsamlı sipariş ve ihale sözleşmeleri; anlaşılan miktar ve birim fiyatlarıyla. |
|
||
| Geliştirme talebi | Satınalma -> Siparişler |
|
||
| Kaynak | `Prc_T_PurchaseAgreement` · filtre `"IsDeleted" = 'false'` |
|
||
| Görünümler | Grid, Card, Pivot, Chart (açılış grid) |
|
||
| Düzenleme | ekle ✓ · düzenle ✓ · sil ✓ · popup |
|
||
| Kapsam | Kiracı |
|
||
| Alt formlar | `Prc.PurchaseAgreementLine` (Id → AgreementId) |
|
||
| Widget'lar | `Prc.AgreementStatus.Draft`, `Prc.AgreementStatus.Confirmed`, `Prc.AgreementStatus.Closed`, `Prc.AgreementStatus.Cancelled` |
|
||
| Komutlar | UpdateBefore: SQL |
|
||
| Form varsayılanları | AgreementNo=Prc.PurchaseAgreement, BuyerUserId=@USERID, CurrencyId=TRY, StartDate=@NOW, Status=Draft, BranchId= |
|
||
|
||
| Alan | Başlık | Editör | Zorunlu | Formda | Kaynak |
|
||
| --- | --- | --- | --- | --- | --- |
|
||
| `SupplierId` | Tedarikçi | dxSelectBox | ✓ | ✓ | sorgu: Adm_T_Contact |
|
||
| `BranchId` | Şube Adı | dxSelectBox | ✓ | ✓ | sorgu: Sas_T_Branch |
|
||
| `AgreementNo` | Sözleşme | dxTextBox | ✓ | ✓ | |
|
||
| `BuyerUserId` | Alıcı | dxSelectBox | ✓ | ✓ | sorgu: AbpUsers |
|
||
| `AgreementType` | Sözleşme Türü | dxSelectBox | ✓ | ✓ | liste: Blanket, Tender |
|
||
| `CurrencyId` | Kur | dxSelectBox | ✓ | ✓ | sorgu: Sas_H_Currency |
|
||
| `StartDate` | Başlama Tarihi | dxDateBox | | ✓ | |
|
||
| `EndDate` | Bitiş Tarihi | dxDateBox | | ✓ | |
|
||
| `WarehouseId` | Depo | dxSelectBox | ✓ | ✓ | sorgu: Stk_T_Warehouse (← BranchId) |
|
||
| `OperationTypeId` | Operasyon Türü | dxSelectBox | | ✓ | sorgu: Stk_T_OperationType (← WarehouseId) |
|
||
| `Status` | Durumu | dxSelectBox | ✓ | ✓ | liste: Draft, Confirmed, Closed, Cancelled |
|
||
| `Terms` | Şartlar ve Koşullar | dxHtmlEditor | | ✓ | |
|
||
|
||
#### Sözleşme Kalemleri — `Prc.PurchaseAgreementLine`
|
||
|
||
| Özellik | Değer |
|
||
| --- | --- |
|
||
| Wizard | `wizard/Prc_PurchaseAgreementLine.json` |
|
||
| Yol | Liste (Wizard) |
|
||
| Menü | Menüsüz (alt form) |
|
||
| Yetki | `Prc.PurchaseAgreementLine` + `.Create`, `.Update`, `.Delete`, `.Export`, `.Import`, `.Note` |
|
||
| Açıklama | Sözleşme Kalemleri — satınalma sözleşmesinin ürünleri, miktarları ve anlaşılan birim fiyatları. |
|
||
| Geliştirme talebi | Satınalma -> Siparişler |
|
||
| Kaynak | `Prc_T_PurchaseAgreementLine` · filtre `"IsDeleted" = 'false'` |
|
||
| Görünümler | Grid, Card, Pivot, Chart (açılış grid) |
|
||
| Düzenleme | ekle ✓ · düzenle ✓ · sil ✓ · popup |
|
||
| Kapsam | Kiracı |
|
||
| Form varsayılanları | Quantity=1 |
|
||
|
||
| Alan | Başlık | Editör | Zorunlu | Formda | Kaynak |
|
||
| --- | --- | --- | --- | --- | --- |
|
||
| `AgreementId` | Sözleşme | dxTextBox | | | |
|
||
| `ProductId` | Ürün | dxSelectBox | ✓ | ✓ | sorgu: Stk_T_Product · script |
|
||
| `Quantity` | Miktar | dxNumberBox | ✓ | ✓ | |
|
||
| `UomId` | Birim | dxSelectBox | ✓ | ✓ | sorgu: Adm_T_Uom |
|
||
| `UnitPrice` | Birim Fiyat | dxNumberBox | ✓ | ✓ | |
|
||
| `Description` | Açıklama | dxTextArea | | ✓ | |
|
||
|
||
### Siparişler (`Prc.Orders`)
|
||
|
||
#### Teklif Talepleri — `Prc.PurchaseRfq`
|
||
|
||
| Özellik | Değer |
|
||
| --- | --- |
|
||
| Wizard | `wizard/Prc_PurchaseRfq.json` |
|
||
| Yol | Liste (Wizard) |
|
||
| Menü | `Prc.Orders` › `Prc.PurchaseRfq` (sıra 1) |
|
||
| Yetki | `Prc.PurchaseRfq` + `.Create`, `.Update`, `.Delete`, `.Export`, `.Import`, `.Note` |
|
||
| Açıklama | Teklif Talepleri — her tedarikçi için ayrı satınalma belgesi; aynı ihtiyaç için açılan belgeler bir ihale oluşturur ve siparişten önce kıyaslanır. |
|
||
| Geliştirme talebi | Satınalma -> Siparişler |
|
||
| Kaynak | `Prc_T_PurchaseRfq` · filtre `"IsDeleted" = 'false'` |
|
||
| Görünümler | Grid, Card, Pivot, Chart (açılış grid) |
|
||
| Düzenleme | ekle ✓ · düzenle ✓ · sil ✓ · popup |
|
||
| Kapsam | Kiracı |
|
||
| Alt formlar | `Prc.PurchaseRfqLine` (Id → PurchaseRfqId), `Prc.PurchaseRfqQuote` (Id → Id), `Prc.PurchaseRfqOther` (Id → Id), `Prc.PurchaseRfqAlternative` (Id → BaseId), `Prc.PurchaseRfqComparison` (Id → BaseId) |
|
||
| Widget'lar | `Sas.Widget.Draft`, `Sas.Widget.Sent`, `Sas.Widget.Expired`, `Sas.Widget.Completed` |
|
||
| Komutlar | InsertAfter: `Prc_P_PurchaseRfqAfterSave` · UpdateBefore: SQL · UpdateAfter: `Prc_P_PurchaseRfqAfterSave` · DeleteBefore: SQL · DeleteAfter: `Prc_P_MaterialRequestSyncStatus` |
|
||
| Form varsayılanları | RfqNo=Prc.PurchaseRfq, BuyerUserId=@USERID, CurrencyId=TRY, Status=Draft, BranchId=, WarehouseId= |
|
||
| Butonlar | `Prc.PurchaseRfq.CreateAlternative`, `Prc.PurchaseRfq.PriceEntry`, `Prc.PurchaseOrder.Action.Send`, `Prc.PurchaseRfq.Action.SendTender`, `Prc.PurchaseRfq.Action.Award`, `Prc.PurchaseOrder.Action.Cancel`, `Prc.PurchaseOrder.Action.Draft` |
|
||
|
||
| Alan | Başlık | Editör | Zorunlu | Formda | Kaynak |
|
||
| --- | --- | --- | --- | --- | --- |
|
||
| `SupplierId` | Tedarikçi | dxSelectBox | ✓ | ✓ | sorgu: Adm_T_Contact · script |
|
||
| `BranchId` | Şube Adı | dxSelectBox | ✓ | ✓ | sorgu: Sas_T_Branch · script |
|
||
| `WarehouseId` | Depo | dxSelectBox | ✓ | ✓ | sorgu: Stk_T_Warehouse (← BranchId) |
|
||
| `OperationTypeId` | Operasyon Türü | dxSelectBox | ✓ | ✓ | sorgu: Stk_T_OperationType (← WarehouseId) |
|
||
| `RfqNo` | Teklif Talep No | dxTextBox | ✓ | ✓ | |
|
||
| `Status` | Durum | dxSelectBox | ✓ | ✓ | liste: Draft, Sent, Purchase, Cancelled |
|
||
| `OrderDeadline` | Sipariş Zaman Sınırı | dxDateBox | | ✓ | |
|
||
| `SupplierReference` | Tedarikçi Referansı | dxTextBox | | ✓ | |
|
||
| `ExpectedArrival` | Beklenen Geliş | dxDateBox | | ✓ | |
|
||
| `AgreementId` | Sözleşme | dxSelectBox | | ✓ | sorgu: Prc_T_PurchaseAgreement (← SupplierId,BranchId) |
|
||
| `CurrencyId` | Para Birimi | dxSelectBox | ✓ | ✓ | sorgu: Sas_H_Currency |
|
||
| `PendingAction` | İşlem | dxTextBox | | | |
|
||
| `TenderGroupId` | İhale | dxSelectBox | | | sorgu: Prc_T_PurchaseRfq |
|
||
| `SupplierResponse` | Tedarikçi Yanıtı | dxSelectBox | | | liste: Waiting, Quoted, NotQuoted |
|
||
| `SourceDocument` | Kaynak | dxTextBox | | | |
|
||
| `BuyerUserId` | Alıcı | dxSelectBox | | | sorgu: AbpUsers |
|
||
| `UntaxedAmount` | Vergi Hariç Tutar | dxNumberBox | | | |
|
||
| `TaxAmount` | Vergi Tutarı | dxNumberBox | | | |
|
||
| `TotalAmount` | Toplam Tutar | dxNumberBox | | | |
|
||
| `LastSentDate` | Son Gönderim | dxDateBox | | | |
|
||
| `Terms` | Şartlar | dxHtmlEditor | | ✓ | |
|
||
|
||
#### Satınalma Siparişleri — `Prc.PurchaseOrder`
|
||
|
||
| Özellik | Değer |
|
||
| --- | --- |
|
||
| Wizard | `wizard/Prc_PurchaseOrder.json` |
|
||
| Yol | Liste (Wizard) |
|
||
| Menü | `Prc.Orders` › `Prc.PurchaseOrder` (sıra 2) |
|
||
| Yetki | `Prc.PurchaseOrder` + `.Create`, `.Update`, `.Delete`, `.Export`, `.Import`, `.Note` |
|
||
| Açıklama | Satınalma Siparişleri — tedarikçilere verilen siparişler; teklif talebi ihalesinden dönüştürülür ya da teklif toplamadan doğrudan yazılır. |
|
||
| Geliştirme talebi | Satınalma -> Siparişler |
|
||
| Kaynak | `Prc_T_PurchaseOrder` · filtre `"IsDeleted" = 'false'` |
|
||
| Görünümler | Grid, Card, Pivot, Chart (açılış grid) |
|
||
| Düzenleme | ekle ✓ · düzenle ✓ · sil ✓ · popup |
|
||
| Kapsam | Kiracı |
|
||
| Alt formlar | `Prc.PurchaseOrderLine` (Id → PurchaseOrderId), `Prc.PurchaseOrderOther` (Id → Id), `Prc.PurchaseOrderAlternative` (Id → BaseId) |
|
||
| Widget'lar | `Sas.Widget.Draft`, `Prc.PurchaseOrder.Widget.AwaitingArrival`, `Prc.PurchaseOrder.Widget.LateReceipt`, `Sas.Widget.TotalRevenue` |
|
||
| Komutlar | InsertAfter: `Prc_P_PurchaseOrderAfterSave` · UpdateBefore: SQL · UpdateAfter: `Prc_P_PurchaseOrderAfterSave` · DeleteBefore: SQL · DeleteAfter: `Prc_P_MaterialRequestSyncStatus` |
|
||
| Form varsayılanları | OrderNo=Prc.PurchaseOrder, BuyerUserId=@USERID, CurrencyId=TRY, Status=Draft, BranchId=, WarehouseId= |
|
||
| Butonlar | `Prc.PurchaseOrder.Action.Confirm`, `Prc.PurchaseOrder.Action.Send`, `Prc.PurchaseOrder.Action.Cancel`, `Prc.PurchaseOrder.Action.Draft` |
|
||
|
||
| Alan | Başlık | Editör | Zorunlu | Formda | Kaynak |
|
||
| --- | --- | --- | --- | --- | --- |
|
||
| `SupplierId` | Tedarikçi | dxSelectBox | ✓ | ✓ | sorgu: Adm_T_Contact · script |
|
||
| `OrderNo` | Referans | dxTextBox | ✓ | ✓ | |
|
||
| `AgreementId` | Sözleşme | dxSelectBox | | ✓ | sorgu: Prc_T_PurchaseAgreement (← SupplierId,BranchId) |
|
||
| `BranchId` | Şube Adı | dxSelectBox | ✓ | ✓ | sorgu: Sas_T_Branch · script |
|
||
| `WarehouseId` | Depo | dxSelectBox | ✓ | ✓ | sorgu: Stk_T_Warehouse (← BranchId) |
|
||
| `OperationTypeId` | Operasyon Türü | dxSelectBox | ✓ | ✓ | sorgu: Stk_T_OperationType (← WarehouseId) |
|
||
| `Status` | Durum | dxSelectBox | ✓ | ✓ | liste: Draft, Purchase, Cancelled |
|
||
| `ConfirmDate` | Onaylama Tarihi | dxDateBox | | ✓ | |
|
||
| `SupplierReference` | Tedarikçi Referansı | dxTextBox | | ✓ | |
|
||
| `ExpectedArrival` | Beklenen Geliş | dxDateBox | | ✓ | |
|
||
| `ArrivalDate` | Varış | dxDateBox | | ✓ | |
|
||
| `CurrencyId` | Para Birimi | dxSelectBox | ✓ | ✓ | sorgu: Sas_H_Currency |
|
||
| `PendingAction` | İşlem | dxTextBox | | | |
|
||
| `SourceDocument` | Kaynak | dxTextBox | | | |
|
||
| `BuyerUserId` | Alıcı | dxSelectBox | | | sorgu: AbpUsers |
|
||
| `UntaxedAmount` | Vergi Hariç Tutar | dxNumberBox | | | |
|
||
| `TaxAmount` | Vergi Tutarı | dxNumberBox | | | |
|
||
| `TotalAmount` | Toplam Tutar | dxNumberBox | | | |
|
||
| `LastSentDate` | Son Gönderim | dxDateBox | | | |
|
||
| `Terms` | Şartlar | dxHtmlEditor | | ✓ | |
|
||
|
||
#### Sipariş Ürünleri — `Prc.PurchaseOrderProduct`
|
||
|
||
| Özellik | Değer |
|
||
| --- | --- |
|
||
| Wizard | `wizard/Prc_PurchaseOrderProduct.json` |
|
||
| Yol | Liste (Wizard) |
|
||
| Menü | `Prc.Orders` › `Prc.PurchaseOrderProduct` (sıra 3) |
|
||
| Yetki | `Prc.PurchaseOrderProduct` + `.Create`, `.Update`, `.Delete`, `.Export`, `.Import` |
|
||
| Açıklama | Sipariş Ürünleri — satınalma siparişlerinin kalemleri, siparişin başlık bilgileriyle yan yana; her satır bir sipariş kalemidir. |
|
||
| Kaynak | `Prc_V_PurchaseOrderLine` · filtre `"IsDeleted" = 'false'` |
|
||
| Görünümler | Grid, Card, Pivot, Chart (açılış grid) |
|
||
| Düzenleme | ekle ✗ · düzenle ✗ · sil ✗ · popup |
|
||
| Kapsam | Kiracı |
|
||
| Widget'lar | `Sas.Widget.Total`, `Sas.Widget.Draft`, `Prc.PurchaseOrder.Widget.LateReceipt`, `Sas.Widget.TotalRevenue` |
|
||
| Butonlar | `Prc.PurchaseOrderProduct.OpenOrder` |
|
||
|
||
| Alan | Başlık | Editör | Zorunlu | Formda | Kaynak |
|
||
| --- | --- | --- | --- | --- | --- |
|
||
| `PurchaseOrderId` | Satınalma Siparişi | dxTextBox | | | |
|
||
| `OrderNo` | Referans | dxTextBox | | | |
|
||
| `Status` | Durum | dxSelectBox | | | liste: Draft, Purchase, Cancelled |
|
||
| `SupplierId` | Tedarikçi | dxSelectBox | | | sorgu: Adm_T_Contact |
|
||
| `BranchId` | Şube Adı | dxSelectBox | | | sorgu: Sas_T_Branch |
|
||
| `WarehouseId` | Depo | dxSelectBox | | | sorgu: Stk_T_Warehouse |
|
||
| `OperationTypeId` | Operasyon Türü | dxSelectBox | | | sorgu: Stk_T_OperationType |
|
||
| `ProductId` | Ürün | dxSelectBox | | | sorgu: Stk_T_Product |
|
||
| `Description` | Açıklama | dxTextBox | | | |
|
||
| `Quantity` | Miktar | dxNumberBox | | | |
|
||
| `UomId` | Birim | dxSelectBox | | | sorgu: Adm_T_Uom |
|
||
| `UnitPrice` | Birim Fiyat | dxNumberBox | | | |
|
||
| `TaxRate` | Vergi Oran | dxNumberBox | | | |
|
||
| `UntaxedAmount` | Vergi Hariç Tutar | dxNumberBox | | | |
|
||
| `TaxAmount` | Vergi Tutarı | dxNumberBox | | | |
|
||
| `Amount` | Tutar | dxNumberBox | | | |
|
||
| `CurrencyId` | Para Birimi | dxSelectBox | | | sorgu: Sas_H_Currency |
|
||
| `DeliveryDate` | Teslim Tarihi | dxDateBox | | | |
|
||
| `ConfirmDate` | Onaylama Tarihi | dxDateBox | | | |
|
||
| `ExpectedArrival` | Beklenen Geliş | dxDateBox | | | |
|
||
| `ArrivalDate` | Varış | dxDateBox | | | |
|
||
| `BuyerUserId` | Alıcı | dxSelectBox | | | sorgu: AbpUsers |
|
||
| `RequestNo` | Talep No | dxTextBox | | | |
|
||
| `SourceDocument` | Kaynak | dxTextBox | | | |
|
||
|
||
#### Teklif Kalemleri — `Prc.PurchaseRfqLine`
|
||
|
||
| Özellik | Değer |
|
||
| --- | --- |
|
||
| Wizard | `wizard/Prc_PurchaseRfqLine.json` |
|
||
| Yol | Liste (Wizard) |
|
||
| Menü | Menüsüz (alt form) |
|
||
| Yetki | `Prc.PurchaseRfqLine` + `.Create`, `.Update`, `.Delete`, `.Export`, `.Import`, `.Note` |
|
||
| Açıklama | Teklif Kalemleri — teklif talebinin ürünleri ve tedarikçinin her biri için verdiği fiyat ile termin. |
|
||
| Geliştirme talebi | Satınalma -> Siparişler |
|
||
| Kaynak | `Prc_T_PurchaseRfqLine` · filtre `"IsDeleted" = 'false'` |
|
||
| Görünümler | Grid, Card, Pivot, Chart (açılış grid) |
|
||
| Düzenleme | ekle ✓ · düzenle ✓ · sil ✓ · popup |
|
||
| Kapsam | Kiracı |
|
||
| Komutlar | InsertBefore: SQL · InsertAfter: `Prc_P_PurchaseRfqRecalc` · UpdateBefore: SQL · UpdateAfter: `Prc_P_PurchaseRfqRecalc` · DeleteBefore: SQL · DeleteAfter: `Prc_P_PurchaseRfqRecalc` |
|
||
| Form varsayılanları | Quantity=1 |
|
||
|
||
| Alan | Başlık | Editör | Zorunlu | Formda | Kaynak |
|
||
| --- | --- | --- | --- | --- | --- |
|
||
| `PurchaseRfqId` | Teklif Talebi | dxTextBox | | | |
|
||
| `ProductId` | Ürün | dxSelectBox | ✓ | ✓ | sorgu: Stk_T_Product · script |
|
||
| `Description` | Açıklama | dxTextBox | | ✓ | |
|
||
| `Quantity` | Miktar | dxNumberBox | ✓ | ✓ | script |
|
||
| `UomId` | Birim | dxSelectBox | ✓ | ✓ | sorgu: Adm_T_Uom |
|
||
| `UnitPrice` | Birim Fiyat | dxNumberBox | ✓ | ✓ | script |
|
||
| `TaxRate` | Vergi Oran | dxNumberBox | ✓ | ✓ | script |
|
||
| `Amount` | Tutar | dxNumberBox | | ✓ | script |
|
||
| `DeliveryDate` | Teslim Tarihi | dxDateBox | | ✓ | |
|
||
| `MaterialRequestItemId` | Talep | dxSelectBox | | ✓ | sorgu: Prc_T_MaterialRequestItem |
|
||
|
||
#### Tedarikçi Teklifi — `Prc.PurchaseRfqQuote`
|
||
|
||
| Özellik | Değer |
|
||
| --- | --- |
|
||
| Wizard | `wizard/Prc_PurchaseRfqQuote.json` |
|
||
| Yol | Liste (Wizard) |
|
||
| Menü | Menüsüz (alt form) |
|
||
| Yetki | `Prc.PurchaseRfqQuote` + `.Create`, `.Update`, `.Delete`, `.Export`, `.Import`, `.Note` |
|
||
| Açıklama | Tedarikçi Teklifi — tedarikçinin teklif talebine verdiği yanıt. |
|
||
| Geliştirme talebi | Satınalma -> Siparişler |
|
||
| Kaynak | `Prc_T_PurchaseRfq` · filtre `"IsDeleted" = 'false'` |
|
||
| Görünümler | Grid, Card, Pivot, Chart (açılış grid) |
|
||
| Düzenleme | ekle ✗ · düzenle ✓ · sil ✗ · popup |
|
||
| Kapsam | Kiracı |
|
||
| Komutlar | UpdateBefore: SQL · UpdateAfter: `Prc_P_PurchaseRfqAfterSave` |
|
||
| Form varsayılanları | SupplierResponse=Waiting |
|
||
|
||
| Alan | Başlık | Editör | Zorunlu | Formda | Kaynak |
|
||
| --- | --- | --- | --- | --- | --- |
|
||
| `SupplierResponse` | Tedarikçi Yanıtı | dxSelectBox | ✓ | ✓ | liste: Waiting, Quoted, NotQuoted |
|
||
| `QuoteDate` | Teklif Tarihi | dxDateBox | | ✓ | |
|
||
| `QuoteValidUntil` | Teklif Geçerliliği | dxDateBox | | ✓ | |
|
||
|
||
#### Teklif Diğer Bilgiler — `Prc.PurchaseRfqOther`
|
||
|
||
| Özellik | Değer |
|
||
| --- | --- |
|
||
| Wizard | `wizard/Prc_PurchaseRfqOther.json` |
|
||
| Yol | Liste (Wizard) |
|
||
| Menü | Menüsüz (alt form) |
|
||
| Yetki | `Prc.PurchaseRfqOther` + `.Create`, `.Update`, `.Delete`, `.Export`, `.Import`, `.Note` |
|
||
| Açıklama | Teklif Diğer Bilgiler — teklif talebinin alıcı, proje, ticari koşulları ve kıyas ağırlıkları. |
|
||
| Geliştirme talebi | Satınalma -> Siparişler |
|
||
| Kaynak | `Prc_T_PurchaseRfq` · filtre `"IsDeleted" = 'false'` |
|
||
| Görünümler | Grid, Card, Pivot, Chart (açılış grid) |
|
||
| Düzenleme | ekle ✗ · düzenle ✓ · sil ✗ · popup |
|
||
| Kapsam | Kiracı |
|
||
| Komutlar | UpdateBefore: SQL · UpdateAfter: `Prc_P_PurchaseRfqAfterSave` |
|
||
|
||
| Alan | Başlık | Editör | Zorunlu | Formda | Kaynak |
|
||
| --- | --- | --- | --- | --- | --- |
|
||
| `BuyerUserId` | Alıcı | dxSelectBox | ✓ | ✓ | sorgu: AbpUsers |
|
||
| `PaymentTermId` | Ödeme Süresi | dxSelectBox | | ✓ | sorgu: Prc_T_PaymentTerm |
|
||
| `ProjectId` | Proje | dxSelectBox | | ✓ | sorgu: Prj_T_Project |
|
||
| `IncotermId` | Teslimat Koşulu | dxSelectBox | | ✓ | sorgu: Prc_T_Incoterm |
|
||
| `IncotermLocation` | Incoterm Konumu | dxTextBox | | ✓ | |
|
||
| `PriceWeight` | Fiyat Ağırlığı (%) | dxNumberBox | ✓ | ✓ | |
|
||
| `DeliveryWeight` | Termin Ağırlığı (%) | dxNumberBox | ✓ | ✓ | |
|
||
|
||
#### İhale Teklifleri — `Prc.PurchaseRfqAlternative`
|
||
|
||
| Özellik | Değer |
|
||
| --- | --- |
|
||
| Wizard | `wizard/Prc_PurchaseRfqAlternative.json` |
|
||
| Yol | Liste (Wizard) |
|
||
| Menü | Menüsüz (alt form) |
|
||
| Yetki | `Prc.PurchaseRfqAlternative` + `.Create`, `.Update`, `.Delete`, `.Export`, `.Import` |
|
||
| Açıklama | İhale Teklifleri — aynı ihalenin diğer teklif talepleri. |
|
||
| Geliştirme talebi | Satınalma -> Siparişler |
|
||
| Kaynak | `Prc_V_PurchaseRfqAlternative` · filtre `"IsDeleted" = 'false'` |
|
||
| Görünümler | Grid, Card, Pivot, Chart (açılış grid) |
|
||
| Düzenleme | ekle ✗ · düzenle ✗ · sil ✗ · popup |
|
||
| Kapsam | Kiracı |
|
||
|
||
| Alan | Başlık | Editör | Zorunlu | Formda | Kaynak |
|
||
| --- | --- | --- | --- | --- | --- |
|
||
| `BaseId` | Ana Belge | dxTextBox | | | |
|
||
| `RfqNo` | Teklif Talep No | dxTextBox | | | |
|
||
| `SupplierId` | Tedarikçi | dxSelectBox | ✓ | ✓ | sorgu: Adm_T_Contact |
|
||
| `Status` | Durum | dxSelectBox | | | liste: Draft, Sent, Purchase, Cancelled |
|
||
| `SupplierResponse` | Tedarikçi Yanıtı | dxSelectBox | | | liste: Waiting, Quoted, NotQuoted |
|
||
| `OrderDeadline` | Sipariş Zaman Sınırı | dxDateBox | | | |
|
||
| `ExpectedArrival` | Beklenen Geliş | dxDateBox | | | |
|
||
| `UntaxedAmount` | Vergi Hariç Tutar | dxNumberBox | | | |
|
||
| `TotalAmount` | Toplam Tutar | dxNumberBox | | | |
|
||
| `CurrencyId` | Para Birimi | dxTextBox | | | |
|
||
|
||
#### Fiyat Karşılaştırması — `Prc.PurchaseRfqComparison`
|
||
|
||
| Özellik | Değer |
|
||
| --- | --- |
|
||
| Wizard | `wizard/Prc_PurchaseRfqComparison.json` |
|
||
| Yol | Liste (Wizard) |
|
||
| Menü | Menüsüz (alt form) |
|
||
| Yetki | `Prc.PurchaseRfqComparison` + `.Create`, `.Update`, `.Delete`, `.Export`, `.Import` |
|
||
| Açıklama | Fiyat Karşılaştırması — ihalenin her kalemi tedarikçi bazında yan yana, fiyat ve termine göre puanlanmış. |
|
||
| Geliştirme talebi | Satınalma -> Siparişler |
|
||
| Kaynak | `Prc_V_PurchaseRfqComparison` · filtre `"IsDeleted" = 'false'` |
|
||
| Görünümler | Grid, Card, Pivot, Chart (açılış grid) |
|
||
| Düzenleme | ekle ✗ · düzenle ✓ · sil ✗ · batch |
|
||
| Kapsam | Kiracı |
|
||
|
||
| Alan | Başlık | Editör | Zorunlu | Formda | Kaynak |
|
||
| --- | --- | --- | --- | --- | --- |
|
||
| `BaseId` | Ana Belge | dxTextBox | | | |
|
||
| `ProductId` | Ürün | dxSelectBox | | | sorgu: Stk_T_Product |
|
||
| `RfqNo` | Teklif Talep No | dxTextBox | | | |
|
||
| `SupplierId` | Tedarikçi | dxSelectBox | | | sorgu: Adm_T_Contact |
|
||
| `Status` | Durum | dxSelectBox | | | liste: Draft, Sent, Purchase, Cancelled |
|
||
| `Quantity` | Miktar | dxNumberBox | | | |
|
||
| `UomId` | Birim | dxSelectBox | | | sorgu: Adm_T_Uom |
|
||
| `UnitPrice` | Birim Fiyat | dxNumberBox | ✓ | ✓ | |
|
||
| `CurrencyId` | Para Birimi | dxTextBox | | | |
|
||
| `PriceTry` | Fiyat (TL) | dxNumberBox | | | |
|
||
| `DeliveryDate` | Teslim Tarihi | dxDateBox | | ✓ | |
|
||
| `LeadDays` | Termin (Gün) | dxNumberBox | | | |
|
||
| `Score` | Puan | dxNumberBox | | | |
|
||
| `IsRecommended` | Önerilen | dxCheckBox | | | |
|
||
| `IsSelected` | Seçili | dxCheckBox | | ✓ | |
|
||
|
||
#### Sipariş Kalemleri — `Prc.PurchaseOrderLine`
|
||
|
||
| Özellik | Değer |
|
||
| --- | --- |
|
||
| Wizard | `wizard/Prc_PurchaseOrderLine.json` |
|
||
| Yol | Liste (Wizard) |
|
||
| Menü | Menüsüz (alt form) |
|
||
| Yetki | `Prc.PurchaseOrderLine` + `.Create`, `.Update`, `.Delete`, `.Export`, `.Import`, `.Note` |
|
||
| Açıklama | Sipariş Kalemleri — satınalma siparişinin ürünleri. |
|
||
| Geliştirme talebi | Satınalma -> Siparişler |
|
||
| Kaynak | `Prc_T_PurchaseOrderLine` · filtre `"IsDeleted" = 'false'` |
|
||
| Görünümler | Grid, Card, Pivot, Chart (açılış grid) |
|
||
| Düzenleme | ekle ✓ · düzenle ✓ · sil ✓ · popup |
|
||
| Kapsam | Kiracı |
|
||
| Komutlar | InsertBefore: SQL · InsertAfter: `Prc_P_PurchaseOrderRecalc` · UpdateBefore: SQL · UpdateAfter: `Prc_P_PurchaseOrderRecalc` · DeleteBefore: SQL · DeleteAfter: `Prc_P_PurchaseOrderRecalc` |
|
||
| Form varsayılanları | Quantity=1 |
|
||
|
||
| Alan | Başlık | Editör | Zorunlu | Formda | Kaynak |
|
||
| --- | --- | --- | --- | --- | --- |
|
||
| `PurchaseOrderId` | Satınalma Siparişi | dxTextBox | | | |
|
||
| `ProductId` | Ürün | dxSelectBox | ✓ | ✓ | sorgu: Stk_T_Product · script |
|
||
| `Description` | Açıklama | dxTextBox | | ✓ | |
|
||
| `Quantity` | Miktar | dxNumberBox | ✓ | ✓ | script |
|
||
| `ReceivedQuantity` | Alınan | dxNumberBox | | | |
|
||
| `UomId` | Birim | dxSelectBox | ✓ | ✓ | sorgu: Adm_T_Uom |
|
||
| `UnitPrice` | Birim Fiyat | dxNumberBox | ✓ | ✓ | script |
|
||
| `TaxRate` | Vergi Oran | dxNumberBox | ✓ | ✓ | script |
|
||
| `Amount` | Tutar | dxNumberBox | | ✓ | script |
|
||
| `DeliveryDate` | Teslim Tarihi | dxDateBox | | ✓ | |
|
||
| `MaterialRequestItemId` | Talep | dxSelectBox | | ✓ | sorgu: Prc_T_MaterialRequestItem |
|
||
|
||
#### Diğer Bilgiler — `Prc.PurchaseOrderOther`
|
||
|
||
| Özellik | Değer |
|
||
| --- | --- |
|
||
| Wizard | `wizard/Prc_PurchaseOrderOther.json` |
|
||
| Yol | Liste (Wizard) |
|
||
| Menü | Menüsüz (alt form) |
|
||
| Yetki | `Prc.PurchaseOrderOther` + `.Create`, `.Update`, `.Delete`, `.Export`, `.Import`, `.Note` |
|
||
| Açıklama | Diğer Bilgiler — satınalma siparişinin alıcı, proje ve ticari koşulları. |
|
||
| Geliştirme talebi | Satınalma -> Siparişler |
|
||
| Kaynak | `Prc_T_PurchaseOrder` · filtre `"IsDeleted" = 'false'` |
|
||
| Görünümler | Grid, Card, Pivot, Chart (açılış grid) |
|
||
| Düzenleme | ekle ✗ · düzenle ✓ · sil ✗ · popup |
|
||
| Kapsam | Kiracı |
|
||
| Komutlar | UpdateBefore: SQL |
|
||
|
||
| Alan | Başlık | Editör | Zorunlu | Formda | Kaynak |
|
||
| --- | --- | --- | --- | --- | --- |
|
||
| `BuyerUserId` | Alıcı | dxSelectBox | ✓ | ✓ | sorgu: AbpUsers |
|
||
| `PaymentTermId` | Ödeme Süresi | dxSelectBox | | ✓ | sorgu: Prc_T_PaymentTerm |
|
||
| `ProjectId` | Proje | dxSelectBox | | ✓ | sorgu: Prj_T_Project |
|
||
| `IncotermId` | Teslimat Koşulu | dxSelectBox | | ✓ | sorgu: Prc_T_Incoterm |
|
||
| `IncotermLocation` | Incoterm Konumu | dxTextBox | | ✓ | |
|
||
|
||
#### Kaynak Teklifler — `Prc.PurchaseOrderAlternative`
|
||
|
||
| Özellik | Değer |
|
||
| --- | --- |
|
||
| Wizard | `wizard/Prc_PurchaseOrderAlternative.json` |
|
||
| Yol | Liste (Wizard) |
|
||
| Menü | Menüsüz (alt form) |
|
||
| Yetki | `Prc.PurchaseOrderAlternative` + `.Create`, `.Update`, `.Delete`, `.Export`, `.Import` |
|
||
| Açıklama | Kaynak Teklifler — satınalma siparişinin dönüştürüldüğü ihalenin teklif talepleri. |
|
||
| Geliştirme talebi | Satınalma -> Siparişler |
|
||
| Kaynak | `Prc_V_PurchaseRfqAlternative` · filtre `"IsDeleted" = 'false'` |
|
||
| Görünümler | Grid, Card, Pivot, Chart (açılış grid) |
|
||
| Düzenleme | ekle ✗ · düzenle ✗ · sil ✗ · popup |
|
||
| Kapsam | Kiracı |
|
||
|
||
| Alan | Başlık | Editör | Zorunlu | Formda | Kaynak |
|
||
| --- | --- | --- | --- | --- | --- |
|
||
| `BaseId` | Ana Belge | dxTextBox | | | |
|
||
| `RfqNo` | Teklif Talep No | dxTextBox | | | |
|
||
| `SupplierId` | Tedarikçi | dxSelectBox | | | sorgu: Adm_T_Contact |
|
||
| `Status` | Durum | dxSelectBox | | | liste: Draft, Sent, Purchase, Cancelled |
|
||
| `SupplierResponse` | Tedarikçi Yanıtı | dxSelectBox | | | liste: Waiting, Quoted, NotQuoted |
|
||
| `OrderDeadline` | Sipariş Zaman Sınırı | dxDateBox | | | |
|
||
| `ExpectedArrival` | Beklenen Geliş | dxDateBox | | | |
|
||
| `UntaxedAmount` | Vergi Hariç Tutar | dxNumberBox | | | |
|
||
| `TotalAmount` | Toplam Tutar | dxNumberBox | | | |
|
||
| `CurrencyId` | Para Birimi | dxTextBox | | | |
|
||
|
||
#### Alternatif Tedarikçiler — `Prc.PurchaseRfqAlternativeSupplier`
|
||
|
||
| Özellik | Değer |
|
||
| --- | --- |
|
||
| Wizard | `wizard/Prc_PurchaseRfqAlternativeSupplier.json` |
|
||
| Yol | Liste (Wizard) |
|
||
| Menü | Menüsüz (alt form) |
|
||
| Yetki | `Prc.PurchaseRfqAlternativeSupplier` + `.Create`, `.Update`, `.Delete`, `.Export`, `.Import` |
|
||
| Açıklama | Alternatif Tedarikçiler — ihalede henüz teklif talebi olmayan aktif kontaklar, açık teklif talebine alternatif eklemek için listelenir. |
|
||
| Geliştirme talebi | Satınalma -> Siparişler |
|
||
| Kaynak | `Prc_V_PurchaseRfqAlternativeSupplier` |
|
||
| Görünümler | Grid, Card, Pivot, Chart (açılış grid) |
|
||
| Düzenleme | ekle ✗ · düzenle ✗ · sil ✗ · batch |
|
||
| Kapsam | Kiracı |
|
||
| Butonlar | `Prc.PurchaseRfqAlternativeSupplier.CreateSelected` |
|
||
|
||
| Alan | Başlık | Editör | Zorunlu | Formda | Kaynak |
|
||
| --- | --- | --- | --- | --- | --- |
|
||
| `BaseId` | Ana Belge | dxTextBox | | | |
|
||
| `Name` | Adı | dxTextBox | | | |
|
||
| `City` | Şehir | dxTextBox | | | |
|
||
| `Phone` | Telefon | dxTextBox | | | |
|
||
| `Email` | E-posta | dxTextBox | | | |
|
||
| `SupplierCurrency` | Tedarikçi Para Birimi | dxTextBox | | | |
|
||
|
||
<!-- module-doc:auto:end -->
|