sozsoft-platform/configs/seeds/docs/modules/App.Prc.md
2026-10-10 23:11:12 +03:00

31 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.

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 düşer. Onaylanan talep Tüm Talepler listesinde satınalma ekibinin işine düşer; teklif toplama süreci buradan 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. 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 App.Prc.MaterialRequestPurchaseApproval.Update yetkisi doğrudan ya da rolüyle verilmiş aktif kullanıcılardır (satınalma ekibinin rolüne bu yetki verilir). 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 — yoksa yeni kayıt akışı kendiliğinden başlatır ve satır girilemez).
  • 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.
  • İş akışı kolonları tablo tasarımcısının Workflow şablonundaki dörtlüdür: ApprovalUserName nvarchar(256) (onaycı kullanıcı adları), ApprovalStatus nvarchar(50) (bulunulan düğümün başlığı), ApprovalDate datetime, ApprovalDescription nvarchar(200); dört ekranın WorkflowDto'su bunlara bağlıdır. Departman ve satınalma kararları ayrı kolonda tutulmaz; her karar (karar veren, açıklama, red nedeni) iş akışı notlarına yazılır.
  • Onay ve red bilgileri popup düzenleme formunda yer almaz (iş akışı yazar); listede kolon olarak görünür.
  • Red nedeni ayrı kolonda tutulmaz: onay düğümleri red sırasında Red Nedenleri listesinden (Prc_T_RejectReason, zorunlu) seçim ister; seçilen neden ve not ApprovalDescription'a ve iş akışı notuna yazılır.
  • 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.
  • Talebin durumu yalnız iş akışından gelir: ApprovalStatus boş (taslak) › Departman Onayı › Satınalma Onayı › Onaylandı ya da Reddedildi. Ayrı Status kolonu yoktur; karşılama satır durumundan (Bekliyor / Tamamlandı / İptal) izlenir.
  • Planlama aşaması kaldırıldı (Planlama Bekleyenler listesi, satırdaki Planlandı durumu ve Planlanacak Miktar).

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
Tüm Talepler App.Prc.MaterialRequest filtresiz, kalem kalem; ekle/sil kapalı, yalnız kalemin sorumlusu ve durumu düzenlenir, akış yok

Talep Satırları (App.Prc.MaterialRequestLine) menüsüz alt formdur; Taleplerim ve iki onay listesinde sekmedir (Tüm Talepler kalemleri kolon olarak gösterir). 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, ApprovalUserName, ApprovalStatus, ApprovalDate, ApprovalDescription (iş akışı), DeptApproverUserNames / PurchaseApproverUserNames (| ayrılmış kullanıcı adları).
  • Prc_T_MaterialRequestItem: MaterialRequestId (FK, cascade), ProductId, Quantity, UomId (nvarchar, Adm_T_Uom), FulfillmentMethod (Purchase / Transfer), DueDate, RequestReason, DeliveredQuantity, PurchaseResponsibleUserId, LineStatus (Waiting / Done / Cancelled).
  • Prc_T_RejectReason: Name, SortOrder, IsActive.
  • Görünüm Prc_V_MaterialRequestLine: talep başlığı LEFT JOIN silinmemiş kalemler; Id kalemin Id'si (kalemi olmayan talepte talebin Id'si), MaterialRequestId talep. Tüm Talepler'in kaynağıdır.
  • Prosedür Prc_P_MaterialRequestAfterSave(@Id).

5. İş kuralları ve hesaplar

  • Prc_P_MaterialRequestAfterSave talep kaydı/güncellemesi sonrasında çalışır ve onaycı kullanıcı listelerini (DeptApproverUserNames, PurchaseApproverUserNames) Onaycılar'dan yeniden yazar. Onaycılar sonradan değişirse talep yeniden kaydedilene kadar liste eski kalır. İki liste formda ve listede gizlidir; iş akışı onaycıyı bu alanlardan okur (@DeptApproverUserNames, @PurchaseApproverUserNames).
  • 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.
  • Tüm Talepler'de düzenleme UpdateCommand ile yalnız Prc_T_MaterialRequestItem'ın PurchaseResponsibleUserId ve LineStatus kolonlarını yazar; başlık alanları salt okunurdur. Kartlar kalemi değil talebi sayar (tablodan okur).
  • Onaycı listesi boşsa akış o adımda hata verir: Onaycılar'a ilgili departman için Satınalma satırı tanımlanmalı ve en az bir kullanıcıya (ya da rolüne) Satınalma Onayı Bekleyenler güncelleme yetkisi verilmelidir.

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 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 yeri Satınalma); Yönetim › Roller (Satınalma Onayı Bekleyenler yetkisi); 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 tanımlıdır; Mehmet'in rolünde Satınalma Onayı Bekleyenler güncelleme yetkisi vardı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.
  5. Satınalma Tüm Talepler'de satıra sorumluyu atar ve satırı Tamamlandı yapar.

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 (doğrudan ya da rolüyle) 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.
  • 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? Reddet düğmesinin açtığı karar penceresinde, Satınalma › Tanımlamalar › Red Nedenleri listesinden; neden ve not Onay Açıklaması kolonunda görünür.

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.
  • Görünüm: sql/object/Prc_V_MaterialRequestLine.sql (+ postgres).
  • Prosedür: sql/object/Prc_P_MaterialRequestAfterSave.sql (+ postgres).
  • Wizard'lar: Prc_MaterialRequestLine.json, Prc_MyMaterialRequest.json, Prc_MaterialRequestDeptApproval.json, Prc_MaterialRequestPurchaseApproval.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 -> 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=MaterialRequest1, RequesterUserId=@USERID, DepartmentId=, RequestDate=@NOW, 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 · 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 ✓ ✓
Description Genel Açıklama dxTextBox ✓
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 — 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
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
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 ✓ ✓
Description Genel Açıklama dxTextArea ✓
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 — 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
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
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 ✓ ✓
Description Genel Açıklama dxTextArea ✓
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

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, kalem kalem; satınalma yönetiminin listesi.
Geliştirme talebi Satınalma -> Malzeme Talepleri
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 App.Prc.MaterialRequest.Status.DeptApproval, App.Prc.MaterialRequest.Status.PurchaseApproval, App.Prc.MaterialRequest.Status.Approved, App.Prc.MaterialRequest.Status.Rejected
Alan Başlık Editör Zorunlu Formda Kaynak
RequestNo Talep No dxTextBox
Priority Öncelik (0-3) dxRating ✓
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 (← WarehouseId)
RequestDate Talep Tarihi dxDateBox ✓
Description Genel Açıklama dxTextBox
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: Inv_T_Product
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 dxTextArea
DeliveredQuantity Teslim dxNumberBox
PurchaseResponsibleUserId Satınalma Sorumlusu dxSelectBox ✓ sorgu: AbpUsers
LineStatus Satır Durumu dxSelectBox ✓ ✓ liste: Waiting, Done, Cancelled

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 · DeleteBefore: SQL
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 dxTextArea ✓ ✓
DeliveredQuantity Teslim dxNumberBox ✓
PurchaseResponsibleUserId Satınalma Sorumlusu dxSelectBox ✓ sorgu: AbpUsers
LineStatus Satır Durumu dxSelectBox ✓ ✓ liste: Waiting, Done, Cancelled