{ "ListFormCode": "App.DevRequests", "KeyFieldName": "Id", "GeneratedAt": "2026-10-10T22:03:01.2416337Z", "Order": 0, "Rows": [ { "Id": "4784f377-808b-424b-a7e5-13afd94034a3", "TenantId": null, "UserName": "system@sozsoft.com", "RequestDate": null, "Status": "Staging", "Title": "Satınalma -> Siparişler", "Description": "
Alım Teklif Listesi :
Alım Teklif Detayı:
Sözleşme Listesi :
Sözleşme Detayı:
Satınalma Sipariş Listesi:
Satınalma Sipariş Detayı:
Satınalma ekibinin onaylanmış malzeme taleplerinden tedarikçilere teklif talebi (RFQ) açması, gelen teklifleri işlemesi, teklifi satınalma siparişine çevirmesi ve tedarikçiyle çerçeve sözleşme (kapsamlı sipariş) yönetmesi. Kullanıcılar satınalma personeli ve alıcılardır.
\n\nWizard List ekranları + menüsüz alt formlar + SQL nesneleri (görünüm, saklı yordam) + Custom Endpoint komut butonları + DynamicReport şablonu + bildirim türü. Teklif talebi ve satınalma siparişi tek belgedir (aynı tablo, Status ile ayrılır); Teklif Talepleri tüm durumları, Satınalma Siparişleri yalnız siparişe dönmüşleri gösterir. Tümü çerçeve içidir.
Satınalma › Siparişler › {Sözleşmeler, Teklif Talepleri, Satınalma Siparişleri}
\n| Seviye | Kod | Ad (TR / EN) | İkon | Durum |
|---|---|---|---|---|
| Kök | App.Prc | Satınalma / Purchasing | — | Var |
| Ara | App.Prc.Orders | Siparişler / Orders | FcShop | Yeni |
| Ekran | App.Prc.PurchaseAgreement | Sözleşmeler / Purchase Agreements | FcRules | Yeni |
| Ekran | App.Prc.PurchaseRfq | Teklif Talepleri / Requests for Quotation | FcDocument | Yeni |
| Ekran | App.Prc.PurchaseOrder | Satınalma Siparişleri / Purchase Orders | FcPaid | Yeni |
ModuleId Prc, izin grubu App.Prc, route /admin/list/{ListFormCode}. Sözleşmeler sipariş başlığının lookup kaynağı olduğu için üstte durur.
Yetki: App.Prc (Var) › App.Prc.Orders (Yeni) › {PurchaseAgreement, PurchaseRfq, PurchaseOrder}; alt formlar taşındıkları listenin altında.
\n\nTüm tablolar kiracı + tam audit + soft delete. Var olan kaynaklar: Adm_T_Contact (tedarikçi, e-posta, Satınalma sekmesi varsayılanları), Inv_T_Product (PurchaseTaxRate, PurchaseDescription, satınalma birimi), Inv_T_ProductSupplier, Adm_T_Uom, Sas_H_Currency, Inv_T_OperationType (Tür = Alım), Prc_T_PaymentTerm, Prc_T_Incoterm, Prj_T_Project, Prc_T_MaterialRequest / Prc_T_MaterialRequestItem, AbpUsers.
Prc_T_PurchaseAgreement — Tanım tablosu: Hayır (belge).
\n| Kolon | Tip | Zorunlu | Not |
|---|---|---|---|
| AgreementNo | nvarchar(32) | ✓ | Numaratör PurchaseAgreement, BO00001 |
| SupplierId | uniqueidentifier | ✓ | Adm_T_Contact |
| BuyerUserId | uniqueidentifier | ✓ | AbpUsers, varsayılan @USERID |
| AgreementType | nvarchar(16) | ✓ | Blanket (Kapsamlı Sipariş) / Tender (İhale); varsayılan Blanket |
| CurrencyId | nvarchar(8) | ✓ | Sas_H_Currency, varsayılan TRY |
| StartDate, EndDate | date | Geçerlilik | |
| Reference | nvarchar(64) | ||
| OperationTypeId | uniqueidentifier | Inv_T_OperationType (Alım) | |
| Terms | nvarchar(MAX) | dxHtmlEditor | |
| Status | nvarchar(16) | ✓ | Draft / Confirmed / Closed / Cancelled; varsayılan Draft |
Prc_T_PurchaseAgreementLine — Tanım tablosu: Hayır. AgreementId (FK, cascade, ✓), ProductId ✓, Description nvarchar(512), Quantity decimal(18,4) ✓, UomId nvarchar ✓, UnitPrice decimal(18,4) ✓. Sipariş Edildi görünümde (Prc_V_PurchaseAgreementLine) Satınalma Siparişi durumundaki kalemlerden (aynı sözleşme + ürün) toplanır.
Prc_T_PurchaseOrder (teklif talebi + sipariş) — Tanım tablosu: Hayır.
\n| Kolon | Tip | Zorunlu | Not |
|---|---|---|---|
| OrderNo | nvarchar(32) | ✓ | Numaratör PurchaseOrder, P00001 |
| SupplierId | uniqueidentifier | ✓ | Adm_T_Contact |
| SupplierReference | nvarchar(64) | ||
| AgreementId | uniqueidentifier | Prc_T_PurchaseAgreement (aynı tedarikçi, Confirmed) | |
| MaterialRequestId | uniqueidentifier | Aktarılacak malzeme talebi seçimi | |
| CurrencyId | nvarchar(8) | ✓ | Tedarikçinin SupplierCurrency'sinden, yoksa TRY |
| OrderDeadline | datetime | Sipariş Zaman Sınırı | |
| ExpectedArrival | datetime | Beklenen Geliş | |
| RequireConfirmation | bit NOT NULL DEFAULT 0 | ✓ | Onay İsteyin |
| OperationTypeId | uniqueidentifier | Teslim Alacak | |
| ConfirmDate | datetime | Onaylama Tarihi (Siparişi Onayla yazar) | |
| ArrivalDate | datetime | Varış (siparişte elle girilir) | |
| SupplierResponse | nvarchar(16) | ✓ | Waiting / Quoted / NotQuoted; varsayılan Waiting |
| QuoteDate | datetime | ||
| QuotedByUserId | uniqueidentifier | Teklifi Veren — AbpUsers | |
| QuoteValidUntil | date | Teklif Geçerliliği | |
| BuyerUserId | uniqueidentifier | ✓ | Alıcı; tedarikçinin BuyerUserId'si, yoksa @USERID |
| SourceDocument | nvarchar(512) | Kaynak; kalemlerin talep numaralarından SP yazar | |
| ProjectId | uniqueidentifier | Proje — Prj_T_Project (Diğer Bilgiler) | |
| IncotermId / IncotermLocation | uniqueidentifier / nvarchar(128) | Tedarikçi varsayılanından | |
| PaymentTermId | uniqueidentifier | Tedarikçi varsayılanından | |
| Terms | nvarchar(MAX) | Şart ve koşullar | |
| UntaxedAmount, TaxAmount, TotalAmount | decimal(18,2) DEFAULT 0 | SP hesaplar, salt okunur | |
| Status | nvarchar(16) | ✓ | Draft / Sent / Purchase / Cancelled; varsayılan Draft |
| LastSentDate | datetime | Son e-posta gönderimi |
Prc_T_PurchaseOrderLine — Tanım tablosu: Hayır. PurchaseOrderId (FK, cascade, ✓), ProductId ✓, Description nvarchar(512), Quantity decimal(18,4) ✓, UomId ✓, UnitPrice decimal(18,4) ✓, TaxRate decimal(5,2) ✓ (ürünün PurchaseTaxRate'i), Amount decimal(18,2) (Quantity × UnitPrice, SP), MaterialRequestItemId uniqueidentifier (Talep).
\n\nGörünümler / yordamlar: Prc_V_PurchaseOrder (başlık + tedarikçi OTD oranı + geç bayrakları), Prc_V_PurchaseOrderLine (talep no), Prc_V_PurchaseOrderAlternative (Teklifler sekmesi), Prc_V_PurchaseAgreementLine (Sipariş Edildi), Prc_V_MaterialRequestImportable (aktarılabilir talepler); Prc_P_PurchaseOrderRecalc(@Id), Prc_P_PurchaseOrderSetStatus(@Id,@Action), Prc_P_PurchaseOrderSend(@Id), Prc_P_PurchaseOrderImportRequest(@Id), Prc_P_PurchaseAgreementSetStatus(@Id,@Action), Prc_P_PurchaseRfqFromAgreement(@AgreementId).
| Sekme | Hedef ListFormCode | TabType | Menü | İlişki | Ekle / Düzenle / Sil | Yetki yolu |
|---|---|---|---|---|---|---|
| Ürünler (Sözleşme) | App.Prc.PurchaseAgreementLine | List | Menüsüz | Id → AgreementId | ✓ / ✓ / ✓ | … › PurchaseAgreement › PurchaseAgreementLine |
| Ürünler (Teklif & Sipariş) | App.Prc.PurchaseOrderLine | List | Menüsüz | Id → PurchaseOrderId | ✓ / ✓ / ✓ | … › PurchaseRfq › PurchaseOrderLine |
| Tedarikçi Teklifi (yalnız Teklif) | App.Prc.PurchaseOrderQuote | Form | Menüsüz | Id → Id | ✓ / ✓ / – | … › PurchaseRfq › PurchaseOrderQuote |
| Diğer Bilgiler | App.Prc.PurchaseOrderOther | Form | Menüsüz | Id → Id | ✓ / ✓ / – | … › PurchaseRfq › PurchaseOrderOther |
| Teklifler | App.Prc.PurchaseOrderAlternative | List | Menüsüz | Id → BaseOrderId (görünüm) | – / – / – | … › PurchaseRfq › PurchaseOrderAlternative |
Satınalma Siparişleri aynı alt formları (Tedarikçi Teklifi hariç) taşır. Teklif ve Sözleşme ekranlarında OpenDetailAfterInsert: true.
Prc_PurchaseOrderPrint, numaratör satırları PurchaseOrder (P, 5 hane) ve PurchaseAgreement (BO, 5 hane).Prc.RfqSent ve Prc.PurchaseOrderSent e-posta türleri; alıcı tedarikçinin kontak e-postası, ek rapor PDF'i.App.Prc.PurchaseRfq.Send/.Confirm/.Cancel/.Draft/.ImportRequest; App.Prc.PurchaseOrder.Send/.Cancel/.ImportRequest; App.Prc.PurchaseAgreement.Confirm/.Close/.Cancel/.NewRfq.Prc_P_PurchaseOrderRecalc tutarları ve Kaynak'ı yazar.Evet
Üretilenler: tablolar Prc_T_PurchaseAgreement, Prc_T_PurchaseAgreementLine, Prc_T_PurchaseOrder, Prc_T_PurchaseOrderLine; görünümler Prc_V_PurchaseAgreementLine, Prc_V_PurchaseOrderAlternative, Prc_V_MaterialRequestImportable; yordamlar Prc_P_PurchaseOrder{AfterSave, Recalc, ImportRequest, SetStatus, Send}, Prc_P_PurchaseRfqFromAgreement; ekranlar Satınalma › Siparişler › Sözleşmeler / Teklif Talepleri / Satınalma Siparişleri ve 5 menüsüz sekme; diziler PurchaseOrder1 (P00001), PurchaseAgreement1 (BO00001); bildirim türleri Prc.RfqSent, Prc.PurchaseOrderSent; modül dokümanı App.Prc.Orders.
\nAnalizden sapmalar (platform kısıtı):
\nKontrol edilecek: ekran komutları (kalem kayıt/silme, AfterSave çağrıları) T-SQL yazıldı, PostgreSQL'de çalışmaz; Adm_T_Notification kolon adları varsayıldı; AgreementId cascade süzmesi.
\nDB Migrate bekleyen wizard'lar: Prc_PurchaseAgreementLine, Prc_PurchaseAgreement, Prc_PurchaseOrderLine, Prc_PurchaseOrderQuote, Prc_PurchaseOrderOther, Prc_PurchaseOrderAlternative, Prc_PurchaseRfq, Prc_PurchaseOrder.
Yeniden üretim (kullanıcı ilk üretimin dosyalarını sildi). Onaylı analiz ve ilk üretimin kararları aynen uygulandı; içerik ilk üretimle aynıdır.
\nYeniden yazılanlar: tablolar Prc_T_PurchaseAgreement, Prc_T_PurchaseAgreementLine, Prc_T_PurchaseOrder, Prc_T_PurchaseOrderLine; görünümler Prc_V_PurchaseAgreementLine, Prc_V_PurchaseOrderAlternative, Prc_V_MaterialRequestImportable; yordamlar Prc_P_PurchaseOrder{AfterSave, Recalc, ImportRequest, SetStatus, Send}, Prc_P_PurchaseRfqFromAgreement; 8 wizard; modül dokümanı App.Prc.Orders.
\nYeniden yazılmayanlar (veritabanında duruyordu): diziler PurchaseOrder1, PurchaseAgreement1; bildirim türleri Prc.RfqSent, Prc.PurchaseOrderSent.
\nSapmalar ve açık konular önceki MCP notundaki gibidir: İşlem alanı (buton yerine), e-postada PDF eki yok, Yazdır şablonu migrate sonrası eklenecek, Sözleşme kalemlerinde Sipariş Edildi kolonu yok, ortak sekme yetkileri Teklif Talepleri altında, demo veri yok; komutlar T-SQL.
\nDB Migrate bekleyen wizard'lar: Prc_PurchaseAgreementLine, Prc_PurchaseAgreement, Prc_PurchaseOrderLine, Prc_PurchaseOrderQuote, Prc_PurchaseOrderOther, Prc_PurchaseOrderAlternative, Prc_PurchaseRfq, Prc_PurchaseOrder.
" } ] }