()];
+ }
+
private async Task ReadTableStateAsync(WizardDeleteTableDto table)
{
try
diff --git a/configs/seeds/data/App.DevRequests/5d11851e-5f00-4a0b-b5a3-b8211e56c8b5.json b/configs/seeds/data/App.DevRequests/5d11851e-5f00-4a0b-b5a3-b8211e56c8b5.json
index 1cb49726..64438c8c 100644
--- a/configs/seeds/data/App.DevRequests/5d11851e-5f00-4a0b-b5a3-b8211e56c8b5.json
+++ b/configs/seeds/data/App.DevRequests/5d11851e-5f00-4a0b-b5a3-b8211e56c8b5.json
@@ -9,15 +9,15 @@
"TenantId": null,
"UserName": "system@sozsoft.com",
"RequestDate": null,
- "Status": "Testing",
+ "Status": "Backlog",
"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)







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.

Operasyonlar : Inventory -> Tanımlamalar menüsünde yer alacaktır.

İş Merkezi tanımlamaları : Inventory -> Tanımlamalar menüsünde yer alacaktır.



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.

",
+ "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ı. Diğer bilgiler Ürün listesindeki Detay ksımında Tablar şeklinde resimdeki gibi görüntülenmeli. App.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ı.

",
"DueDate": "2026-10-06T21:02:00",
"Tags": "IN",
"Assignees": "system@sozsoft.com",
"Priority": null,
"Completed": false,
- "SortOrder": 0,
+ "SortOrder": 2,
"Timesheets": null,
"SubTasks": null,
"Analysis": ""
diff --git a/configs/seeds/data/App.Languages.LanguageText.json b/configs/seeds/data/App.Languages.LanguageText.json
index 363e5aad..70efea84 100644
--- a/configs/seeds/data/App.Languages.LanguageText.json
+++ b/configs/seeds/data/App.Languages.LanguageText.json
@@ -39933,17 +39933,17 @@
"Value": "Ağırlık"
},
{
- "Id": "bbcfd955-c535-5c01-b9bb-c7321dd61d89",
+ "Id": "5961b6ba-f1d4-510a-a9cd-ac723dbad6a8",
"CultureName": "en",
"ResourceName": "Platform",
- "Key": "App.Listform.ListformField.WorkcenterId",
- "Value": "Workcenter"
+ "Key": "App.Listform.ListformField.WorkCenterId",
+ "Value": "Work Center"
},
{
- "Id": "994c5396-1eea-5a2f-a4dc-11d1c3b1bb8b",
+ "Id": "db209c22-79f7-53aa-b125-06be98097e3e",
"CultureName": "tr",
"ResourceName": "Platform",
- "Key": "App.Listform.ListformField.WorkcenterId",
+ "Key": "App.Listform.ListformField.WorkCenterId",
"Value": "İş Merkezi"
},
{
@@ -40702,6 +40702,20 @@
"Key": "App.ListForm.WizardDeleteTableNoPermission",
"Value": "Tablo silmek için SQL Query Manager yetkisi gerekir."
},
+ {
+ "Id": "2f3d5aa3-35d7-5d2b-bc3d-ba0363eb838b",
+ "CultureName": "en",
+ "ResourceName": "Platform",
+ "Key": "App.ListForm.WizardDeleteCustomEndpoints",
+ "Value": "Custom Endpoints querying this table are deleted with the request:"
+ },
+ {
+ "Id": "5c30228d-7a64-509d-92cb-5218d0cacfc5",
+ "CultureName": "tr",
+ "ResourceName": "Platform",
+ "Key": "App.ListForm.WizardDeleteCustomEndpoints",
+ "Value": "Bu tabloyu sorgulayan Custom Endpoint'ler taleple birlikte silinir:"
+ },
{
"Id": "50b48483-4900-53d7-8264-e1a31c899097",
"CultureName": "en",
@@ -69290,6 +69304,20 @@
"Key": "App.Mcp.Error.SelectFailed",
"Value": "Sorgu çalışmadı: {0} Bir kolonun var olduğunu varsayma (IsDeleted, TenantId, IsActive her tabloda yoktur); tablonun kolonlarını search_schema ya da INFORMATION_SCHEMA.COLUMNS üzerinde bir SELECT ile kontrol edip sorguyu düzelt."
},
+ {
+ "Id": "f78c1319-0925-5e25-af53-eed5f6039eb1",
+ "CultureName": "en",
+ "ResourceName": "Platform",
+ "Key": "App.Mcp.Error.SelectFailedColumns",
+ "Value": "The query failed: {0} Actual columns of the tables in the query: {1}. Rewrite the query using only these columns; do not guess column names."
+ },
+ {
+ "Id": "834dbec7-04c1-57c7-9044-a9bc1e348828",
+ "CultureName": "tr",
+ "ResourceName": "Platform",
+ "Key": "App.Mcp.Error.SelectFailedColumns",
+ "Value": "Sorgu çalışmadı: {0} Sorgudaki tabloların gerçek kolonları: {1}. Sorguyu yalnızca bu kolonlarla yeniden yaz; kolon adı tahmin etme."
+ },
{
"Id": "aac27480-88f4-5230-9820-f9c7472ef178",
"CultureName": "en",
@@ -86929,6 +86957,76 @@
"ResourceName": "Platform",
"Key": "App.Listform.ListformField.Longitude",
"Value": "Boylam"
+ },
+ {
+ "Id": "f62001da-76fc-59e7-a302-39ca902d471e",
+ "CultureName": "en",
+ "ResourceName": "Platform",
+ "Key": "App.Listform.ListformField.InternalReference",
+ "Value": "Internal Reference"
+ },
+ {
+ "Id": "c7fa6c98-b2fd-563c-a83f-87639440f864",
+ "CultureName": "tr",
+ "ResourceName": "Platform",
+ "Key": "App.Listform.ListformField.InternalReference",
+ "Value": "İç Referans"
+ },
+ {
+ "Id": "e5c139da-74ef-51d9-923e-c9d3de7e109b",
+ "CultureName": "en",
+ "ResourceName": "Platform",
+ "Key": "App.Listform.ListformField.Cost",
+ "Value": "Cost"
+ },
+ {
+ "Id": "74014c98-a5f8-53de-b16e-d77c86f987b4",
+ "CultureName": "tr",
+ "ResourceName": "Platform",
+ "Key": "App.Listform.ListformField.Cost",
+ "Value": "Maliyet"
+ },
+ {
+ "Id": "de319c46-4357-5025-86c4-1700e71cd1c5",
+ "CultureName": "en",
+ "ResourceName": "Platform",
+ "Key": "App.Listform.ListformField.SetupTimeMin",
+ "Value": "Setup Time (min)"
+ },
+ {
+ "Id": "440df770-7b20-5180-8aff-bd8ef821657d",
+ "CultureName": "tr",
+ "ResourceName": "Platform",
+ "Key": "App.Listform.ListformField.SetupTimeMin",
+ "Value": "Kurulum Süresi (dk)"
+ },
+ {
+ "Id": "e8104b4f-8b74-56f7-a96d-3126fca31472",
+ "CultureName": "en",
+ "ResourceName": "Platform",
+ "Key": "App.Listform.ListformField.CleanupTimeMin",
+ "Value": "Cleanup Time (min)"
+ },
+ {
+ "Id": "cf803733-a414-5abd-a659-70e86431f51b",
+ "CultureName": "tr",
+ "ResourceName": "Platform",
+ "Key": "App.Listform.ListformField.CleanupTimeMin",
+ "Value": "Temizlik Süresi (dk)"
+ },
+ {
+ "Id": "8c9c9180-00ec-5ca0-9d34-a96c6b6a68df",
+ "CultureName": "en",
+ "ResourceName": "Platform",
+ "Key": "App.Listform.ListformField.ExpenseAccount",
+ "Value": "Expense Account"
+ },
+ {
+ "Id": "415a25cd-c5cf-561b-a827-55259b8108e6",
+ "CultureName": "tr",
+ "ResourceName": "Platform",
+ "Key": "App.Listform.ListformField.ExpenseAccount",
+ "Value": "Gider Hesabı"
}
]
}
diff --git a/ui/src/proxy/admin/wizard/models.ts b/ui/src/proxy/admin/wizard/models.ts
index 667fba48..fe42089e 100644
--- a/ui/src/proxy/admin/wizard/models.ts
+++ b/ui/src/proxy/admin/wizard/models.ts
@@ -234,6 +234,8 @@ export interface WizardDeleteTableDto {
usedBy: WizardRecordRefDto[]
/** Tabloyla birlikte silinecek seed dosyaları (kapsam klasörüne göre). */
files: string[]
+ /** Talep silmesinde tabloyu sorgulayan, taleple birlikte silinecek Custom Endpoint'ler. */
+ customEndpoints?: string[]
}
export interface WizardDeleteAnalysisDto {
diff --git a/ui/src/views/admin/listForm/wizard/WizardFileManager.tsx b/ui/src/views/admin/listForm/wizard/WizardFileManager.tsx
index 588f6f94..2afea85c 100644
--- a/ui/src/views/admin/listForm/wizard/WizardFileManager.tsx
+++ b/ui/src/views/admin/listForm/wizard/WizardFileManager.tsx
@@ -596,6 +596,16 @@ const WizardFileManager = () => {
{translate('::App.ListForm.WizardDeleteTableNoPermission')}
)}
+ {!!table.customEndpoints?.length && (
+
+ {translate('::App.ListForm.WizardDeleteCustomEndpoints')}
+ {table.customEndpoints.map((name) => (
+
+ {name}
+
+ ))}
+
+ )}
)
}