{ "ListFormCode": "Sas.DevRequests", "KeyFieldName": "Id", "GeneratedAt": "2026-10-06T21:01:53.4632621Z", "Order": 0, "Rows": [ { "Id": "5d11851e-5f00-4a0b-b5a3-b8211e56c8b5", "TenantId": null, "UserName": "system@sozsoft.com", "RequestDate": null, "Status": "Staging", "Title": "Inventory -> Tanımlamalar", "Description": "
Ürünler : Ürün listesi ve detayı aşağıdaki örneklendirilmiştir. Ürünler Satış, Masraflar, Satınalma olarak 3 seçeneği var. Satış seçerse sadece Satış siparişlerinde görünür. Satınalma seçerse Satınalınabilir anlamına gelir. Ürün Türü Mal veya Hizmet olabilir. Envanter Takibi yapılıp yapılmayacağı seçilebilir. Eğer takip edilecekse Seri No, Lot Numarası veya Miktara göre seklinden seçilecek.
Nitelikler ve Varyantlar seçeneğinde yazılabilecek değerler Nitelik olarak tanımlanmalı. İçerisindeki değerleri de tanımlanabilir. Nitelik seçilip değerleri birden fazla şekilde yapılabilir. Eğer nitelikli bir ürün tanımlanırsa o varyantlı ürün listeler de seçilecektir.
Satınalma kısmında o ürünü hangi tedarikçiden hangi bedele aldığımızı belirtiyoruz. Ürün ve reçetede kullanılan Birim sütunun Adm_T_Uom tablosu ile ilişkili olmalı. Adm_T_Uom tablosundaki Id bilgisi nvarchar(64)
Ürün listesinde ürün adı, resmi, Satış, Masraflar ve Satınalma sütunlarından oluşmalı. Ayrıca yukarıdaki Ürün lisesindeki sütunlar olabilir. Diğer bilgiler Ürün listesindeki Detay ksımında Tablar şeklinde resimdeki gibi görüntülenmeli. Adm.Definitions.Contact gibi olabilir.
Nitelikler kısmı Nitelik kısmında seçilmeli ve Değerler birden fazla seçebilecek bir sütundan oluşmalı.
Reçeteler : Ürünlerin hammadde ve yarı mamülerin ve tüketim miktarlarının belirlendiği kısımdır. Ayrıca tanımlanan operasyonların tanımlandığı listedir. Hangi bileşenlerin hangi operasyon ile tüketildiği belirlenecektir. Ürün bazında da reçete yazılabilir. Her bir ürünün Varyantı bazında da reçete yazılabilri. Bom türü eklenmeyecek
İş Merkezi tanımlamaları : Inventory -> Tanımlamalar menüsünde yer alacaktır.İş Merkezi lsitesinde iş merkezi adı, etiketler, çalışma saatleri (Weekly working time limit (h) ile setting kısmından alınabilir.)İş Merkezi lsitesinde iş merkezi adı, etiketler, çalışma saatleri (Weekly working time limit (h) ile setting kısmından alınabilir.) İş merkezi lsitesinin detayında Genel Bİlgi, Ürün kapasitesi bilgilerini tab olarak göstermeli
Operasyonlar : Inventory -> Tanımlamalar menüsünde yer alacaktır.Operasyon Listesinde Operasyon Adı, İş Merkezi Adı, Varsayılan Süre sütunlarından oluşmalı. Detay butonu ile Açıklamalar listesinde yer almalı
Eğer nitelikli bir ürün tanımlanırsa o zaman Varyantlı liste oluşur ve tüm sistem varyantlı seçeneker çalışır. Eğer nitelik tanımlamazsa ana ürün seçilecektir.
Ürün reçetesine genel bakış raporu bu ERP ssitemlerdeki BOM ile aynı. Reçetelerin malzemelerinde recursive şekilde iç içe kullanılan diğer malzemeler ve miktarların hesaplanması gerekiyor. Bu ksıım Tree Layout olarak sunulmalı.
Envanter ve üretim modülünün ana verisini kurmak: ürün kartı (satış/masraf/satınalma bayrakları, tür, envanter takibi, nitelik–varyant, tedarikçi fiyatları), ölçü birimi bağlı reçeteler (bileşen + operasyon, ürün ya da varyant bazında), iş merkezleri, operasyonlar ve çok seviyeli reçete patlatma raporu. Kullanıcı: stok, satınalma ve üretim planlama ekipleri.
\n\nTüm tanım ve kart ekranları Wizard List + alt formlar (Contact kartındaki gibi; tek kaydı düzenleyen sekmeler aynı tabloya bağlı Form alt formu). Varyant listesi ve reçete patlatma raporu Query kaynaklı Wizard List (SelectCommandType: 4): varyantlar nitelik satırlarından kartezyen üretilir, rapor özyinelemeli CTE ile çok seviyeli patlatılır ve Tree görünümünde sunulur. Kalıcı varyant tablosu ve SP gerekmez; tüm adımlar create_table + deploy_wizard ile yapılır.
Envanter › Tanımlamalar › {Ekran}
\n| Seviye | Kod | Ad (TR / EN) | İkon | Durum |
|---|---|---|---|---|
| Kök | Stk | Envanter / Inventory | FcPackage | Yeni |
| Ara | Stk.Definitions | Tanımlamalar / Definitions | FcSettings | Yeni |
| Ekran | Stk.ProductCategory | Ürün Kategorileri / Product Categories | FcFolder | Yeni |
| Ekran | Stk.Attribute | Nitelikler / Attributes | FcList | Yeni |
| Ekran | Stk.WorkCenterTag | İş Merkezi Etiketleri / Work Center Tags | FcBookmark | Yeni |
| Ekran | Stk.WorkCenter | İş Merkezleri / Work Centers | FcFactory | Yeni |
| Ekran | Stk.Operation | Operasyonlar / Operations | FcProcess | Yeni |
| Ekran | Stk.Product | Ürünler / Products | FcShop | Yeni |
| Ekran | Stk.ProductVariant | Ürün Varyantları / Product Variants | FcGrid | Yeni |
| Ekran | Stk.Bom | Reçeteler / Bills of Materials | FcDocument | Yeni |
| Ekran | Stk.BomOverview | Reçeteye Genel Bakış / BoM Overview | FcTreeStructure | Yeni |
ModuleId: Inventory · İzin grubu: Stk (Yeni) · Route: /admin/list/{ListFormCode}. Kök veya Tanımlamalar dalı menü seed'inde aynı adla varsa deploy var olana bağlar.
Yetki: Stk › Stk.Definitions (Yeni) › {ListFormCode}; alt formlar kendi listelerinin altında (ör. … › Stk.Product › Stk.ProductSupplier).
Tümü kiracı (TenantId) + audit + soft delete (IsDeleted) kolonlu, anahtar Id uniqueidentifier. Birim kolonları UomId nvarchar(64) → Adm_T_Uom.Id; tedarikçi Adm_T_Contact; para birimi Sas_H_Currency.
Stk_T_ProductCategory — Tanım tablosu: Evet (görselde Kategori seçimi). Name nvarchar(128) zorunlu, ParentId uniqueidentifier null (→ kendisi), IsActive bit NOT NULL DEFAULT 1.
\nStk_T_Attribute — Tanım tablosu: Evet (talep: \"Nitelik olarak tanımlanmalı\"). Name nvarchar(128) zorunlu, DisplayType nvarchar(16) zorunlu (Radio/Pills/Select/Color/Multi/Image, varsayılan Radio), VariantCreation nvarchar(16) zorunlu (Always/Dynamic/Never, varsayılan Always), IsActive bit.
\nStk_T_AttributeValue — Tanım tablosu: Evet. AttributeId uniqueidentifier zorunlu, Name nvarchar(128) zorunlu, IsCustom bit (Serbest metin) DEFAULT 0, ExtraPrice decimal(18,2) DEFAULT 0, ColorCode nvarchar(16) null, SortOrder int, IsActive bit.
\nStk_T_WorkCenterTag — Tanım: Evet. Name nvarchar(64) zorunlu, Color nvarchar(16), IsActive bit.
\nStk_T_WorkCenter — Tanım: Evet (operasyon ve reçetede lookup kaynağı). Name nvarchar(128) zorunlu, Code nvarchar(32), Tags nvarchar(1000) (dxTagBox, | ayrımlı Stk_T_WorkCenterTag Id), AlternativeWorkCenterIds nvarchar(2000) (dxTagBox), WeeklyWorkingHours decimal(5,2) zorunlu, TimeEfficiency decimal(5,2) DEFAULT 100, OeeTarget decimal(5,2) DEFAULT 90, SetupTimeMin decimal(9,2) DEFAULT 0, CleanupTimeMin decimal(9,2) DEFAULT 0, CostPerHour decimal(18,2) DEFAULT 0, EmployeeCostPerHour decimal(18,2) DEFAULT 0, Description nvarchar(MAX), IsActive bit.
Stk_T_WorkCenterCapacity — Tanım: Hayır. WorkCenterId zorunlu, ProductId uniqueidentifier zorunlu, UomId nvarchar(64), Capacity decimal(18,4) zorunlu, SetupTimeMin decimal(9,2), CleanupTimeMin decimal(9,2).
\nStk_T_Operation — Tanım: Evet (reçete operasyonlarının kaynağı). Name nvarchar(128) zorunlu, WorkCenterId zorunlu, ApplyOnVariants nvarchar(4000) (dxTagBox, AttributeValue Id), CostBasis nvarchar(16) (Actual/Theoretical, varsayılan Actual), DurationMode nvarchar(16) (Fixed/Computed, varsayılan Fixed), DefaultDurationMin decimal(9,2) DEFAULT 60, IsActive bit.
\nStk_T_OperationInstruction — Tanım: Hayır. OperationId zorunlu, Title nvarchar(256) zorunlu, InstructionType nvarchar(16) (Text/Pdf/Image/Link), Reference nvarchar(1000), Note nvarchar(MAX), SortOrder int.
\nStk_T_Product — Tanım: Evet (tüm modüllerin ürün kaynağı). Name nvarchar(256) zorunlu, Image nvarchar(MAX) (dxImageUpload), IsFavorite bit DEFAULT 0, CanBeSold bit DEFAULT 1, CanBeExpensed bit DEFAULT 0, CanBePurchased bit DEFAULT 1, ProductType nvarchar(16) zorunlu (Goods/Service, varsayılan Goods), TrackInventory bit DEFAULT 0, TrackingMethod nvarchar(16) null (Serial/Lot/Quantity), InternalReference nvarchar(64), Barcode nvarchar(64), GtipCode nvarchar(32), CategoryId uniqueidentifier, UomId nvarchar(64) zorunlu, PurchaseUomId nvarchar(64), SalesPrice decimal(18,4) DEFAULT 0, Cost decimal(18,4) DEFAULT 0, SalesTaxRate decimal(5,2) DEFAULT 20, PurchaseTaxRate decimal(5,2) DEFAULT 20, InternalNotes nvarchar(MAX), ResponsibleUserId uniqueidentifier (→ AbpUsers), Weight decimal(18,4), Volume decimal(18,4), OriginCountryId (→ Sas_H_Country), LotValuation bit DEFAULT 0, CustomLotSerial nvarchar(64), ReceiptNote / DeliveryNote / InternalTransferNote nvarchar(MAX), PurchaseControlPolicy nvarchar(16) (Ordered/Received, varsayılan Received), PurchaseDescription nvarchar(MAX), IncomeAccount nvarchar(64), ExpenseAccount nvarchar(64), IsActive bit.
\nStk_T_ProductAttributeLine — Tanım: Hayır. ProductId zorunlu, AttributeId zorunlu, ValueIds nvarchar(4000) zorunlu (dxTagBox, | ayrımlı AttributeValue Id; seçili niteliğe göre süzülür). Benzersizlik: (ProductId, AttributeId).
Stk_T_ProductSupplier — Tanım: Hayır. ProductId zorunlu, ContactId zorunlu (→ Adm_T_Contact), MinQuantity decimal(18,4) DEFAULT 1, UomId nvarchar(64), Price decimal(18,4) zorunlu, CurrencyId (→ Sas_H_Currency), LeadTimeDays int DEFAULT 0, VariantKey nvarchar(450) null.
\nStk_T_Bom — Tanım: Evet (bileşen olarak alt reçete aranır). ProductId zorunlu, VariantKey nvarchar(450) null (boşsa tüm varyantlar), Quantity decimal(18,4) DEFAULT 1 zorunlu, UomId nvarchar(64) zorunlu, Reference nvarchar(64), ReadyToProduce nvarchar(16) (AllAvailable/FirstOperation), FlexibleConsumption nvarchar(16) (Allowed/Warning/Blocked, varsayılan Warning), ProductionLeadDays int DEFAULT 0, PreparationDays int DEFAULT 0, BatchSize decimal(18,4) null, IsActive bit. BoM Türü kolonu açılmaz (talep).
\nStk_T_BomComponent — Tanım: Hayır. BomId zorunlu, ProductId zorunlu, VariantKey nvarchar(450) null, Quantity decimal(18,4) zorunlu, UomId nvarchar(64) zorunlu, BomOperationId uniqueidentifier null (Operasyonda Tüketilenler), SortOrder int.
\nStk_T_BomOperation — Tanım: Hayır. BomId zorunlu, OperationId zorunlu, WorkCenterId zorunlu (operasyondan dolar), DurationMin decimal(9,2) zorunlu, SortOrder int.
\nVaryant anahtarı: varyant kalıcı tabloda tutulmaz. VariantKey = ürünün nitelik satırlarındaki seçili değer Id'lerinin sıralı | birleşimi; aynı kombinasyon her zaman aynı anahtarı üretir. Query kaynakları (T‑SQL):
Key = ProductId + ':' + VariantKey, nvarchar): nitelik satırlarını STRING_SPLIT(ValueIds,'|') ile açıp özyinelemeli CTE ile kartezyen üretir; kolonlar ProductId, ProductName, VariantKey, VariantName (değer adları virgülle), SalesPrice + Σ ExtraPrice, Cost, UomId, InternalReference. Nitelik satırı olmayan ürün tek satır (VariantKey boş). Ana tablo Stk_T_Product IsDeleted seçilir.NodeKey nvarchar(900)): aktif Stk_T_Bom reçetelerinden başlayan özyinelemeli CTE; her bileşen için o ürün(+varyant, yoksa ürün geneli) reçetesi varsa alt seviyeye iner. Miktar = üst miktar × bileşen miktarı ÷ reçete miktarı; Maliyet = miktar × Product.Cost; operasyonlar her seviyede \"Operasyonlar\" düğümü altında DurationMin × (miktar ÷ reçete miktarı) ve WorkCenter.CostPerHour ile. Döngüye karşı OPTION (MAXRECURSION 20) ve yol (Path) içinde aynı BomId tekrarı engellenir. Kolonlar NodeKey, ParentKey, Level, NodeType (Product/Component/OperationGroup/Operation), Name, Quantity, UomName, Cost.| Sekme | Hedef ListFormCode | TabType | Menü | İlişki | Ekle / Düzenle / Sil | Yetki yolu |
|---|---|---|---|---|---|---|
| Nitelik Değerleri | Stk.AttributeValue | List | Menüsüz | Id → AttributeId | ✓ / ✓ / ✓ | … › Attribute › AttributeValue |
| İş Merkezi › Genel Bilgi | Stk.WorkCenterGeneral (Stk_T_WorkCenter) | Form | Menüsüz | Id → Id | ✓ / ✓ / – | … › WorkCenter › WorkCenterGeneral |
| İş Merkezi › Ürün Kapasitesi | Stk.WorkCenterCapacity | List | Menüsüz | Id → WorkCenterId | ✓ / ✓ / ✓ | … › WorkCenter › WorkCenterCapacity |
| Operasyon › Açıklamalar | Stk.OperationInstruction | List | Menüsüz | Id → OperationId | ✓ / ✓ / ✓ | … › Operation › OperationInstruction |
| Ürün › Genel Bilgi | Stk.ProductGeneral (Stk_T_Product) | Form | Menüsüz | Id → Id | ✓ / ✓ / – | … › Product › ProductGeneral |
| Ürün › Nitelik & Varyantlar | Stk.ProductAttributeLine | List | Menüsüz | Id → ProductId | ✓ / ✓ / ✓ | … › Product › ProductAttributeLine |
| Ürün › Varyantlar | Stk.ProductVariant | List | Menülü | Id → ProductId | – / – / – | kendi dalı |
| Ürün › Satınalma | Stk.ProductSupplier | List | Menüsüz | Id → ProductId | ✓ / ✓ / ✓ | … › Product › ProductSupplier |
| Ürün › Stok | Stk.ProductStock (Stk_T_Product) | Form | Menüsüz | Id → Id | ✓ / ✓ / – | … › Product › ProductStock |
| Ürün › Muhasebe | Stk.ProductAccounting (Stk_T_Product) | Form | Menüsüz | Id → Id | ✓ / ✓ / – | … › Product › ProductAccounting |
| Ürün › Reçeteler | Stk.Bom | List | Menülü | Id → ProductId | ✓ / ✓ / ✓ | kendi dalı |
| Reçete › Bileşenler | Stk.BomComponent | List | Menüsüz | Id → BomId | ✓ / ✓ / ✓ | … › Bom › BomComponent |
| Reçete › Operasyonlar | Stk.BomOperation | List | Menüsüz | Id → BomId | ✓ / ✓ / ✓ | … › Bom › BomOperation |
| Reçete › Diğer | Stk.BomOther (Stk_T_Bom) | Form | Menüsüz | Id → Id | ✓ / ✓ / – | … › Bom › BomOther |
| Reçete › Genel Bakış | Stk.BomOverview | List | Menülü | Id → BomId | – / – / – | kendi dalı |
Stk, 9 menülü ekran + 12 menüsüz alt form; her listede C/R/U/D/Export/Import/Note yetkileri (Query ekranlarında yalnız R/Export).docs/modules/Stk.md deploy ile açılır.CanBePurchased/CanBeSold ile süzecek; bu talepte sipariş ekranı yoktur.SELECT COALESCE(MAX(TRY_CAST(Value AS decimal(5,2))),40) FROM AbpSettings WHERE Name LIKE '%WeeklyWorkingTimeLimit%'.Stk.Definitions (Satınalmadaki Prc.Definitions kalıbı).Evet
" } ] }