{ "ListFormCode": "App.DevRequests", "KeyFieldName": "Id", "GeneratedAt": "2026-10-09T07:54:15.7402998Z", "Order": 0, "Rows": [ { "Id": "3963027c-f443-4f39-878f-7da7a2cdb293", "TenantId": null, "UserName": "system@sozsoft.com", "RequestDate": null, "Status": "Testing", "Title": "Envanter -> Tanımlamalar", "Description": "
Depolar: Fiziki olarak konumlandırılan yerlerin listesidir. Bizim programımızda Firma sütunu yok yerine Şube adı olmalı. Depo Listesi, Depo Adı, Depo Kodu ve Şube Adı sütunlarından oluşması yeterlidir. Envanter -> Tanımlamalar menüsüne eklenmelidir.
Operasyon Türleri : Şube ve Depo bazında tanımlanan Operasyon Türleri listesidir. Operasyon Türü : Alım, Teslimat, İç Transfer, Üretim ve Onarım dan oluşmaktadır. Envanter -> Tanımlamalar menüsüne eklenmelidir.
Konumlar: Şube ve Depo bazında iç içe tanımlanan Konum listesidir. Burada Parent ve Child ilşkisi olması gerekiyor. Üst konum seçimi yapılabilir. Konum Türü olarak İç ve Dış olabilir.
Envanter modülünün temel stok yapısını kurmak: şubeye bağlı depolar, depolarda iç içe konumlar ve şube/depo bazında operasyon türleri. Stok sorumluları ve envanter yöneticileri kullanır; ileride stok hareketleri (alım, teslimat, transfer) bu tanımlara dayanır.
\n\nÜç ayrı Wizard List ekranı (tablo kaynaklı, popup düzenleme). Hiyerarşi Konumlar'da ParentId + Tree görünümü ile, şube→depo→konum süzmesi lookup cascade ile karşılanır; custom component gerekmez.
Envanter › Tanımlamalar › Depolar / Konumlar / Operasyon Türleri
| Seviye | Kod | Ad (TR / EN) | İkon | Durum |
|---|---|---|---|---|
| Kök | App.Inventory | Envanter / Inventory | FcPackage | Var |
| Ara | App.Inventory.Definitions | Tanımlamalar / Definitions | FcSettings | Var |
| Ekran | App.Inventory.Warehouse | Depolar / Warehouses | FcHome | Yeni |
| Ekran | App.Inventory.Location | Konumlar / Locations | FcTreeStructure | Yeni |
| Ekran | App.Inventory.OperationType | Operasyon Türleri / Operation Types | FcProcess | Yeni |
ModuleId: Inventory · İzin grubu: App.Inventory · Route: /admin/list/{ListFormCode}
Yetki: App.Inventory › App.Inventory.Definitions (Var) › App.Inventory.Warehouse / Location / OperationType (Yeni)
\nSıra bağımlılığa göredir: Depolar (Konum ve Operasyon Türü'nün lookup kaynağı) → Konumlar (Operasyon Türü'nün kaynak/hedef konum lookup'ı) → Operasyon Türleri.
\n\nTümü yeni, tenant + audit + soft delete (standart), IsTenant = true, IsBranch = false (şube kolon olarak tutulur, App.Hr.Department kalıbı).
Inv_T_Warehouse — Tanım tablosu: Evet (depo, diğer tüm envanter kayıtlarının referansı)
\n| Kolon | Tip | Zorunlu | Not |
|---|---|---|---|
| Id | uniqueidentifier | ✓ | PK |
| BranchId | uniqueidentifier | ✓ | → Sas_T_Branch (Name) |
| Code | nvarchar(16) | ✓ | Kiracı içinde tekil |
| Name | nvarchar(128) | ✓ | |
| IsActive | bit | ✓ | DEFAULT 1 |
Inv_T_Location — Tanım tablosu: Evet (operasyon türleri ve stok hareketleri konum seçer)
\n| Kolon | Tip | Zorunlu | Not |
|---|---|---|---|
| Id | uniqueidentifier | ✓ | PK |
| BranchId | uniqueidentifier | ✓ | → Sas_T_Branch |
| WarehouseId | uniqueidentifier | ✓ | → Inv_T_Warehouse, şubeye cascade |
| ParentId | uniqueidentifier | → Inv_T_Location (Üst Lokasyon), depoya cascade; kökte boş | |
| Code | nvarchar(32) | Depo Kodu kolonu (görseldeki \"GRP ALD\") | |
| Name | nvarchar(128) | ✓ | |
| LocationType | nvarchar(16) | ✓ | Internal / External (İç / Dış), DEFAULT 'Internal' |
| DepartmentId | uniqueidentifier | → Hr_T_Department, şubeye cascade | |
| ResponsibleUserId | uniqueidentifier | → AbpUsers (Depo Sorumlusu) | |
| IsActive | bit | ✓ | DEFAULT 1 |
Inv_T_OperationType — Tanım tablosu: Evet (stok hareket belgeleri türünü buradan seçer)
\n| Kolon | Tip | Zorunlu | Not |
|---|---|---|---|
| Id | uniqueidentifier | ✓ | PK |
| BranchId | uniqueidentifier | ✓ | → Sas_T_Branch |
| WarehouseId | uniqueidentifier | ✓ | → Inv_T_Warehouse, şubeye cascade |
| Name | nvarchar(128) | ✓ | Örn. Alımlar |
| OperationKind | nvarchar(32) | ✓ | Receipt / Delivery / InternalTransfer / Manufacturing / Repair (Alım / Teslimat / İç Transfer / Üretim / Onarım) |
| SequencePrefix | nvarchar(16) | Sıra Öneki | |
| Barcode | nvarchar(64) | ||
| SourceLocationId | uniqueidentifier | → Inv_T_Location, depoya cascade | |
| DestinationLocationId | uniqueidentifier | → Inv_T_Location, depoya cascade | |
| IsActive | bit | ✓ | DEFAULT 1 |
Inv_T_, ekran kodları App.Inventory.* — mevcut Envanter ekranlarıyla aynı.IsBranch = false): talep Şube Adı'nı listede görünen ve seçilen alan olarak istiyor.BranchId ayrıca tutulur (talep \"şube ve depo bazında\" diyor); depo seçimini süzmek için kullanılır.Evet