2026-10-14 09:07:11 +00:00
|
|
|
|
-- Onaya gönderilmiş talebin başlığı değiştirilemez (Taleplerim ve talebi gösteren diğer ekranlar): değişiklik için talep Taslak adımına alınır,
|
|
|
|
|
|
-- düzenlenir ve yeniden onaya gönderilir. Kural ekranın UpdateBeforeCommand'ında değil burada, çünkü onay akışı da başlığı aynı güncelleme
|
|
|
|
|
|
-- yolundan yazar; yalnız iş alanları karşılaştırılır, onay alanları (durum, onaycı, tarih, açıklama, onaycı listeleri) ve silme serbesttir.
|
2026-10-19 14:35:08 +00:00
|
|
|
|
-- Satırların kuralı Prc.MaterialRequestLine'ın Insert/Update/DeleteBeforeCommand'ındadır.
|
2026-10-14 09:07:11 +00:00
|
|
|
|
CREATE OR ALTER TRIGGER [dbo].[Prc_TR_MaterialRequestLock] ON [dbo].[Prc_T_MaterialRequest]
|
|
|
|
|
|
AFTER UPDATE
|
|
|
|
|
|
AS
|
|
|
|
|
|
BEGIN
|
|
|
|
|
|
SET NOCOUNT ON;
|
|
|
|
|
|
IF EXISTS (SELECT 1
|
|
|
|
|
|
FROM inserted i
|
|
|
|
|
|
INNER JOIN deleted d ON d.Id = i.Id
|
|
|
|
|
|
WHERE ISNULL(d.ApprovalStatus, N'') <> N'' AND i.IsDeleted = 0
|
|
|
|
|
|
AND (i.Priority <> d.Priority OR i.RequesterUserId <> d.RequesterUserId OR i.BranchId <> d.BranchId
|
|
|
|
|
|
OR i.DepartmentId <> d.DepartmentId OR i.WarehouseId <> d.WarehouseId OR i.LocationId <> d.LocationId
|
|
|
|
|
|
OR i.RequestDate <> d.RequestDate OR ISNULL(i.Description, N'') <> ISNULL(d.Description, N'')))
|
|
|
|
|
|
THROW 50004, N'Onaya gönderilmiş talep değiştirilemez: önce talebi Taslak adımına alın, düzenleyip yeniden onaya gönderin.', 1;
|
|
|
|
|
|
END
|
|
|
|
|
|
GO
|