W małej hydrze zrobiłem dodatek, który blokuje ikonkę zapisu, i następujący warunek:
Kod: Zaznacz cały
if(KntKarty.Knt_NipE == "")
return true;
else return false;
Moderator: mikey
Kod: Zaznacz cały
if(KntKarty.Knt_NipE == "")
return true;
else return false;
Kod: Zaznacz cały
/****** Object: Trigger [CDN].[Hydro_EmptyVatNumber] Script Date: 2020-08-05 11:37:42 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TRIGGER [CDN].[Hydro_EmptyVatNumber]
ON [CDN].[KntKarty]
AFTER UPDATE
AS
SET NOCOUNT ON
DECLARE @p_NewNip VARCHAR(100), @p_NewNipE VARCHAR(100), @p_OpeMod INT, @p_ExpoKraj INT, @p_Prefix VARCHAR(20), @p_KntGidNumer INT, @p_KntPlatnikVat INT;
SELECT
@p_NewNip = ISNULL(Knt_Nip, '')
, @p_NewNipE = ISNULL(Knt_NipE, '')
, @p_OpeMod = Knt_OpeNumerM
, @p_ExpoKraj = Knt_ExpoKraj
, @p_Prefix = ISNULL(Knt_NipPrefiks, '')
, @p_KntGidNumer = ISNULL(Knt_GIDNumer, 0)
, @p_KntPlatnikVat = ISNULL(Knt_PlatnikVat, 0)
FROM inserted
IF (
(@p_NewNip = '' OR @p_NewNipE = '')
OR (@p_Prefix = '' AND @p_ExpoKraj = 2) -- UE
)
AND ( @p_ExpoKraj IN (1, 2))
AND ( @p_KntPlatnikVat = 1)
AND
(
@p_OpeMod <> 3 -- User XXX
AND @p_OpeMod <> 77 -- Wiesław Świergała
)
AND @p_KntGidNumer > 0 -- JEDNORAZOWY
BEGIN
RAISERROR('#CDN_BLAD/# #CDN_1=Kontrahent krajowy musi mieć wpisany numer NIP. Kontrahent unijny NIP i Prefix/# #CDN_2=/# #CDN_3=/#', 16, 1)
ROLLBACK TRAN
SET NOCOUNT ON
RETURN
END
SET NOCOUNT OFF
GO
ALTER TABLE [CDN].[KntKarty] ENABLE TRIGGER [Hydro_EmptyVatNumber]
GO