sozsoft-platform/configs/seeds/docs/modules/App.Prc.md
2026-10-09 21:28:48 +03:00

34 KiB
Raw Blame History

Satınalma (App.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.

Tanımlamalar (App.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 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. 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*, App.Definitions.Contact*) taşındı; bu modülde yalnızca satınalma koşulu tanımları kaldı.

3. Menü ve ekranlar

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

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ı: 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.

7. Entegrasyonlar

Yok. Tanımlar Yönetim › Tanımlamalar › Kontaklar'ın Satış ve Satınalma sekmelerinde (App.Definitions.ContactSales, App.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/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.

Satınalma 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) › Satınalma 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.

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 (App.Prc.Definitions)

Ödeme Koşulları — App.Prc.PaymentTerm

Özellik Değer
Wizard wizard/Prc_PaymentTerm.json
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 ✓

Ödeme Yöntemleri — App.Prc.PaymentMethod

Özellik Değer
Wizard wizard/Prc_PaymentMethod.json
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 ✓ ✓

Teslimat Koşulları — App.Prc.Incoterm

Özellik Değer
Wizard wizard/Prc_Incoterm.json
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 ✓ ✓

Teslim Yöntemleri — App.Prc.DeliveryMethod

Özellik Değer
Wizard wizard/Prc_DeliveryMethod.json
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 ✓ ✓

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 -> Satınalma 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 ✓ ✓

Satınalma 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 -> Satınalma 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=MaterialRequest1, 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 dxTextBox ✓
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 -> Satınalma 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 -> Satınalma 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 -> Satınalma 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 -> Satınalma 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=MaterialRequest1, 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 dxTextBox ✓
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 -> Satınalma 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, Quantity=1, PurchaseResponsibleUserId=@USERID
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