PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV (versiones precedentes) → Windev 23 - Trigger appelé depuis le service ne fonctionne pas
Windev 23 - Trigger appelé depuis le service ne fonctionne pas
Iniciado por Ju Lie, 15,ene. 2020 16:46 - 4 respuestas
Publicado el 15,enero 2020 - 16:46
Bonjour à tous.

Je fais appel à la communauté car j'ai un souci avec un trigger.

Dans mon logiciel de gestion de librairie j'utilise un fichier "ARTICLE" qui contient toutes les informations relatives aux livres.
Ce fichier est mis à jour régulièrement, et un trigger "après" remplit une rubrique composée de plusieurs éléments, pas forcément tous présents dans le fichier article (titre, auteur, éditeur...).
Cela fonctionne parfaitement sauf chez un client, lorsque qu'un traitement exécuté depuis un service ajoute des articles dans le fichier.

J'ai déjà tenté de désactiver puis réactiver le trigger, de redémarrer le centre hyperfile et le service, rien n'y fait.
Lors d'une modification dans un article manuellement, la rubrique en question est bien mise à jour. Le service ne renvoie pas d'erreur est fait son travail correctement d'après le fichier log.

Avez-vous une idée du pourquoi ou de par quoi je dois commencer ?
Merci d'avance de votre aide.
Julie

N.B : c'est mon premier post dans un forum, pardonnez-moi si j'oublie des choses...
Miembro registrado
3.846 mensajes
Popularité : +227 (347 votes)
Publicado el 18,enero 2020 - 12:46
Bonjour,
J'ai déjà eu ce genre de problème avec un champ table basé sur une requête avec l'option hModifieFichier, que ce soit avec l'option du champ enregistrer en sortie de ligne ou un TableEnregistre
J'ai résolu le problème en faisant mon enregistrement "à l'ancienne" en sortie de ligne, le HEnregistre déclenchait bien le trigger sur ma table.

--
Il y a peut être plus simple, mais, ça tourne
Publicado el 20,enero 2020 - 16:04
Bonjour Voroltinquo et merci pour la réponse.

Le code qui est censé déclencher le trigger contient bien un HAjoute.
Je me suis demandé pourquoi cela ne fonctionne pas que chez un client et que dans un cas de HAjoute dans cette fameuse table. En regardant le code de plus près , la seule différence que je constate est un HAjoute avec l'option "hIgnoreIntegrité" contrairement à tous les autres endroit du code ou cette option n'est pas ajoutée et où le trigger se déclenche bien .
Je pense que cela vient de l, et de la base de ce client en particulier mais je ne sais pas quoi faire/cherche/réparer...

Julie
Miembro registrado
3.846 mensajes
Popularité : +227 (347 votes)
Publicado el 21,enero 2020 - 07:39
Si mes souvenirs sont bons, j'avais "forcé" l'appel du trigger (il est vrai que j'étais en monoposte) en le modifiant légèrement. (contrôle au niveau de H.NomFichier et désactivation si c'est un appel direct (H.NomFichier=""), exécution, puis réactivation.)
Depuis, j'évite le cas de figure qui a causé ce problème.

--
Il y a peut être plus simple, mais, ça tourne
Publicado el 21,enero 2020 - 09:40
Encore merci de la réponse.

En désespoir de cause, j'ai synchronisé la base de données avec l'analyse dans le centre de contrôle. Cela m'a proposé le trigger en question et ce matin le problème est résolu :-)

Bonne journée !