{ "ListFormCode": "App.DevRequests", "KeyFieldName": "Id", "GeneratedAt": "2026-10-06T21:01:13.15342Z", "Order": 0, "Rows": [ { "Id": "53294e77-a4fb-45e4-a80e-acf07b5d75be", "TenantId": null, "UserName": "system@sozsoft.com", "RequestDate": null, "Status": "Ready to Start", "Title": "Satınalma -> Malzeme Talepleri", "Description": "

Malzeme Talepleri : Satınalma yapılması için departmantların iç ve dış olmak üzere talep ettikleri ürünlerin kaydıdır. Talep eden, Talep Eden Departman, Mal Alımı olduğu zaman konulacak Depo ve Konum bilgisi ve Talep Tarihi bilgilerinden sonra Ürün ve talep edilen miktar bilgisi girilmeli. Ürün tanımında yer alan Birim bilgisi yine sistemle entegre şekilde gelmektedir. Termin Tarihi ürünün ne zaman ihtiyaç olduğu ve Talep Nedeni olarak ne amaçla istediği belirtilmelidir. Yine bu kaydın üst kısmında Taslak, Departman Onayı, Satınalma Onayı, Onaylandı, İşlemde, Tamamlandı gibi durumları da onay mekanizması Workflow gibi bir yöntemle yönetmeliyiz. Talepten sonra hemen talep edenin Departman Onaycısı onaylayacak bir liste üzerinden görmeli ve onaylamalı. Bu kişi Adm_T_Approver entity içerisindeki Onay Yeri : Satınalma ve Departman bazında gösterilecek) Sonrasında kayıt Satınalma departmanına düşmeli ondan sonra bu kayıt Satınalma Sorumlusu kabul etmeli ve Satınalma ile ilgili teklif toplama süreci başlamalı.



Taleplerim, Departman Onayı Bekleyenler, Satınalma Onayı Bekleyenler, Planlama Bekleyenler, Tüm Talepler listesinden oluşmalı.


Red Nedenleri : Bazı Satınalma talepleri hem departman onaycısı hemde satınalma tarafından reddedilebilir. Reddetme sebepleri aşağıadki gibidir. Bu liste Satınalma -> Tanımlamalar menüsüne yerleştirilmelidir.


", "DueDate": "2026-10-06T21:01:00", "Tags": "PO", "Assignees": "system@sozsoft.com", "Priority": "5", "Completed": false, "SortOrder": 0, "Timesheets": "[{\"id\":\"69fb2d7a-7800-1284-c9a0-3a2432255baa\",\"date\":\"2026-10-09\",\"userName\":\"system@sozsoft.com\",\"description\":\"Talep analiz edildi\",\"duration\":0.0167}]", "SubTasks": null, "Analysis": "

Amaç

\n

Departmanların satınalınacak malzemeleri kayıt altına alması, talebin önce departman satınalma onaycısı, sonra satınalma birimi tarafından onaylanması ve onaylı talebin teklif toplama sürecine aktarılması. Kullanıcılar: talep eden personel, departman onaycıları, satınalma ekibi.

\n\n

Görsel analizi

\n\n\n

Çözüm yolu

\n

Wizard List ekranları + WorkflowDto onay akışı (§10.7 onaylı talep kalıbı). Talep başlığı ve satırları iki tablo; satırlar menüsüz alt form (List sekmesi). Beş liste görünümü aynı başlık tablosuna bağlı ayrı ListForm'lardır, her biri sabit DefaultFilter ile. Departman onaycıları kayıt sonrası prosedürle (InsertAfterCommand/UpdateAfterCommand) Yönetim › Tanımlamalar › Onaycılar ekranından (Adm_T_Approver, ApprovalArea = 'Purchase', talebin departmanı, aktif satırlar) okunup gizli DeptApproverUserNames kolonuna | ile birleştirilmiş kullanıcı adları olarak yazılır; akışta @DeptApproverUserNames olarak kullanılır.

\n\n

Menü yeri

\n

Satınalma › Malzeme Talepleri › Taleplerim / Departman Onayı Bekleyenler / Satınalma Onayı Bekleyenler / Planlama Bekleyenler / Tüm Talepler ve Satınalma › Tanımlamalar › Red Nedenleri

\n\n\n\n\n\n\n\n\n\n\n\n
SeviyeKodAd (TR / EN)İkonDurum
KökApp.PrcSatınalma / Purchasing—Var
AraApp.Prc.DefinitionsTanımlamalar / Definitions—Var
EkranApp.Prc.RejectionReasonRed Nedenleri / Rejection ReasonsFcCancelYeni
AraApp.Prc.MaterialRequestsMalzeme Talepleri / Material RequestsFcListYeni
EkranApp.Prc.MyMaterialRequestTaleplerim / My RequestsFcDocumentYeni
EkranApp.Prc.MaterialRequestDeptApprovalDepartman Onayı Bekleyenler / Awaiting Department ApprovalFcApprovalYeni
EkranApp.Prc.MaterialRequestPurchaseApprovalSatınalma Onayı Bekleyenler / Awaiting Purchasing ApprovalFcApprovalYeni
EkranApp.Prc.MaterialRequestPlanningPlanlama Bekleyenler / Awaiting PlanningFcPlannerYeni
EkranApp.Prc.MaterialRequestTüm Talepler / All RequestsFcListYeni
\n

ModuleId: Prc · İzin grubu: App.Prc · Route: /admin/list/{ListFormCode}

\n

Yetki: App.Prc › App.Prc.Definitions (Var) › App.Prc.RejectionReason (Yeni); App.Prc › App.Prc.MaterialRequests (Yeni) › her ekran (Yeni) › App.Prc.MaterialRequest › App.Prc.MaterialRequestLine (alt form).

\n\n

Veri modeli

\n

Tümü yeni, tenant + audit + soft delete.

\n

Prc_T_RejectionReason — Tanım tablosu: Evet (red işleminde seçilir). Kolonlar: Name nvarchar(128) ✓, IsActive bit ✓ DEFAULT 1.

\n

Prc_T_MaterialRequest — Tanım tablosu: Hayır (hareket kaydı).

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
KolonTipZorunluNot
RequestNonvarchar(32)✓SRO/00001, InsertBefore ile kiracı içinde sıralı
BranchIduniqueidentifier✓→ Sas_T_Branch (Şirket)
RequesterUserIduniqueidentifier✓→ AbpUsers, varsayılan @USERID
DepartmentIduniqueidentifier✓→ Hr_T_Department, şubeye cascade; varsayılan kullanıcının DepartmentId
WarehouseIduniqueidentifier→ Inv_T_Warehouse, şubeye cascade
LocationIduniqueidentifier→ Inv_T_Location, depoya cascade
RequestDatedatetime2✓varsayılan @NOW
Descriptionnvarchar(MAX)Genel Açıklama (dxTextArea)
Statusnvarchar(32)✓Draft / DeptApproval / PurchaseApproval / Approved / InProgress / PartiallyDone / Done / Rejected; DEFAULT 'Draft'
DeptApproverUserNamesnvarchar(512)Prosedür Adm_T_Approver'dan doldurur; formda \"Departman Onaycıları\" (salt okunur)
ApproverId / ApprovalDate / ApprovalNoteuniqueidentifier / datetime2 / nvarchar(MAX)Akışın son adım alanları
DeptApprovedById / DeptApprovalDate / DeptApprovalNoteuniqueidentifier / datetime2 / nvarchar(MAX)Departman adımı kopyası (prosedür)
PurchaseApprovedById / PurchaseApprovalDate / PurchaseApprovalNoteuniqueidentifier / datetime2 / nvarchar(MAX)Satınalma adımı kopyası (prosedür)
RejectionReasonIduniqueidentifier→ Prc_T_RejectionReason
\n

Prc_T_MaterialRequestLine — Tanım tablosu: Hayır.

\n\n\n\n\n\n\n\n\n\n\n
KolonTipZorunluNot
MaterialRequestIduniqueidentifier✓→ Prc_T_MaterialRequest
ProductIduniqueidentifier✓→ Inv_T_Product (aktif)
Quantitydecimal(18,4)✓> 0
UomIdnvarchar(64)✓→ Adm_T_Uom; ürün seçilince üründen dolar
FulfillmentTypenvarchar(16)✓Purchase / Stock (Satınalma / Stoktan), DEFAULT 'Purchase'
DueDatedateTermin Tarihi
RequestReasonnvarchar(512)Talep Nedeni
PurchaserUserIduniqueidentifierSatınalma Sorumlusu → AbpUsers
\n

Var olan, yalnız okunur: Adm_T_Approver (onaycı kaynağı), Hr_T_Department, Inv_T_Warehouse, Inv_T_Location, Inv_T_Product, Adm_T_Uom.

\n\n

Alt form ağacı

\n\n\n\n
SekmeHedefTabTypeMenüİlişkiEkle / Düzenle / SilYetki yolu
Talep SatırlarıApp.Prc.MaterialRequestLineListMenüsüzId → MaterialRequestId✓ / ✓ / ✓App.Prc › App.Prc.MaterialRequests › App.Prc.MaterialRequest › App.Prc.MaterialRequestLine
\n

Beş listenin hepsi aynı alt formu taşır. Onay / Red Bilgileri ana formda salt okunur ikinci grup.

\n\n

Etkilenen kısımlar

\n\n\n

Görünümler ve davranış

\n\n\n

Kararlar

\n\n\n

Üretim planı

\n
    \n
  1. create_table: Prc_T_RejectionReason
  2. \n
  3. create_table: Prc_T_MaterialRequest
  4. \n
  5. create_table: Prc_T_MaterialRequestLine
  6. \n
  7. save_sql_object: Prc_SP_MaterialRequestAfterSave
  8. \n
  9. deploy_wizard: RejectionReason.json
  10. \n
  11. deploy_wizard: MaterialRequestLine.json
  12. \n
  13. deploy_wizard: MaterialRequest.json
  14. \n
  15. deploy_wizard: MyMaterialRequest.json
  16. \n
  17. deploy_wizard: MaterialRequestDeptApproval.json
  18. \n
  19. deploy_wizard: MaterialRequestPurchaseApproval.json
  20. \n
  21. deploy_wizard: MaterialRequestPlanning.json
  22. \n
\n\n

Üretime hazır

\n

Evet

" } ] }