Trigger et duplication devis
Modérateurs: Super-Apogea, Super Modérateur
3 messages
|Page 1 sur 1
Trigger et duplication devis
Bonjour,
J'ai créé une zone information libre N_AFFAIRE , et je veux que cette zone s'auto remplisse avec le numéro du devis lorsque celui ci est créé .
J'ai créé un trigger qui fait le job
Toutefois lorsque l'on utilise la fonction duplication d'un devis la zone N_AFFAIRE conserve l'ancienne valeur du devis dupliqué .
Quelqu'un pourrait il éclaircir ma lanterne . D'avance merci de votre aide .
Environnement : Sage 100C V7 SQL SERVER EXPRESS
J'ai créé une zone information libre N_AFFAIRE , et je veux que cette zone s'auto remplisse avec le numéro du devis lorsque celui ci est créé .
J'ai créé un trigger qui fait le job
- Code: Tout sélectionner
ALTER TRIGGER [dbo].[TR_NAFFAIRE]
ON [dbo].[F_DOCENTETE]
AFTER INSERT
AS
BEGIN
DECLARE @TypDoc INTEGER , @NumDoc VARCHAR(10);
SET @TypDoc = (SELECT DO_TYPE FROM inserted)
SET @NumDoc = (SELECT DO_Piece FROM inserted)
SET NOCOUNT ON
IF (@TypDoc = 0)
BEGIN
UPDATE F_DOCENTETE
SET N_AFFAIRE= @NumDoc
WHERE DO_PIECE = @NumDoc
IF @@ERROR <> 0
ROLLBACK TRANSACTION
END
END
Toutefois lorsque l'on utilise la fonction duplication d'un devis la zone N_AFFAIRE conserve l'ancienne valeur du devis dupliqué .
Quelqu'un pourrait il éclaircir ma lanterne . D'avance merci de votre aide .
Environnement : Sage 100C V7 SQL SERVER EXPRESS
- Posteur néophyte
- Messages: 8
- Inscription: Ven 30 Mai 2014 15:49
Re: Trigger et duplication devis
Bonjour,
Je vais m'auto répondre
Voici comment j'ai procédé :
Ce trigger me permet de remplir automatiquement une zone info libre (ici N_AFFAIRE) avec le n° de devis lors de sa création ou sa duplication
Si ça peut rendre service tant mieux
Bonne journée à tous
Je vais m'auto répondre
Voici comment j'ai procédé :
- Code: Tout sélectionner
USE [MABASE]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER TRIGGER [dbo].[TRG_NAFFAIRE_DEV]
ON [dbo].[F_DOCENTETE]
FOR INSERT,UPDATE
AS
BEGIN
DECLARE @TypDoc INTEGER ,@Domaine INTEGER, @NumDoc VARCHAR(10), @NumAff VARCHAR(10);
SET NOCOUNT ON
IF (SELECT TRIGGER_NESTLEVEL()) < 2
BEGIN
SELECT @Domaine=DO_DOMAINE,@TypDoc=DO_TYPE,@NumDoc = DO_Piece,@NumAff = N_AFFAIRE FROM inserted
IF (@Domaine=0) AND (@TypDoc = 0) AND ((@NumDoc <> @NumAff) or (@NumAff IS Null))
BEGIN
UPDATE F_DOCENTETE
SET N_AFFAIRE= @NumDoc
WHERE DO_PIECE = @NumDoc AND DO_Domaine=@Domaine AND DO_Type=@TypDoc
--IF @@ERROR <> 0 ROLLBACK TRANSACTION
END
END
END
Ce trigger me permet de remplir automatiquement une zone info libre (ici N_AFFAIRE) avec le n° de devis lors de sa création ou sa duplication
Si ça peut rendre service tant mieux
Bonne journée à tous
- Posteur néophyte
- Messages: 8
- Inscription: Ven 30 Mai 2014 15:49
Re: Trigger et duplication devis
Bonjour,
En effet, sur les champs d’informations libres on ne peut jouer qu'en Update car en Insert, l'application ne remplit que les champs principaux et fait une seconde passe pour remplir les autres champs (dont les Infos. Libres).
Cdt,
En effet, sur les champs d’informations libres on ne peut jouer qu'en Update car en Insert, l'application ne remplit que les champs principaux et fait une seconde passe pour remplir les autres champs (dont les Infos. Libres).
Cdt,
ASR31
En recherche de missions.
En recherche de missions.
3 messages
|Page 1 sur 1
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités