Bonjour,
Je souhaite récupérer dynamiquement une valeur de champ (Delegation d’accueil) sans sauvegarder le formulaire. Cette valeur récupérée servira de variable à une requête SQL déclenchée par un fieldCompletion sur un autre champ (Référent d’accueil). Et Référent d’accueil affichera alors une liste de personnes référentes dont la délégation = $Delégation
La requête fonctionne en base avec une délégation fixe, mais bloque en pratique avec la récupération dynamique depuis le BACK.
Etant donné que le fieldCompletion de Référent d’accueil est exécuté avec le save du champ * Délégation d’accueil, il n’est pas renseignée en base et un getfieldValue ne renvoie pas la valeur de façon dynamique.
J’ai pensé exécuter un code javascript depuis mon objetMétier.java, mais je ne pense pas avoir bien compris comment fonctionne ce procédé, car la valeur retournée par ma ligne est cette même ligne avec “javascript:” devant.
2023-03-13 15:45:43,506|SIMPLICITE|INFO||http://64d0b3d5474f:8080||INFO|demo_admin|com.simplicite.objects.ladnext.LadFormations|fieldCompletion||Evénement: delegation : javascript:document.getElementById("field_ladFormationsDelegation_idladFormations_LadDossierPmfp_id").value
@Override
public List<String> fieldCompletion(String input, String query, String context) {
List<String> list = new ArrayList<>();
Grant g = getGrant();
if (FIELD_FORMATIONSREFERENTDEACCUEIL.equals(input)) {
String delegation = champDelegation();
AppLog.info(getClass(),"fieldCompletion","delegation : "+delegation,g);
String role = "LADOM_GROUP_CIP"; // filtrer par les référents par CIP
list = LadPmfpUtils.getListeReferent(g, query, delegation,role);
}
/////////////
public String champDelegation(){
//String js = "$ui.getUIField(ctn,\"LadFormations\",\"ladFormationsDelegation\", \"ladFormations_LadDossierPmfp_id\").ui.val()";
String js = "document.getElementById(\"field_ladFormationsDelegation_idladFormations_LadDossierPmfp_id\").value";
return javascript(js);
}
Des conseils ou une autre méthode pour récupérer dynamiquement la valeur de Delegation d’accueil dès qu’on saisit des caractères dans le champ Référent d’accueil, car je n’arrive pas à trouver de réponses dans les autres topics.
Merci
Technical information
Instance /health
[Platform]
Status=OK
Version=5.2.32
BuiltOn=2023-02-20 14:49
Git=5.2/1b459f7ae61e5505e72dd1066bd993e48224bcf7
Encoding=UTF-8
EndpointIP=172.18.0.5
EndpointURL=http://64d0b3d5474f:8080
TimeZone=UTC
SystemDate=2023-03-13 15:52:31
[Application]
ApplicationVersion=2.1.83
ContextPath=
ContextURL=http://localhost:8080
ActiveSessions=1
TotalUsers=12
EnabledUsers=10
LastLoginDate=2023-03-13 15:45:50
[Server]
ServerInfo=Apache Tomcat/9.0.71
ServerType=WEB
ServerActiveSessions=1
ServerSessionTimeout=30
[OS]
Name=Linux
Architecture=amd64
Version=5.10.16.3-microsoft-standard-WSL2
DockerImageName=centos7
SystemEncoding=UTF-8
[JavaVM]
Version=17.0.6
Vendor=Eclipse Adoptium
VMName=OpenJDK 64-Bit Server VM
VMVersion=17.0.6+10
ScriptEngine=rhino
ScriptEngineVersion=Rhino 1.7.13 2020 09 02
HeapFree=207738
HeapSize=454656
HeapMaxSize=6533120
TotalFreeSize=6286202
[Cache]
ObjectCache=237
ObjectCacheMax=10000
ObjectCacheRatio=2
ProcessCache=10
ProcessCacheMax=10000
ProcessCacheRatio=0
APIGrantCache=0
APIGrantCacheMax=1000
APIGrantRatio=0
[Database]
Vendor=3
ProductName=PostgreSQL
ProductVersion=13.6 (Debian 13.6-1.pgdg110+1)
DriverName=PostgreSQL JDBC Driver
DriverVersion=42.5.4
DBDate=2023-03-13 15:52:31
DBDateOffset=0
DBPatchLevel=5;P02;4a7c6ef246ac3b6b1fda22b913dd915c
UsingBLOBs=true
[Healthcheck]
Date=2023-03-13 15:52:31
ElapsedTime=292