792 lines
53 KiB
Markdown
792 lines
53 KiB
Markdown
# 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.
|
||
|
||
<!-- module-doc:section App.Prc.Definitions -->
|
||
## 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](<App.Administration.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*`, `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.
|
||
|
||
<!-- 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 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.
|
||
|
||
<!-- module-doc:section App.Prc.Orders -->
|
||
## Siparişler (`App.Prc.Orders`)
|
||
|
||
### 1. Amaç ve kapsam
|
||
|
||
Satınalma ekibinin onaylanmış malzeme taleplerinden tedarikçilere teklif talebi (RFQ) açması, gelen teklifi işlemesi, teklifi satınalma siparişine çevirmesi ve tedarikçiyle çerçeve sözleşme (kapsamlı sipariş / ihale) yönetmesi. Kullanıcılar satınalma personeli ve alıcılardır. Mal kabul (makbuz), tedarikçi faturası, alınan/faturalanan miktar takibi ve analitik dağılım kapsam dışıdır.
|
||
|
||
### 2. Analiz ve kararlar
|
||
|
||
- Teklif talebi ve satınalma siparişi tek belgedir (`Prc_T_PurchaseOrder`); numara aşamalar boyunca korunur. Durum: Draft (Teklif Talebi) › Sent (Gönderildi) › Purchase (Satınalma Siparişi) / Cancelled.
|
||
- Numaratörler: `PurchaseOrder1` (P00001), `PurchaseAgreement1` (BO00001).
|
||
- Firma kolonu açılmadı (kiracı kapsamı). Bakım Talebi, Mali Durum, Analitik Dağılım, Alınan/Kalan/Faturalanan, Faturalama Durumu ve Fatura Yükle kullanıcı kararıyla kapsam dışı.
|
||
- Vergi kalemde tek oran (%); ürünün `PurchaseTaxRate`'inden gelir.
|
||
- Platformda buton yordam çağıramadığı için durum işlemleri formdaki **İşlem** alanıyla (`PendingAction`) yapılır; kayıtta çalışır ve alan temizlenir. "Talepten Aktar" da formdaki Malzeme Talebi alanı + kaydet ile çalışır.
|
||
- Gönderim: tedarikçinin kontak e-postasına platform bildirim kuyruğu (`Adm_T_Notification`, kanal Mail) üzerinden; kalemler e-posta gövdesinde tablo olarak gider (kuyruk ek dosya taşımaz).
|
||
- Talep ilişkisi kalem düzeyinde (`MaterialRequestItemId`); aktarım kopyalamadır, talep değişmez; iptal olmayan başka belgede yer alan kalem tekrar aktarılmaz.
|
||
- Sözleşme seçilen boş teklif, sözleşmenin kalan (sipariş edilmemiş) miktarlarıyla dolar.
|
||
- Widget'lar: OTD % tüm zamanlar üzerinden; "Sipariş Verilecek Günler" kartı üretilmedi (iki sağlayıcıda ortak tarih farkı yok). Demo veri girilmedi.
|
||
|
||
### 3. Menü ve ekranlar
|
||
|
||
Satınalma (`App.Prc`) › Siparişler (`App.Prc.Orders`):
|
||
|
||
| Ekran | Kod | Not |
|
||
| --- | --- | --- |
|
||
| Sözleşmeler | `App.Prc.PurchaseAgreement` | sekme: Ürünler; satırda Yeni Teklif (Teklif Talepleri'ni açar) |
|
||
| Teklif Talepleri | `App.Prc.PurchaseRfq` | tüm durumlar; sekmeler Ürünler, Tedarikçi Teklifi, Diğer Bilgiler, Teklifler |
|
||
| Satınalma Siparişleri | `App.Prc.PurchaseOrder` | Status = Purchase; ekle/sil kapalı; sekmeler Ürünler, Diğer Bilgiler, Teklifler |
|
||
|
||
Menüsüz alt formlar: `App.Prc.PurchaseAgreementLine`, `App.Prc.PurchaseOrderLine`, `App.Prc.PurchaseOrderQuote`, `App.Prc.PurchaseOrderOther`, `App.Prc.PurchaseOrderAlternative`.
|
||
|
||
### 4. Veri modeli
|
||
|
||
Tüm tablolar kiracı + tam audit + soft delete.
|
||
|
||
- `Prc_T_PurchaseAgreement`: AgreementNo, SupplierId, BuyerUserId, AgreementType (Blanket/Tender), CurrencyId, StartDate, EndDate, Reference, OperationTypeId, Terms, Status (Draft/Confirmed/Closed/Cancelled).
|
||
- `Prc_T_PurchaseAgreementLine`: AgreementId (FK cascade), ProductId, Description, Quantity, UomId, UnitPrice.
|
||
- `Prc_T_PurchaseOrder`: OrderNo, SupplierId, SupplierReference, AgreementId, MaterialRequestId (aktarım seçimi, kayıttan sonra boşalır), CurrencyId, OrderDeadline, ExpectedArrival, RequireConfirmation, OperationTypeId, ConfirmDate, ArrivalDate, SupplierResponse, QuoteDate, QuotedByUserId, QuoteValidUntil, BuyerUserId, SourceDocument, ProjectId, IncotermId, IncotermLocation, PaymentTermId, Terms, UntaxedAmount, TaxAmount, TotalAmount, Status, PendingAction, LastSentDate.
|
||
- `Prc_T_PurchaseOrderLine`: PurchaseOrderId (FK cascade), ProductId, Description, Quantity, UomId, UnitPrice, TaxRate, Amount, MaterialRequestItemId.
|
||
- Görünümler: `Prc_V_PurchaseAgreementLine` (OrderedQuantity), `Prc_V_PurchaseOrderAlternative` (Teklifler sekmesi), `Prc_V_MaterialRequestImportable` (aktarılabilir talepler).
|
||
- Yordamlar: `Prc_P_PurchaseOrderAfterSave`, `Prc_P_PurchaseOrderRecalc`, `Prc_P_PurchaseOrderImportRequest`, `Prc_P_PurchaseRfqFromAgreement`, `Prc_P_PurchaseOrderSetStatus`, `Prc_P_PurchaseOrderSend`.
|
||
|
||
### 5. İş kuralları ve hesaplar
|
||
|
||
- Kayıt sonrası `Prc_P_PurchaseOrderAfterSave`: boş ödeme/teslimat koşulu ve Incoterm konumu tedarikçinin Satınalma sekmesinden dolar (alıcı yalnız ilk kayıtta); sözleşme seçili ve kalem yoksa sözleşme kalemleri; Malzeme Talebi seçiliyse aktarım; tutarlar; İşlem.
|
||
- Tutar = Miktar × Birim Fiyat; KDV = Σ(Tutar × Oran/100); Toplam = Vergi Hariç + KDV. Kalem her eklenip/değişip/silindiğinde yeniden hesaplanır. Kaynak, kalemlerin talep numaralarıdır.
|
||
- Aktarım: talep Onaylandı; kalem Karşılama = Satınalma, Durum = Bekliyor; başka iptal olmayan belgede olmayan kalemler. Fiyat: sözleşme kalemi › tedarikçi fiyatı (`Inv_T_ProductSupplier`) › 0. Aktarılacak kalem yoksa hata.
|
||
- İşlemler: Gönder (iptal dışında; kalem ve tedarikçi e-postası şart; Draft ise Sent olur, LastSentDate yazılır) · Siparişi Onayla (Draft/Sent → Purchase, ConfirmDate) · İptal · Taslak olarak ayarla (yalnız Cancelled → Draft).
|
||
- İptal edilmiş belge değiştirilemez (Taslak işlemi hariç), kalem eklenemez/silinemez. Gönderilmiş teklif ve sipariş silinemez.
|
||
- Tedarikçi Teklifi'nde yanıt Bekleniyor dışına alınınca boş teklif tarihi ve teklifi veren dolar.
|
||
- Sözleşmede bitiş tarihi başlangıçtan önce olamaz.
|
||
|
||
### 6. Yetki ve görünürlük
|
||
|
||
Yetki ağacı: `App.Prc` › `App.Prc.Orders` › her liste (+ Create/Update/Delete/Export/Import/Note). Alt formların yetkisi taşıyan listenin altındadır; ortak sekmeler (Ürünler, Diğer Bilgiler, Teklifler) Teklif Talepleri'nin altına bağlandı — Satınalma Siparişleri kullanıcılarına bu sekme yetkileri de verilmelidir. Kiracı kapsamlı, şube filtresi yok.
|
||
|
||
### 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); Satınalma › Tanımlamalar (Ödeme Koşulları, Teslimat Koşulları); Proje modülü (Proje); Malzeme Talepleri (aktarım); Bildirimler (`Prc.RfqSent`, `Prc.PurchaseOrderSent`; NotificationWorker kuyruğu gönderir); Diziler.
|
||
|
||
### 8. Akış örneği
|
||
|
||
1. Ali'nin SRO00015 talebi onaylanır (2 satınalma kalemi).
|
||
2. Satınalma Teklif Talepleri'nde yeni kayıt açar, tedarikçi "3K Kutu" seçer (para birimi ve koşullar dolar), Talepten Aktar'da SRO00015'i seçip kaydeder; iki kalem fiyatlarıyla gelir, Kaynak = SRO00015.
|
||
3. İşlem = E-posta ile Gönder, kaydet: tedarikçiye e-posta kuyruğa alınır, durum Gönderildi.
|
||
4. Tedarikçi Teklifi sekmesinde yanıt = Teklif Verildi; fiyatlar Ürünler sekmesinde güncellenir.
|
||
5. İşlem = Siparişi Onayla: belge Satınalma Siparişleri'ne düşer; gerekirse İşlem = E-posta ile Gönder ile PO gönderilir. Mal gelince Varış girilir.
|
||
|
||
### 9. Sık sorulanlar
|
||
|
||
- **Butonlar nerede?** Durum işlemleri formdaki İşlem alanındadır; seçip kaydedin.
|
||
- **Talep listede çıkmıyor?** Talep onaylanmış olmalı ve aktarılabilir (Satınalma, Bekliyor, başka belgede olmayan) kalemi bulunmalı.
|
||
- **E-posta gitmedi?** Tedarikçinin kontak e-postasını ve Bildirimler ekranındaki satırı (IsSent) kontrol edin; NotificationWorker aktif olmalı.
|
||
- **Sözleşme seçince kalem gelmedi?** Yalnız kalemi olmayan belgeye ve kalan miktarı olan sözleşme kalemleri gelir.
|
||
|
||
### 10. Dosyalar ve geri alma
|
||
|
||
- Tablolar: `sql/object/Prc_T_PurchaseAgreement.sql`, `Prc_T_PurchaseAgreementLine.sql`, `Prc_T_PurchaseOrder.sql`, `Prc_T_PurchaseOrderLine.sql` (+ postgres).
|
||
- Görünüm/yordam: `Prc_V_PurchaseAgreementLine`, `Prc_V_PurchaseOrderAlternative`, `Prc_V_MaterialRequestImportable`, `Prc_P_PurchaseOrder{AfterSave,Recalc,ImportRequest,SetStatus,Send}`, `Prc_P_PurchaseRfqFromAgreement` (sql + postgres object).
|
||
- Wizard'lar: `Prc_PurchaseAgreementLine.json`, `Prc_PurchaseAgreement.json`, `Prc_PurchaseOrderLine.json`, `Prc_PurchaseOrderQuote.json`, `Prc_PurchaseOrderOther.json`, `Prc_PurchaseOrderAlternative.json`, `Prc_PurchaseRfq.json`, `Prc_PurchaseOrder.json`.
|
||
- Veri: Diziler `PurchaseOrder1`, `PurchaseAgreement1`; Bildirim Türleri `Prc.RfqSent`, `Prc.PurchaseOrderSent`.
|
||
- 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 (`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 |
|
||
|
||
### Siparişler (`App.Prc.Orders`)
|
||
|
||
#### Sözleşmeler — `App.Prc.PurchaseAgreement`
|
||
|
||
| Özellik | Değer |
|
||
| --- | --- |
|
||
| Wizard | `wizard/Prc_PurchaseAgreement.json` |
|
||
| Yol | Liste (Wizard) |
|
||
| Menü | `App.Prc.Orders` › `App.Prc.PurchaseAgreement` (sıra 1) |
|
||
| Yetki | `App.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 | `App.Prc.PurchaseAgreementLine` (Id → AgreementId) |
|
||
| Widget'lar | `App.Prc.AgreementStatus.Draft`, `App.Prc.AgreementStatus.Confirmed`, `App.Prc.AgreementStatus.Closed`, `App.Prc.AgreementStatus.Cancelled` |
|
||
| Komutlar | UpdateBefore: SQL |
|
||
| Form varsayılanları | AgreementNo=PurchaseAgreement1, BuyerUserId=@USERID, CurrencyId=TRY, StartDate=@NOW, Status=Draft |
|
||
|
||
| Alan | Başlık | Editör | Zorunlu | Formda | Kaynak |
|
||
| --- | --- | --- | --- | --- | --- |
|
||
| `AgreementNo` | Sözleşme | dxTextBox | ✓ | ✓ | |
|
||
| `SupplierId` | Tedarikçi | dxSelectBox | ✓ | ✓ | sorgu: Adm_T_Contact |
|
||
| `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 | | ✓ | |
|
||
| `Reference` | Referans | dxTextBox | | ✓ | |
|
||
| `OperationTypeId` | Operasyon Türü | dxSelectBox | | ✓ | sorgu: Inv_T_OperationType |
|
||
| `Status` | Durumu | dxSelectBox | ✓ | ✓ | liste: Draft, Confirmed, Closed, Cancelled |
|
||
| `Terms` | Şartlar ve Koşullar | dxHtmlEditor | | ✓ | |
|
||
|
||
#### Teklif Talepleri — `App.Prc.PurchaseRfq`
|
||
|
||
| Özellik | Değer |
|
||
| --- | --- |
|
||
| Wizard | `wizard/Prc_PurchaseRfq.json` |
|
||
| Yol | Liste (Wizard) |
|
||
| Menü | `App.Prc.Orders` › `App.Prc.PurchaseRfq` (sıra 2) |
|
||
| Yetki | `App.Prc.PurchaseRfq` + `.Create`, `.Update`, `.Delete`, `.Export`, `.Import`, `.Note` |
|
||
| Açıklama | Teklif Talepleri — her durumdaki satınalma belgeleri: Teklif Talebi, Teklif Talebi Gönderildi, Satınalma Siparişi ve İptal Edildi. |
|
||
| 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 | `App.Prc.PurchaseOrderLine` (Id → PurchaseOrderId), `App.Prc.PurchaseOrderQuote` (Id → Id), `App.Prc.PurchaseOrderOther` (Id → Id), `App.Prc.PurchaseOrderAlternative` (Id → BaseOrderId) |
|
||
| Widget'lar | `App.Prc.OrderStatus.Draft`, `App.Prc.OrderStatus.Sent`, `App.Prc.PurchaseOrder.Widget.LateRfq`, `App.Prc.PurchaseOrder.Widget.NotAcknowledged`, `App.Prc.PurchaseOrder.Widget.LateReceipt`, `App.Prc.PurchaseOrder.Widget.Otd` |
|
||
| Komutlar | InsertAfter: `Prc_P_PurchaseOrderAfterSave` · UpdateBefore: SQL · UpdateAfter: `Prc_P_PurchaseOrderAfterSave` · DeleteBefore: SQL |
|
||
| Form varsayılanları | OrderNo=PurchaseOrder1, BuyerUserId=@USERID, CurrencyId=TRY, RequireConfirmation=false, Status=Draft |
|
||
|
||
| Alan | Başlık | Editör | Zorunlu | Formda | Kaynak |
|
||
| --- | --- | --- | --- | --- | --- |
|
||
| `OrderNo` | Referans | dxTextBox | ✓ | ✓ | |
|
||
| `Status` | Durumu | dxSelectBox | ✓ | ✓ | liste: Draft, Sent, Purchase, Cancelled |
|
||
| `SupplierId` | Tedarikçi | dxSelectBox | ✓ | ✓ | sorgu: Adm_T_Contact · script |
|
||
| `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) |
|
||
| `RequireConfirmation` | Onay İsteyin | dxCheckBox | | ✓ | |
|
||
| `CurrencyId` | Para Birimi | dxSelectBox | ✓ | ✓ | sorgu: Sas_H_Currency |
|
||
| `OperationTypeId` | Teslim Alacak | dxSelectBox | | ✓ | sorgu: Inv_T_OperationType |
|
||
| `MaterialRequestId` | Talepten Aktar | dxSelectBox | | ✓ | sorgu: Prc_V_MaterialRequestImportable |
|
||
| `PendingAction` | İşlem | dxSelectBox | | ✓ | liste: Send, Confirm, Cancel, Draft |
|
||
| `SupplierResponse` | Tedarikçi Yanıtı | dxSelectBox | | | liste: Waiting, Quoted, NotQuoted |
|
||
| `BuyerUserId` | Alıcı | dxSelectBox | | | sorgu: AbpUsers |
|
||
| `SourceDocument` | Kaynak | dxTextBox | | | |
|
||
| `UntaxedAmount` | Vergi Hariç Tutar | dxNumberBox | | ✓ | |
|
||
| `TaxAmount` | KDV | dxNumberBox | | ✓ | |
|
||
| `TotalAmount` | Toplam | dxNumberBox | | ✓ | |
|
||
| `LastSentDate` | Son Gönderim | dxDateBox | | | |
|
||
| `Terms` | Şart ve Koşullar | dxTextArea | | ✓ | |
|
||
|
||
#### Satınalma Siparişleri — `App.Prc.PurchaseOrder`
|
||
|
||
| Özellik | Değer |
|
||
| --- | --- |
|
||
| Wizard | `wizard/Prc_PurchaseOrder.json` |
|
||
| Yol | Liste (Wizard) |
|
||
| Menü | `App.Prc.Orders` › `App.Prc.PurchaseOrder` (sıra 3) |
|
||
| Yetki | `App.Prc.PurchaseOrder` + `.Create`, `.Update`, `.Delete`, `.Export`, `.Import`, `.Note` |
|
||
| Açıklama | Satınalma Siparişleri — siparişe çevrilmiş teklif talepleri. |
|
||
| Geliştirme talebi | Satınalma -> Siparişler |
|
||
| Kaynak | `Prc_T_PurchaseOrder` · filtre `"IsDeleted" = 'false' AND "Status" = 'Purchase'` |
|
||
| Görünümler | Grid, Card, Pivot, Chart (açılış grid) |
|
||
| Düzenleme | ekle ✗ · düzenle ✓ · sil ✗ · popup |
|
||
| Kapsam | Kiracı |
|
||
| Alt formlar | `App.Prc.PurchaseOrderLine` (Id → PurchaseOrderId), `App.Prc.PurchaseOrderOther` (Id → Id), `App.Prc.PurchaseOrderAlternative` (Id → BaseOrderId) |
|
||
| Widget'lar | `App.Prc.PurchaseOrder.Widget.LateReceipt`, `App.Prc.PurchaseOrder.Widget.AwaitingArrival`, `App.Widget.TotalRevenue` |
|
||
| Komutlar | UpdateAfter: `Prc_P_PurchaseOrderAfterSave` |
|
||
| Form varsayılanları | CurrencyId=TRY, Status=Draft, UntaxedAmount=0, TaxAmount=0, TotalAmount=0 |
|
||
|
||
| Alan | Başlık | Editör | Zorunlu | Formda | Kaynak |
|
||
| --- | --- | --- | --- | --- | --- |
|
||
| `OrderNo` | Referans | dxTextBox | ✓ | ✓ | |
|
||
| `SupplierId` | Tedarikçi | dxSelectBox | ✓ | ✓ | sorgu: Adm_T_Contact |
|
||
| `ConfirmDate` | Onaylama Tarihi | dxDateBox | | ✓ | |
|
||
| `ExpectedArrival` | Beklenen Geliş | dxDateBox | | ✓ | |
|
||
| `SupplierReference` | Tedarikçi Referansı | dxTextBox | | ✓ | |
|
||
| `ArrivalDate` | Varış | dxDateBox | | ✓ | |
|
||
| `AgreementId` | Sözleşme | dxSelectBox | | ✓ | sorgu: Prc_T_PurchaseAgreement |
|
||
| `OperationTypeId` | Teslim Alacak | dxSelectBox | | ✓ | sorgu: Inv_T_OperationType |
|
||
| `CurrencyId` | Para Birimi | dxTextBox | ✓ | ✓ | |
|
||
| `MaterialRequestId` | Talepten Aktar | dxSelectBox | | ✓ | sorgu: Prc_V_MaterialRequestImportable |
|
||
| `PendingAction` | İşlem | dxSelectBox | | ✓ | liste: Send, Cancel |
|
||
| `Status` | Durumu | dxSelectBox | | | liste: Draft, Sent, Purchase, Cancelled |
|
||
| `BuyerUserId` | Alıcı | dxSelectBox | | | sorgu: AbpUsers |
|
||
| `SourceDocument` | Kaynak | dxTextBox | | | |
|
||
| `UntaxedAmount` | Vergi Hariç Tutar | dxNumberBox | | ✓ | |
|
||
| `TaxAmount` | KDV | dxNumberBox | | ✓ | |
|
||
| `TotalAmount` | Toplam | dxNumberBox | | ✓ | |
|
||
| `LastSentDate` | Son Gönderim | dxDateBox | | | |
|
||
| `Terms` | Şart ve Koşullar | dxTextArea | | ✓ | |
|
||
|
||
#### Sözleşme Kalemleri — `App.Prc.PurchaseAgreementLine`
|
||
|
||
| Özellik | Değer |
|
||
| --- | --- |
|
||
| Wizard | `wizard/Prc_PurchaseAgreementLine.json` |
|
||
| Yol | Liste (Wizard) |
|
||
| Menü | Menüsüz (alt form) |
|
||
| Yetki | `App.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: Inv_T_Product · script |
|
||
| `Quantity` | Miktar | dxNumberBox | ✓ | ✓ | |
|
||
| `UomId` | Birim | dxSelectBox | ✓ | ✓ | sorgu: Adm_T_Uom |
|
||
| `UnitPrice` | Birim Fiyat | dxNumberBox | ✓ | ✓ | |
|
||
| `Description` | Açıklama | dxTextArea | | ✓ | |
|
||
|
||
#### Sipariş Kalemleri — `App.Prc.PurchaseOrderLine`
|
||
|
||
| Özellik | Değer |
|
||
| --- | --- |
|
||
| Wizard | `wizard/Prc_PurchaseOrderLine.json` |
|
||
| Yol | Liste (Wizard) |
|
||
| Menü | Menüsüz (alt form) |
|
||
| Yetki | `App.Prc.PurchaseOrderLine` + `.Create`, `.Update`, `.Delete`, `.Export`, `.Import`, `.Note` |
|
||
| Açıklama | Sipariş Kalemleri — teklif talebinin ya da 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: Inv_T_Product · script |
|
||
| `Description` | Açıklama | dxTextBox | | ✓ | |
|
||
| `Quantity` | Miktar | dxNumberBox | ✓ | ✓ | |
|
||
| `UomId` | Birim | dxSelectBox | ✓ | ✓ | sorgu: Adm_T_Uom |
|
||
| `UnitPrice` | Birim Fiyat | dxNumberBox | ✓ | ✓ | |
|
||
| `TaxRate` | Vergiler (%) | dxNumberBox | ✓ | ✓ | |
|
||
| `Amount` | Tutar | dxNumberBox | | ✓ | script |
|
||
| `MaterialRequestItemId` | Talep | dxSelectBox | | ✓ | sorgu: Prc_T_MaterialRequestItem |
|
||
|
||
#### Tedarikçi Teklifi — `App.Prc.PurchaseOrderQuote`
|
||
|
||
| Özellik | Değer |
|
||
| --- | --- |
|
||
| Wizard | `wizard/Prc_PurchaseOrderQuote.json` |
|
||
| Yol | Liste (Wizard) |
|
||
| Menü | Menüsüz (alt form) |
|
||
| Yetki | `App.Prc.PurchaseOrderQuote` + `.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_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 | UpdateAfter: SQL |
|
||
| Form varsayılanları | SupplierResponse=Waiting |
|
||
|
||
| Alan | Başlık | Editör | Zorunlu | Formda | Kaynak |
|
||
| --- | --- | --- | --- | --- | --- |
|
||
| `SupplierResponse` | Tedarikçi Yanıtı | dxSelectBox | ✓ | ✓ | liste: Waiting, Quoted, NotQuoted |
|
||
| `QuoteValidUntil` | Teklif Geçerliliği | dxDateBox | | ✓ | |
|
||
| `QuoteDate` | Teklif Tarihi | dxDateBox | | ✓ | |
|
||
| `QuotedByUserId` | Teklifi Veren | dxSelectBox | | ✓ | sorgu: AbpUsers |
|
||
|
||
#### Diğer Bilgiler — `App.Prc.PurchaseOrderOther`
|
||
|
||
| Özellik | Değer |
|
||
| --- | --- |
|
||
| Wizard | `wizard/Prc_PurchaseOrderOther.json` |
|
||
| Yol | Liste (Wizard) |
|
||
| Menü | Menüsüz (alt form) |
|
||
| Yetki | `App.Prc.PurchaseOrderOther` + `.Create`, `.Update`, `.Delete`, `.Export`, `.Import`, `.Note` |
|
||
| Açıklama | Diğer Bilgiler — teklif talebinin ya da satınalma siparişinin alıcı, kaynak, 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ı |
|
||
|
||
| Alan | Başlık | Editör | Zorunlu | Formda | Kaynak |
|
||
| --- | --- | --- | --- | --- | --- |
|
||
| `BuyerUserId` | Alıcı | dxSelectBox | ✓ | ✓ | sorgu: AbpUsers |
|
||
| `PaymentTermId` | Ödeme Koşulları | dxSelectBox | | ✓ | sorgu: Prc_T_PaymentTerm |
|
||
| `SourceDocument` | Kaynak | dxTextBox | | ✓ | |
|
||
| `ProjectId` | Proje | dxSelectBox | | ✓ | sorgu: Prj_T_Project |
|
||
| `IncotermId` | Teslimat Koşulu | dxSelectBox | | ✓ | sorgu: Prc_T_Incoterm |
|
||
| `IncotermLocation` | Incoterm Konumu | dxTextBox | | ✓ | |
|
||
|
||
#### Teklifler — `App.Prc.PurchaseOrderAlternative`
|
||
|
||
| Özellik | Değer |
|
||
| --- | --- |
|
||
| Wizard | `wizard/Prc_PurchaseOrderAlternative.json` |
|
||
| Yol | Liste (Wizard) |
|
||
| Menü | Menüsüz (alt form) |
|
||
| Yetki | `App.Prc.PurchaseOrderAlternative` + `.Create`, `.Update`, `.Delete`, `.Export`, `.Import`, `.Note` |
|
||
| Açıklama | Teklifler — açık belgeyle aynı malzeme talebinin kalemlerini taşıyan diğer teklif talepleri ve siparişler. |
|
||
| Geliştirme talebi | Satınalma -> Siparişler |
|
||
| Kaynak | `Prc_V_PurchaseOrderAlternative` |
|
||
| 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 |
|
||
| --- | --- | --- | --- | --- | --- |
|
||
| `BaseOrderId` | Ana Belge | dxTextBox | | | |
|
||
| `OrderNo` | Referans | dxTextBox | | | |
|
||
| `SupplierId` | Tedarikçi | dxSelectBox | | | sorgu: Adm_T_Contact |
|
||
| `SupplierResponse` | Tedarikçi Yanıtı | dxSelectBox | | | liste: Waiting, Quoted, NotQuoted |
|
||
| `OrderDeadline` | Sipariş Zaman Sınırı | dxDateBox | | | |
|
||
| `ExpectedArrival` | Beklenen Geliş | dxDateBox | | | |
|
||
| `TotalAmount` | Toplam | dxNumberBox | | | |
|
||
| `CurrencyId` | Para Birimi | dxTextBox | | | |
|
||
| `Status` | Durumu | dxSelectBox | | | liste: Draft, Sent, Purchase, Cancelled |
|
||
|
||
<!-- module-doc:auto:end -->
|