PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WEBDEV (précédentes versions) → Import Projet Windev 19 dans Webdev 19
Import Projet Windev 19 dans Webdev 19
Débuté par Christophe, 07 juin 2017 13:49 - 7 réponses
Membre enregistré
92 messages
Popularité : +2 (2 votes)
Posté le 07 juin 2017 - 13:49
Bonjour,

J'ai importé un projet windev dans webdev et bien sûr pas de magie, du style et du code à retravailler.

Ce qui me pose réellement souci , c'est la notion de code navigateur et serveur , car de nombreuses fonctions sont à placer différemment.

Ma question concerne un point précis : dans windev, j'avais une zone répétée, qui lors d'une sélection d'une des lignes, éxécutait un hlitrecherchepremier...

Or dans webdev, cette fonction n'est pas éxécutable dans le code navigateur.

Comment et où placer ce hlit svp ? j'aimerai que le clic (onclick) sur la zone répétée déclenche cette fonction.

Merci d'avance pour votre aide.
Posté le 07 juin 2017 - 14:31
Bonjour Christophe

tu n'as pas le choix. Tus les accès aux données se font coté serveur.

Si nécessaire, tu peux utiliser ajaxexeute coté navigateur pour lancer
une procédure serveur qui fait les accès

Cordialement


--
Fabrice Harari
Consultant WinDev, WebDev et WinDev Mobile International

A votre disposition : WXShowroom.com, WXReplication (open source) et
maintenant WXEDM (open source)

Plus d'information sur http://fabriceharari.com


Le 6/7/2017 à 5:49 AM, Christophe a écrit :
Bonjour,

J'ai importé un projet windev dans webdev et bien sûr pas de magie, du
style et du code à retravailler.

Ce qui me pose réellement souci , c'est la notion de code navigateur et
serveur , car de nombreuses fonctions sont à placer différemment.

Ma question concerne un point précis : dans windev, j'avais une zone
répétée, qui lors d'une sélection d'une des lignes, éxécutait un
hlitrecherchepremier...

Or dans webdev, cette fonction n'est pas éxécutable dans le code
navigateur.

Comment et où placer ce hlit svp ? j'aimerai que le clic (onclick) sur
la zone répétée déclenche cette fonction.

Merci d'avance pour votre aide.
Membre enregistré
92 messages
Popularité : +2 (2 votes)
Posté le 07 juin 2017 - 15:04
Merci Fabrice,

J'avais effectivement vu cette solution, je vais tester !

Cordialement
Membre enregistré
92 messages
Popularité : +2 (2 votes)
Posté le 08 juin 2017 - 08:53
Bonjour,

Je teste avec AjaxExecute et rencontre quelques difficultés !

J'ai 3 zone répétées qui s'alimentent en fonction de la "ligne" sélectionnée : Familles--->Sous Familles--->Articles

J'ai mis dans le code navigateur du clic sur la zone répétée Familles :

// AJAX supporté sur le navigateur en cours ?
SI AJAXDisponible() = Vrai ALORS
// Exécution de la procédure serveur "MaProc"
Res est une chaîne
Res = AJAXExécute(ZR_Familles_Selection)
// Utilisation des données à modifier
SINON
// Traitements sans utilisation de AJAX
FIN

Ma procédure ZR_Familles_selection est :

ZoneRépétéeSupprimeTout(ZR_SousFamille)
ZoneRépétéeSupprimeTout(ZR_Articles)
HLitRecherchePremier(Familles,IDFamilles,ZR_Familles.IDFamilles)
SI Familles.SousFamille = 1 ALORS
//ZoneRépétéeSupprimeTout(ZR_SousFamille)
HLitRecherchePremier(SousFamilles,IDFamille,ZR_Familles.IDFamilles)
Info(ZR_Familles.IDFamilles)
TANTQUE HTrouve() = Vrai
indice est un numérique = ZoneRépétéeAjouteLigne(ZR_SousFamille)
ZR_SousFamille[indice].LIB_SansNom1 =SousFamilles.NomSousFamille
ZR_SousFamille[indice].IMG_SansNom1 = SousFamilles.PhotoSousFamille
ZR_SousFamille[indice].LIB_idarticle = SousFamilles.IDSousFamilles
HLitSuivant()
FIN
ZoneRépétéeTrie("ZR_SousFamille")
//ZoneRépétéeSelectMoins(ZR_SousFamille)
RETOUR
FIN
//ZoneRépétéeSupprimeTout(ZR_Articles)
HLitRecherchePremier(Articles2,Famille,ZR_Familles.LIB_SansNom1)
TANTQUE HTrouve() = Vrai
indice est un numérique = ZoneRépétéeAjouteLigne(ZR_Articles)
ZR_Articles[indice].LIB_SansNom1 = Articles2.NomArticle
ZR_Articles[indice].IMG_SansNom1 = Articles2.Photo
ZR_Articles[indice].LIB_idarticle = Articles2.IDArticles
HLitSuivant()
FIN
ZoneRépétéeTrie("ZR_Articles")
//ZoneRépétéeSelectMoins(ZR_Articles)

Rien ne se passe, je n'ai pas mis de paramètres à RENVOYER car je ne sais pas ce que dois "renvoyer"

J'ai loupé un épisode mais je n'ai jamais utilisé AjaxExecute...

Merci d'avance pour vos lumières !!!!

Cordialement
Posté le 08 juin 2017 - 14:44
Bonjour Christophe,

