2026-10-07 08:17:46 +00:00
# Satı nalma (`App.Prc`)
2026-10-06 07:19:26 +00:00
2026-10-07 08:17:46 +00:00
> 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.
2026-10-06 07:19:26 +00:00
2026-10-07 08:17:46 +00:00
<!-- module - doc:section App.Prc.Definitions -->
## Tanı mlamalar (`App.Prc.Definitions`)
### 1. Amaç ve kapsam
2026-10-06 07:19:26 +00:00
2026-10-06 09:35:09 +00:00
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.
2026-10-07 08:17:46 +00:00
Tedarikçi kartı (eski `App.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 ](<App.Administration.md> ). Kontak kartı nı n Satı ş ve Satı nalma sekmeleri bu modülün tanı mları nı lookup olarak kullanı r.
2026-10-06 07:19:26 +00:00
2026-10-07 08:17:46 +00:00
### 2. Analiz ve kararlar
2026-10-06 07:19:26 +00:00
2026-10-06 09:35:09 +00:00
- 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*`, `App.Definitions.Contact*` ) taşı ndı ; bu modülde yalnı zca satı nalma koşulu tanı mları kaldı .
2026-10-06 07:19:26 +00:00
2026-10-07 08:17:46 +00:00
### 3. Menü ve ekranlar
2026-10-06 07:19:26 +00:00
Satı nalma (`App.Prc`) › Tanı mlamalar (`App.Prc.Definitions`):
| Ekran | Kod | Not |
| --- | --- | --- |
| Ödeme Koşulları | `App.Prc.PaymentTerm` | tanı m, demo veri |
| Ödeme Yöntemleri | `App.Prc.PaymentMethod` | tanı m, demo veri |
| Teslimat Koşulları | `App.Prc.Incoterm` | tanı m, demo veri |
| Teslim Yöntemleri | `App.Prc.DeliveryMethod` | tanı m, demo veri |
2026-10-07 08:17:46 +00:00
### 4. Veri modeli
2026-10-06 07:19:26 +00:00
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)
2026-10-07 08:17:46 +00:00
### 5. İş kuralları ve hesaplar
2026-10-06 07:19:26 +00:00
- 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.
2026-10-07 08:17:46 +00:00
### 6. Yetki ve görünürlük
2026-10-06 07:19:26 +00:00
2026-10-06 09:35:09 +00:00
Yetki ağacı : `App.Prc` › `App.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.
2026-10-06 07:19:26 +00:00
2026-10-07 08:17:46 +00:00
### 7. Entegrasyonlar
2026-10-06 07:19:26 +00:00
2026-10-06 09:35:09 +00:00
Yok. Tanı mlar Yönetim › Tanı mlamalar › Kontaklar'ı n Satı ş ve Satı nalma sekmelerinde (`App.Definitions.ContactSales`, `App.Definitions.ContactPurchasing` ) seçilir.
2026-10-06 07:19:26 +00:00
2026-10-07 08:17:46 +00:00
### 8. Akı ş örneği
2026-10-06 07:19:26 +00:00
1. Satı nalma › Tanı mlamalar › Ödeme Koşulları 'nda "30 Gün" aktif durur.
2026-10-06 09:35:09 +00:00
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.
2026-10-06 07:19:26 +00:00
2026-10-07 08:17:46 +00:00
### 9. Sı k sorulanlar
2026-10-06 07:19:26 +00:00
2026-10-06 09:35:09 +00:00
- **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.
2026-10-06 07:19:26 +00:00
2026-10-07 08:17:46 +00:00
### 10. Dosyalar ve geri alma
2026-10-06 07:19:26 +00:00
2026-10-06 09:35:09 +00:00
- Tablolar: `sql/object/Prc_T_PaymentTerm.sql` , `Prc_T_PaymentMethod.sql` , `Prc_T_Incoterm.sql` , `Prc_T_DeliveryMethod.sql` .
2026-10-09 11:33:26 +00:00
- Wizard'lar: `Prc_PaymentTerm.json` , `Prc_PaymentMethod.json` , `Prc_Incoterm.json` , `Prc_DeliveryMethod.json` .
2026-10-06 09:35:09 +00:00
- Demo veri: `data/App.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.
2026-10-06 07:19:26 +00:00
2026-10-09 17:02:27 +00:00
<!-- module - doc:section App.Prc.MaterialRequests -->
## Malzeme Talepleri (`App.Prc.MaterialRequests`)
### 1. Amaç ve kapsam
Departmanları n iç ve dı ş ihtiyaç duydukları malzemeleri satı nalmaya iletmesi. Talep eden personel talebi ve satı rları nı girer, onaya gönderir; talep önce talep edenin departman onaycı sı na, sonra satı nalmaya (Satı nalma Masası ) düşer. Onaylanan talep Planlama Bekleyenler listesine geçer ve satı nalma ekibi satı rları planlar; teklif toplama süreci bu listeden başlar. Teklif, sipariş, transfer ve stok miktarı bu dalı n kapsamı nda değildir.
### 2. Analiz ve kararlar
- Wizard List ekranları + menüsüz satı r alt formu + Grid Workflow. Beş liste aynı tabloyu (`Prc_T_MaterialRequest`) filtreyle gösterir.
- 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'a eklenen yeni Onay Yeri **Satı nalma Masası ** (`PurchaseDesk`) satı rları , departmandan bağı msı z. 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.
- Görseldeki "Kendi Depomda" ve "Tüm Depolar" stok kolonları üretilmedi: uygulamada stok miktarı /hareket tablosu yok; stok modülü gelince ayrı talep.
- Karşı lama Şekli: Satı nalma / Depodan Transfer.
- Onay akı şı nı n "onaylayan" alanı platformda kullanı cı adı (metin) yazdı ğı için akı şa bağlanmadı (`ApprovalUserFieldName` boş); departman/satı nalma onaylayanı kayı t sonrası prosedürde kaydı son güncelleyen kullanı cı dan yazı lı r. `ApproverId` kolonu kullanı lmaz.
- Satı r tablosu `Prc_T_MaterialRequestItem` adı yla açı ldı (birim kolonu `Adm_T_Uom.Id` ile aynı tipte, nvarchar). İlk açı lan `Prc_T_MaterialRequestLine` scripti (UomId uniqueidentifier) kullanı lmı yor.
- Talep durumu satı rlardan türetilir; ayrı İşlemde / Tamamlandı butonu yerine satı r durumu (Bekliyor / Planlandı / Tamamlandı / İptal) kullanı lı r.
### 3. Menü ve ekranlar
Satı nalma (`App.Prc`) › Malzeme Talepleri (`App.Prc.MaterialRequests`):
| Ekran | Kod | Filtre / not |
| --- | --- | --- |
| Taleplerim | `App.Prc.MyMaterialRequest` | talep eden = oturumdaki kullanı cı ; ekle/sil açı k, akı ş |
| Departman Onayı Bekleyenler | `App.Prc.MaterialRequestDeptApproval` | ApprovalStatus = Departman Onayı ; yalnı z kendine düşenler |
| Satı nalma Onayı Bekleyenler | `App.Prc.MaterialRequestPurchaseApproval` | ApprovalStatus = Satı nalma Onayı ; yalnı z kendine düşenler |
| Planlama Bekleyenler | `App.Prc.MaterialRequestPlanning` | ApprovalStatus = Onaylandı ve Status ≠ Done; akı ş yok |
| Tüm Talepler | `App.Prc.MaterialRequest` | filtresiz; ekle/sil açı k, akı ş |
Talep Satı rları (`App.Prc.MaterialRequestLine`) menüsüz alt formdur; beş listenin hepsinde sekmedir. Red Nedenleri (`App.Prc.RejectReason`) Satı nalma › Tanı mlamalar altı ndadı r (bkz. Tanı mlamalar).
### 4. Veri modeli
Tüm tablolar kiracı + tam audit + soft delete taşı r.
- `Prc_T_MaterialRequest` : RequestNo, Priority (0– 3), RequesterUserId, DepartmentId, WarehouseId, LocationId, RequestDate, Description, Status (Draft / DeptApproval / PurchaseApproval / Approved / InProgress / PartiallyDone / Done / Rejected), ApprovalStatus, ApprovalDate, ApprovalNote (akı ş), DeptApproverUserNames / PurchaseApproverUserNames (`|` ayrı lmı ş kullanı cı adları ), DeptApprovedBy/Date/Note, PurchaseApprovedBy/Date/Note, RejectReasonId, ApproverId (kullanı lmaz).
- `Prc_T_MaterialRequestItem` : MaterialRequestId (FK, cascade), ProductId, Quantity, UomId (nvarchar, `Adm_T_Uom` ), FulfillmentMethod (Purchase / Transfer), DueDate, RequestReason, DeliveredQuantity, PlannedQuantity, PurchaseResponsibleUserId, LineStatus (Waiting / Planned / Done / Cancelled).
- `Prc_T_RejectReason` : Name, SortOrder, IsActive.
- Prosedür `Prc_P_MaterialRequestAfterSave(@Id, @UserId)` .
### 5. İş kuralları ve hesaplar
- `Prc_P_MaterialRequestAfterSave` talep kaydı /güncellemesi ve satı r ekleme/güncelleme/silme sonrası nda çalı şı r: boş planlanacak miktarı talep miktarı yla doldurur; onaycı kullanı cı listelerini Onaycı lar'dan yeniden yazar; ApprovalStatus departman adı mı nı geçince departman onay bilgilerini, Onaylandı /Reddedildi olunca satı nalma onay bilgilerini (onaylayan, tarih, not) kopyalar; Status'u türetir: Departman Onayı → DeptApproval, Satı nalma Onayı → PurchaseApproval, Reddedildi → Rejected, Onaylandı → satı rlara göre (tümü Tamamlandı /İptal → Done, bir kı smı Tamamlandı → PartiallyDone, Planlandı varsa → InProgress, değilse Approved), boş → Draft.
- Onaya gönderilmiş talebe satı r eklenemez ve satı r silinemez (alt form Insert/Delete Before komutu). Onay sürecindeki ya da onaylanmı ş talep silinemez; reddedilen talep silinebilir.
- Ürün listesi yalnı z aktif ve satı n alı nabilir ürünleri gösterir; birim ürünün satı nalma biriminden (yoksa biriminden) kopyalanı r, salt okunurdur.
- Depo değişince konum temizlenir; konum listesi depoya göre süzülür. Talep eden değişince departmanı kullanı cı kartı ndan gelir; yeni kayı tta departman oturumdaki kullanı cı nı n departmanı dı r.
- Onaycı listesi boşsa akı ş o adı mda hata verir: Onaycı lar'a ilgili departman için Satı nalma ve en az bir Satı nalma Masası satı rı tanı mlanmalı dı r.
### 6. Yetki ve görünürlük
Yetki ağacı : `App.Prc` › `App.Prc.MaterialRequests` › her liste (+ Create/Update/Delete/Export/Import/Note); alt form `App.Prc.MaterialRequestLine` listenin altı nda. Talep edenlere Taleplerim (+Create, +Update), onaycı lara ilgili onay listesi (+Update), satı nalma ekibine Planlama Bekleyenler ve Tüm Talepler verilir; satı r alt formunun yetkisi de role verilmelidir. Onay listeleri yalnı z kullanı cı nı n onayı na düşen kayı tları gösterir. Kiracı kapsamlı , şube filtresi yok.
### 7. Entegrasyonlar
Yönetim › Tanı mlamalar › Onaycı lar (onay yerleri Satı nalma ve Satı nalma Masası ); Envanter › Tanı mlamalar › Ürünler, Depolar, Konumlar; İK departmanları ; Yönetim › Tanı mlamalar › Diziler (`MaterialRequest`). Akı ş e-posta bildirimi platformun iş akı şı altyapı sı ndadı r. Teklif/sipariş modülüyle entegrasyon yok.
### 8. Akı ş örneği
1. Onaycı lar'da BT departmanı için Satı nalma yerinde Ayşe, Satı nalma Masası yerinde Mehmet tanı mlı dı r.
2. BT'den Ali Taleplerim'de yeni talep açar (MT-2026-00001), depo/konum seçer, Talep Satı rları 'na 10 adet ürün, termin ve neden girer; Onaya Gönder der.
3. Ayşe Departman Onayı Bekleyenler'de talebi onaylar; talep Satı nalma Onayı Bekleyenler'e geçer.
4. Mehmet onaylar; talep Onaylandı olur, Ali'ye bilgi gider, talep Planlama Bekleyenler'de görünür.
5. Satı nalma satı rda sorumluyu atar, satı rı Planlandı yapar (talep İşlemde), sonra Tamamlandı yapar (talep Tamamlandı , listeden çı kar).
### 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 aktif Satı nalma Masası satı rı gerekir.
- **Onaya gönderdikten sonra satı r ekleyebilir miyim?** Hayı r; talep reddedilirse ya da akı ş başa dönerse yeniden düzenlenir.
- **Kendi Depomda / Tüm Depolar miktarları nerede?** Stok modülü geldiğinde eklenecek.
- **Red nedeni nereden seçilir?** Onay listelerindeki talep formunda Red Nedeni alanı ndan (Satı nalma › Tanı mlamalar › Red Nedenleri).
### 10. Dosyalar ve geri alma
- Tablolar: `sql/object/Prc_T_MaterialRequest.sql` , `Prc_T_MaterialRequestItem.sql` , `Prc_T_RejectReason.sql` (+ postgres eşleri); kullanı lmayan `Prc_T_MaterialRequestLine.sql` .
- Prosedür: `sql/object/Prc_P_MaterialRequestAfterSave.sql` (+ postgres).
- Wizard'lar: `Prc_MaterialRequestLine.json` , `Prc_MyMaterialRequest.json` , `Prc_MaterialRequestDeptApproval.json` , `Prc_MaterialRequestPurchaseApproval.json` , `Prc_MaterialRequestPlanning.json` , `Prc_MaterialRequest.json` , `Prc_RejectReason.json` ; güncellenen `Adm_Approver.json` .
- Numaratör: `App.Definitions.Sequence` › `MaterialRequest` .
- Geri alma: Wizard Manager'da talep bazlı silme (alt form en son değil, önce listeler); tablolar yalnı z açı k onayla düşürülür.
2026-10-06 07:19:26 +00:00
<!-- 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.
2026-10-07 08:17:46 +00:00
### Tanı mlamalar (`App.Prc.Definitions`)
#### Ödeme Koşulları — `App.Prc.PaymentTerm`
2026-10-06 07:19:26 +00:00
| Özellik | Değer |
| --- | --- |
2026-10-09 11:33:26 +00:00
| Wizard | `wizard/Prc_PaymentTerm.json` |
2026-10-06 07:19:26 +00:00
| Yol | Liste (Wizard) |
| Menü | `App.Prc.Definitions` › `App.Prc.PaymentTerm` (sı ra 1) |
| Yetki | `App.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 | `App.Widget.Total` , `App.Widget.Active` , `App.Widget.Passive` |
| Veri aynası | `data/App.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 | | ✓ | |
2026-10-07 08:17:46 +00:00
#### Ödeme Yöntemleri — `App.Prc.PaymentMethod`
2026-10-06 07:19:26 +00:00
| Özellik | Değer |
| --- | --- |
2026-10-09 11:33:26 +00:00
| Wizard | `wizard/Prc_PaymentMethod.json` |
2026-10-06 07:19:26 +00:00
| Yol | Liste (Wizard) |
| Menü | `App.Prc.Definitions` › `App.Prc.PaymentMethod` (sı ra 2) |
| Yetki | `App.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 | `App.Widget.Total` , `App.Widget.Active` , `App.Widget.Passive` |
| Veri aynası | `data/App.Prc.PaymentMethod.json` |
| Alan | Başlı k | Editör | Zorunlu | Formda | Kaynak |
| --- | --- | --- | --- | --- | --- |
| `Name` | Ad | dxTextBox | ✓ | ✓ | |
| `Journal` | Yevmiye | dxTextBox | | ✓ | |
| `IsActive` | Aktif | dxCheckBox | ✓ | ✓ | |
2026-10-07 08:17:46 +00:00
#### Teslimat Koşulları — `App.Prc.Incoterm`
2026-10-06 07:19:26 +00:00
| Özellik | Değer |
| --- | --- |
2026-10-09 11:33:26 +00:00
| Wizard | `wizard/Prc_Incoterm.json` |
2026-10-06 07:19:26 +00:00
| Yol | Liste (Wizard) |
| Menü | `App.Prc.Definitions` › `App.Prc.Incoterm` (sı ra 3) |
| Yetki | `App.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 | `App.Widget.Total` , `App.Widget.Active` , `App.Widget.Passive` |
| Veri aynası | `data/App.Prc.Incoterm.json` |
| Alan | Başlı k | Editör | Zorunlu | Formda | Kaynak |
| --- | --- | --- | --- | --- | --- |
| `Code` | Kod | dxTextBox | ✓ | ✓ | |
| `Name` | Ad | dxTextBox | ✓ | ✓ | |
| `IsActive` | Aktif | dxCheckBox | ✓ | ✓ | |
2026-10-07 08:17:46 +00:00
#### Teslim Yöntemleri — `App.Prc.DeliveryMethod`
2026-10-06 07:19:26 +00:00
| Özellik | Değer |
| --- | --- |
2026-10-09 11:33:26 +00:00
| Wizard | `wizard/Prc_DeliveryMethod.json` |
2026-10-06 07:19:26 +00:00
| Yol | Liste (Wizard) |
| Menü | `App.Prc.Definitions` › `App.Prc.DeliveryMethod` (sı ra 4) |
| Yetki | `App.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 | `App.Widget.Total` , `App.Widget.Active` , `App.Widget.Passive` |
| Veri aynası | `data/App.Prc.DeliveryMethod.json` |
| Alan | Başlı k | Editör | Zorunlu | Formda | Kaynak |
| --- | --- | --- | --- | --- | --- |
| `Name` | Ad | dxTextBox | ✓ | ✓ | |
| `IsActive` | Aktif | dxCheckBox | ✓ | ✓ | |
2026-10-09 17:02:27 +00:00
#### Red Nedenleri — `App.Prc.RejectReason`
| Özellik | Değer |
| --- | --- |
| Wizard | `wizard/Prc_RejectReason.json` |
| Yol | Liste (Wizard) |
| Menü | `App.Prc.Definitions` › `App.Prc.RejectReason` (sı ra 5) |
| Yetki | `App.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 -> Malzeme Talepleri |
| 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 | `App.Widget.Total` , `App.Widget.Active` , `App.Widget.Passive` |
| Form varsayı lanları | SortOrder=0, IsActive=true |
| Veri aynası | `data/App.Prc.RejectReason.json` |
| Alan | Başlı k | Editör | Zorunlu | Formda | Kaynak |
| --- | --- | --- | --- | --- | --- |
| `Name` | Red Nedeni | dxTextBox | ✓ | ✓ | |
| `SortOrder` | Sı ra | dxNumberBox | ✓ | ✓ | |
| `IsActive` | Aktif | dxCheckBox | ✓ | ✓ | |
### Malzeme Talepleri (`App.Prc.MaterialRequests`)
#### Taleplerim — `App.Prc.MyMaterialRequest`
| Özellik | Değer |
| --- | --- |
| Wizard | `wizard/Prc_MyMaterialRequest.json` |
| Yol | Liste (Wizard) |
| Menü | `App.Prc.MaterialRequests` › `App.Prc.MyMaterialRequest` (sı ra 1) |
| Yetki | `App.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 -> Malzeme Talepleri |
| 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 | `App.Prc.MaterialRequestLine` (Id → MaterialRequestId) |
| Widget'lar | `App.Prc.MaterialRequest.Widget.Mine` , `App.Prc.MaterialRequest.Widget.Pending` , `App.Prc.MaterialRequest.Widget.Approved` , `App.Prc.MaterialRequest.Widget.Rejected` |
| Komutlar | InsertAfter: `Prc_P_MaterialRequestAfterSave` · UpdateAfter: `Prc_P_MaterialRequestAfterSave` · DeleteBefore: SQL |
| Form varsayı lanları | RequestNo=MaterialRequest, RequesterUserId=@USERID, DepartmentId=, RequestDate=@NOW, Priority=0, Status=Draft |
| 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) | dxNumberBox | ✓ | ✓ | |
| `RequesterUserId` | Talep Eden | dxSelectBox | ✓ | ✓ | sorgu: AbpUsers · script |
| `DepartmentId` | Departman | dxSelectBox | ✓ | ✓ | sorgu: Hr_T_Department |
| `WarehouseId` | Depo | dxSelectBox | ✓ | ✓ | sorgu: Inv_T_Warehouse · script |
| `LocationId` | Konum | dxSelectBox | ✓ | ✓ | sorgu: Inv_T_Location (← WarehouseId) |
| `RequestDate` | Talep Tarihi | dxDateBox | ✓ | ✓ | |
| `Status` | Durum | dxSelectBox | ✓ | ✓ | liste: Draft, DeptApproval, PurchaseApproval, Approved, InProgress, PartiallyDone, Done, Rejected |
| `ApprovalStatus` | Onay Durumu | dxTextBox | | ✓ | |
| `RejectReasonId` | Red Nedeni | dxSelectBox | | ✓ | sorgu: Prc_T_RejectReason |
| `Description` | Genel Açı klama | dxTextArea | | ✓ | |
| `PurchaseApproverUserNames` | Satı nalma Onaycı ları | dxTextBox | | | |
| `ApproverId` | Onaylayan Kimlik | dxTextBox | | | |
| `ApprovalDate` | Onay Tarihi | dxDateBox | | | |
| `ApprovalNote` | Onay Notu | dxTextArea | | | |
| `DeptApproverUserNames` | Departman Onaycı ları | dxTextBox | | ✓ | |
| `PurchaseApprovedBy` | Satı nalma Onaylayan | dxSelectBox | | ✓ | sorgu: AbpUsers |
| `DeptApprovedBy` | Departman Onaylayan | dxSelectBox | | ✓ | sorgu: AbpUsers |
| `PurchaseApprovalDate` | Satı nalma Onay Tarihi | dxDateBox | | ✓ | |
| `DeptApprovalDate` | Departman Onay Tarihi | dxDateBox | | ✓ | |
| `PurchaseApprovalNote` | Satı nalma Onay Notu | dxTextArea | | ✓ | |
| `DeptApprovalNote` | Departman Onay Notu | dxTextArea | | ✓ | |
#### Departman Onayı Bekleyenler — `App.Prc.MaterialRequestDeptApproval`
| Özellik | Değer |
| --- | --- |
| Wizard | `wizard/Prc_MaterialRequestDeptApproval.json` |
| Yol | Liste (Wizard) |
| Menü | `App.Prc.MaterialRequests` › `App.Prc.MaterialRequestDeptApproval` (sı ra 2) |
| Yetki | `App.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 -> Malzeme Talepleri |
| 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 | `App.Prc.MaterialRequestLine` (Id → MaterialRequestId) |
| Widget'lar | `App.Prc.MaterialRequest.Status.DeptApproval` , `App.Prc.MaterialRequest.Status.PurchaseApproval` , `App.Prc.MaterialRequest.Status.Rejected` |
| Komutlar | UpdateAfter: `Prc_P_MaterialRequestAfterSave` |
| Form varsayı lanları | Priority=0, Status=Draft |
| 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) | dxNumberBox | ✓ | ✓ | |
| `RequesterUserId` | Talep Eden | dxSelectBox | ✓ | ✓ | sorgu: AbpUsers |
| `DepartmentId` | Departman | dxSelectBox | ✓ | ✓ | sorgu: Hr_T_Department |
| `WarehouseId` | Depo | dxSelectBox | ✓ | ✓ | sorgu: Inv_T_Warehouse |
| `LocationId` | Konum | dxSelectBox | ✓ | ✓ | sorgu: Inv_T_Location |
| `RequestDate` | Talep Tarihi | dxDateBox | ✓ | ✓ | |
| `Status` | Durum | dxSelectBox | ✓ | ✓ | liste: Draft, DeptApproval, PurchaseApproval, Approved, InProgress, PartiallyDone, Done, Rejected |
| `ApprovalStatus` | Onay Durumu | dxTextBox | | ✓ | |
| `RejectReasonId` | Red Nedeni | dxSelectBox | | ✓ | sorgu: Prc_T_RejectReason |
| `Description` | Genel Açı klama | dxTextArea | | ✓ | |
| `DeptApproverUserNames` | Departman Onaycı ları | dxTextBox | | | |
| `PurchaseApproverUserNames` | Satı nalma Onaycı ları | dxTextBox | | | |
| `ApprovalDate` | Onay Tarihi | dxDateBox | | | |
| `ApprovalNote` | Onay Notu | dxTextArea | | | |
#### Satı nalma Onayı Bekleyenler — `App.Prc.MaterialRequestPurchaseApproval`
| Özellik | Değer |
| --- | --- |
| Wizard | `wizard/Prc_MaterialRequestPurchaseApproval.json` |
| Yol | Liste (Wizard) |
| Menü | `App.Prc.MaterialRequests` › `App.Prc.MaterialRequestPurchaseApproval` (sı ra 3) |
| Yetki | `App.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 -> Malzeme Talepleri |
| 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 | `App.Prc.MaterialRequestLine` (Id → MaterialRequestId) |
| Widget'lar | `App.Prc.MaterialRequest.Status.PurchaseApproval` , `App.Prc.MaterialRequest.Status.Approved` , `App.Prc.MaterialRequest.Status.Rejected` |
| Komutlar | UpdateAfter: `Prc_P_MaterialRequestAfterSave` |
| Form varsayı lanları | Priority=0, Status=Draft |
| 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) | dxNumberBox | ✓ | ✓ | |
| `RequesterUserId` | Talep Eden | dxSelectBox | ✓ | ✓ | sorgu: AbpUsers |
| `DepartmentId` | Departman | dxSelectBox | ✓ | ✓ | sorgu: Hr_T_Department |
| `WarehouseId` | Depo | dxSelectBox | ✓ | ✓ | sorgu: Inv_T_Warehouse |
| `LocationId` | Konum | dxSelectBox | ✓ | ✓ | sorgu: Inv_T_Location |
| `RequestDate` | Talep Tarihi | dxDateBox | ✓ | ✓ | |
| `Status` | Durum | dxSelectBox | ✓ | ✓ | liste: Draft, DeptApproval, PurchaseApproval, Approved, InProgress, PartiallyDone, Done, Rejected |
| `ApprovalStatus` | Onay Durumu | dxTextBox | | ✓ | |
| `RejectReasonId` | Red Nedeni | dxSelectBox | | ✓ | sorgu: Prc_T_RejectReason |
| `Description` | Genel Açı klama | dxTextArea | | ✓ | |
| `DeptApproverUserNames` | Departman Onaycı ları | dxTextBox | | | |
| `PurchaseApproverUserNames` | Satı nalma Onaycı ları | dxTextBox | | | |
| `ApprovalDate` | Onay Tarihi | dxDateBox | | | |
| `ApprovalNote` | Onay Notu | dxTextArea | | | |
| `DeptApprovedBy` | Departman Onaylayan | dxSelectBox | | ✓ | sorgu: AbpUsers |
| `DeptApprovalDate` | Departman Onay Tarihi | dxDateBox | | ✓ | |
| `DeptApprovalNote` | Departman Onay Notu | dxTextArea | | ✓ | |
#### Planlama Bekleyenler — `App.Prc.MaterialRequestPlanning`
| Özellik | Değer |
| --- | --- |
| Wizard | `wizard/Prc_MaterialRequestPlanning.json` |
| Yol | Liste (Wizard) |
| Menü | `App.Prc.MaterialRequests` › `App.Prc.MaterialRequestPlanning` (sı ra 4) |
| Yetki | `App.Prc.MaterialRequestPlanning` + `.Create` , `.Update` , `.Delete` , `.Export` , `.Import` , `.Note` |
| Açı klama | Planlama Bekleyenler — onaylanmı ş ve satı rları henüz tamamlanmamı ş malzeme talepleri; satı nalma ekibinin iş listesi. |
| Geliştirme talebi | Satı nalma -> Malzeme Talepleri |
| Kaynak | `Prc_T_MaterialRequest` · filtre `"IsDeleted" = 'false' AND "ApprovalStatus" = N'Onaylandı ' AND "Status" <> 'Done'` |
| Görünümler | Grid, Card, Pivot, Chart (açı lı ş grid) |
| Düzenleme | ekle ✗ · düzenle ✓ · sil ✗ · popup |
| Kapsam | Kiracı |
| Alt formlar | `App.Prc.MaterialRequestLine` (Id → MaterialRequestId) |
| Widget'lar | `App.Prc.MaterialRequest.Status.Approved` , `App.Prc.MaterialRequest.Status.InProgress` , `App.Prc.MaterialRequest.Status.PartiallyDone` |
| Komutlar | UpdateAfter: `Prc_P_MaterialRequestAfterSave` |
| Form varsayı lanları | Priority=0, Status=Draft |
| Alan | Başlı k | Editör | Zorunlu | Formda | Kaynak |
| --- | --- | --- | --- | --- | --- |
| `RequestNo` | Talep No | dxTextBox | | ✓ | |
| `Priority` | Öncelik (0-3) | dxNumberBox | ✓ | ✓ | |
| `RequesterUserId` | Talep Eden | dxSelectBox | ✓ | ✓ | sorgu: AbpUsers |
| `DepartmentId` | Departman | dxSelectBox | ✓ | ✓ | sorgu: Hr_T_Department |
| `WarehouseId` | Depo | dxSelectBox | ✓ | ✓ | sorgu: Inv_T_Warehouse |
| `LocationId` | Konum | dxSelectBox | ✓ | ✓ | sorgu: Inv_T_Location |
| `RequestDate` | Talep Tarihi | dxDateBox | ✓ | ✓ | |
| `Status` | Durum | dxSelectBox | ✓ | ✓ | liste: Draft, DeptApproval, PurchaseApproval, Approved, InProgress, PartiallyDone, Done, Rejected |
| `Description` | Genel Açı klama | dxTextArea | | ✓ | |
| `DeptApprovedBy` | Departman Onaylayan | dxSelectBox | | ✓ | sorgu: AbpUsers |
| `PurchaseApprovedBy` | Satı nalma Onaylayan | dxSelectBox | | ✓ | sorgu: AbpUsers |
| `DeptApprovalDate` | Departman Onay Tarihi | dxDateBox | | ✓ | |
| `PurchaseApprovalDate` | Satı nalma Onay Tarihi | dxDateBox | | ✓ | |
| `DeptApprovalNote` | Departman Onay Notu | dxTextArea | | ✓ | |
| `PurchaseApprovalNote` | Satı nalma Onay Notu | dxTextArea | | ✓ | |
#### Tüm Talepler — `App.Prc.MaterialRequest`
| Özellik | Değer |
| --- | --- |
| Wizard | `wizard/Prc_MaterialRequest.json` |
| Yol | Liste (Wizard) |
| Menü | `App.Prc.MaterialRequests` › `App.Prc.MaterialRequest` (sı ra 5) |
| Yetki | `App.Prc.MaterialRequest` + `.Create` , `.Update` , `.Delete` , `.Export` , `.Import` , `.Note` |
| Açı klama | Tüm Talepler — kurumun bütün malzeme talepleri, tüm durumları yla; satı nalma yönetiminin listesi. |
| Geliştirme talebi | Satı nalma -> Malzeme Talepleri |
| Kaynak | `Prc_T_MaterialRequest` · 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 | `App.Prc.MaterialRequestLine` (Id → MaterialRequestId) |
| Widget'lar | `App.Prc.MaterialRequest.Status.DeptApproval` , `App.Prc.MaterialRequest.Status.PurchaseApproval` , `App.Prc.MaterialRequest.Status.Approved` , `App.Prc.MaterialRequest.Status.Rejected` |
| Komutlar | InsertAfter: `Prc_P_MaterialRequestAfterSave` · UpdateAfter: `Prc_P_MaterialRequestAfterSave` · DeleteBefore: SQL |
| Form varsayı lanları | RequestNo=MaterialRequest, RequesterUserId=@USERID, DepartmentId=, RequestDate=@NOW, Priority=0, Status=Draft |
| 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) | dxNumberBox | ✓ | ✓ | |
| `RequesterUserId` | Talep Eden | dxSelectBox | ✓ | ✓ | sorgu: AbpUsers · script |
| `DepartmentId` | Departman | dxSelectBox | ✓ | ✓ | sorgu: Hr_T_Department |
| `WarehouseId` | Depo | dxSelectBox | ✓ | ✓ | sorgu: Inv_T_Warehouse · script |
| `LocationId` | Konum | dxSelectBox | ✓ | ✓ | sorgu: Inv_T_Location (← WarehouseId) |
| `RequestDate` | Talep Tarihi | dxDateBox | ✓ | ✓ | |
| `Status` | Durum | dxSelectBox | ✓ | ✓ | liste: Draft, DeptApproval, PurchaseApproval, Approved, InProgress, PartiallyDone, Done, Rejected |
| `ApprovalStatus` | Onay Durumu | dxTextBox | | ✓ | |
| `RejectReasonId` | Red Nedeni | dxSelectBox | | ✓ | sorgu: Prc_T_RejectReason |
| `Description` | Genel Açı klama | dxTextArea | | ✓ | |
| `PurchaseApproverUserNames` | Satı nalma Onaycı ları | dxTextBox | | | |
| `ApproverId` | Onaylayan Kimlik | dxTextBox | | | |
| `ApprovalDate` | Onay Tarihi | dxDateBox | | | |
| `ApprovalNote` | Onay Notu | dxTextArea | | | |
| `DeptApproverUserNames` | Departman Onaycı ları | dxTextBox | | ✓ | |
| `PurchaseApprovedBy` | Satı nalma Onaylayan | dxSelectBox | | ✓ | sorgu: AbpUsers |
| `DeptApprovedBy` | Departman Onaylayan | dxSelectBox | | ✓ | sorgu: AbpUsers |
| `PurchaseApprovalDate` | Satı nalma Onay Tarihi | dxDateBox | | ✓ | |
| `DeptApprovalDate` | Departman Onay Tarihi | dxDateBox | | ✓ | |
| `PurchaseApprovalNote` | Satı nalma Onay Notu | dxTextArea | | ✓ | |
| `DeptApprovalNote` | Departman Onay Notu | dxTextArea | | ✓ | |
#### Talep Satı rları — `App.Prc.MaterialRequestLine`
| Özellik | Değer |
| --- | --- |
| Wizard | `wizard/Prc_MaterialRequestLine.json` |
| Yol | Liste (Wizard) |
| Menü | Menüsüz (alt form) |
| Yetki | `App.Prc.MaterialRequestLine` + `.Create` , `.Update` , `.Delete` , `.Export` , `.Import` , `.Note` |
| Açı klama | Talep Satı rları — malzeme talebinde istenen ürünler. |
| Geliştirme talebi | Satı nalma -> Malzeme Talepleri |
| 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 · InsertAfter: `Prc_P_MaterialRequestAfterSave` · UpdateAfter: `Prc_P_MaterialRequestAfterSave` · DeleteBefore: SQL · DeleteAfter: `Prc_P_MaterialRequestAfterSave` |
| Form varsayı lanları | FulfillmentMethod=Purchase, DeliveredQuantity=0, LineStatus=Waiting |
| Alan | Başlı k | Editör | Zorunlu | Formda | Kaynak |
| --- | --- | --- | --- | --- | --- |
| `MaterialRequestId` | Malzeme Talebi | dxTextBox | | | |
| `ProductId` | Ürün | dxSelectBox | ✓ | ✓ | sorgu: Inv_T_Product · script |
| `Quantity` | Miktar | dxNumberBox | ✓ | ✓ | |
| `UomId` | Birim | dxSelectBox | ✓ | ✓ | sorgu: Adm_T_Uom |
| `FulfillmentMethod` | Karşı lama Şekli | dxSelectBox | ✓ | ✓ | liste: Purchase, Transfer |
| `DueDate` | Termin Tarihi | dxDateBox | ✓ | ✓ | |
| `RequestReason` | Talep Nedeni | dxTextBox | ✓ | ✓ | |
| `DeliveredQuantity` | Teslim | dxNumberBox | | ✓ | |
| `PlannedQuantity` | Planlanacak Miktar | dxNumberBox | | ✓ | |
| `PurchaseResponsibleUserId` | Satı nalma Sorumlusu | dxSelectBox | | ✓ | sorgu: AbpUsers |
| `LineStatus` | Satı r Durumu | dxSelectBox | ✓ | ✓ | liste: Waiting, Planned, Done, Cancelled |
2026-10-06 07:19:26 +00:00
<!-- module - doc:auto:end -->