dans ces cas la, il faut lire la page d'aide ela fonction, TOUTE la page
d'aide...

Dans ce cas particulier :

...
ajaxActualiseChamps Les champs modifiés sont automatiquement actualisés
dans la page.
ajaxAppelSimple
(valeur par défaut) Les champs modifiés ne sont pas actualisés dans la page.
Attention : ces constantes doivent être utilisées directem
....

Cordialement


--
Fabrice Harari
Consultant WinDev, WebDev et WinDev Mobile International

A votre disposition : WXShowroom.com, WXReplication (open source) et
maintenant WXEDM (open source)

Plus d'information sur http://fabriceharari.com


Le 6/8/2017 à 12:53 AM, Christophe a écrit :
Bonjour,

Je teste avec AjaxExecute et rencontre quelques difficultés !

J'ai 3 zone répétées qui s'alimentent en fonction de la "ligne"
sélectionnée : Familles--->Sous Familles--->Articles

J'ai mis dans le code navigateur du clic sur la zone répétée Familles :

// AJAX supporté sur le navigateur en cours ?
SI AJAXDisponible() = Vrai ALORS
// Exécution de la procédure serveur "MaProc"
Res est une chaîne
Res = AJAXExécute(ZR_Familles_Selection)
// Utilisation des données à modifier
SINON
// Traitements sans utilisation de AJAX
FIN

Ma procédure ZR_Familles_selection est :

ZoneRépétéeSupprimeTout(ZR_SousFamille)
ZoneRépétéeSupprimeTout(ZR_Articles)
HLitRecherchePremier(Familles,IDFamilles,ZR_Familles.IDFamilles)
SI Familles.SousFamille = 1 ALORS
//ZoneRépétéeSupprimeTout(ZR_SousFamille)
HLitRecherchePremier(SousFamilles,IDFamille,ZR_Familles.IDFamilles)
Info(ZR_Familles.IDFamilles)
TANTQUE HTrouve() = Vrai
indice est un numérique = ZoneRépétéeAjouteLigne(ZR_SousFamille)
ZR_SousFamille[indice].LIB_SansNom1 =SousFamilles.NomSousFamille
ZR_SousFamille[indice].IMG_SansNom1 =
SousFamilles.PhotoSousFamille
ZR_SousFamille[indice].LIB_idarticle = SousFamilles.IDSousFamilles
HLitSuivant()
FIN
ZoneRépétéeTrie("ZR_SousFamille")
//ZoneRépétéeSelectMoins(ZR_SousFamille)
RETOUR
FIN
//ZoneRépétéeSupprimeTout(ZR_Articles)
HLitRecherchePremier(Articles2,Famille,ZR_Familles.LIB_SansNom1)
TANTQUE HTrouve() = Vrai
indice est un numérique = ZoneRépétéeAjouteLigne(ZR_Articles)
ZR_Articles[indice].LIB_SansNom1 = Articles2.NomArticle
ZR_Articles[indice].IMG_SansNom1 = Articles2.Photo
ZR_Articles[indice].LIB_idarticle = Articles2.IDArticles
HLitSuivant()
FIN
ZoneRépétéeTrie("ZR_Articles")
//ZoneRépétéeSelectMoins(ZR_Articles)

Rien ne se passe, je n'ai pas mis de paramètres à RENVOYER car je ne
sais pas ce que dois "renvoyer"

J'ai loupé un épisode mais je n'ai jamais utilisé AjaxExecute...

Merci d'avance pour vos lumières !!!!

Cordialement
Membre enregistré
92 messages
Popularité : +2 (2 votes)
Posté le 08 juin 2017 - 16:32
Bonjour Fabrice,

Je vois bien l'option à ajouter dans les parenthèses de AjaxExecute, mais je n'arrive pas à la saisir.... elle est surlignée en rouge (identificateur...inconnu ou inacessible).

Je sèche.
Posté le 09 juin 2017 - 00:09
rebonjour

ca semblerait vouloir dire que cette option n'était pas encore
disponible en version 19...

Elle n'existait effectivement pas il y a quelques temps, mais quand ?
Et si elle n'existe pas, la technique prévue est de renvoyer une chaine
avec les infos dedans et faire les mises à jour coté client, ce qui
n'est pas pratique dans ce cas précis.


Donc, si c'est bien ca (et ca peut se voir depuis l'aide de la version
19), 2 solutions :

1) mettre à jour en 22
2) coder différement, et dans ce cas précis, à la place du ajaxexecute,
faire un executeprocess d'un bouton dont le code serveur est ajax (le
bouton peut être invisible). Dans ce cadre la, les champs seront mis à jour.

Cordialement


--
Fabrice Harari
Consultant WinDev, WebDev et WinDev Mobile International

A votre disposition : WXShowroom.com, WXReplication (open source) et
maintenant WXEDM (open source)

Plus d'information sur http://fabriceharari.com

Le 6/8/2017 à 8:32 AM, Christophe a écrit :
Bonjour Fabrice,

Je vois bien l'option à ajouter dans les parenthèses de AjaxExecute,
mais je n'arrive pas à la saisir.... elle est surlignée en rouge
(identificateur...inconnu ou inacessible).

Je sèche.
Membre enregistré
92 messages
Popularité : +2 (2 votes)
Posté le 09 juin 2017 - 07:11
Bonjour Fabrice,

Merci pour ton retour. Je l'aurai un jour, je l'aurai (ce code)

Cordialement