11825 lines
422 KiB
Markdown
11825 lines
422 KiB
Markdown
DOCUMENTATION
|
||
TECHNIQUE
|
||
DU PROJET
|
||
Batik_WS_Com_Mob
|
||
12/08/2026
|
||
|
||
Partie 1 › Projet
|
||
Partie 1
|
||
Projet
|
||
| 12/08/2026 | Batik_WS_Com_Mob | 2 |
|
||
| ---------- | ---------------- | --- |
|
||
|
||
Partie 1 › Projet
|
||
Projet
|
||
Informations générales
|
||
Batik_WS_Com_Mob
|
||
Répertoire D:\Projets Windev\Batik\Nouvelle Version\WebService\Batik_WS_Com_Mob
|
||
Analyse associée D:\Projets Windev\Batik\Nouvelle
|
||
Version\WebService\Batik_WS_Com_Mob\WS_SYNCHRO.ana\WS_SYNCHRO.wda
|
||
Gabarit 190 Gensteel
|
||
Projet
|
||
Liste des éléments du projet
|
||
Nom Libellé
|
||
FEN_Connexion
|
||
FEN_Log
|
||
FEN_Principal
|
||
LIB_COMMUNE
|
||
LIB_DEBUG
|
||
LIB_EXE
|
||
LIB_GENERALE
|
||
LIB_GestionTableParamètres
|
||
LIB_ProcéduresGlobales
|
||
LIB_ProcéduresGlobales2
|
||
LIB_Structures
|
||
LIB_Traitements
|
||
LIB_WS
|
||
LIB_WS_MOB
|
||
WS_COM_MOBILE
|
||
WS_LICENCE
|
||
Statistiques
|
||
Nombre de fenêtres : 3
|
||
Nombre de collections de procédures : 11
|
||
12/08/2026 Batik_WS_Com_Mob 3
|
||
|
||
Partie 1 › Projet › Code
|
||
Projet
|
||
Code
|
||
Initialisation de Batik_WS_Com_Mob
|
||
CONSTANT
|
||
gcVersionWS ="Prod.A.002"
|
||
//Pensez à incrémenter cette constante à chaque déploiement
|
||
gcCLE_HASH_PASS ="MQC256Eex949eGgo"
|
||
gcCLE_CRYPT_TOKEN ="mtS321WdQ280Lysz"
|
||
gcPASS_FICHIERS ="marakech"
|
||
gcPasErreur ="0"
|
||
gcErreur_MauvaisToken ="401"
|
||
gcErreur_ParamIncorrect ="501"
|
||
gcErreur_Interne ="999"
|
||
Mdp1 = "62"
|
||
Mdp2 = "Langénieux"
|
||
Mdp3 = "eBdFfDxVfB"
|
||
//Constantes utilisées dans l'application mobile
|
||
cDoc_Brouillon = 0
|
||
cDoc_AEnvoyer = 1
|
||
cDoc_ARecevoir = 3
|
||
cDoc_Synchronisé = 5
|
||
cDoc_ASupprimer = 6
|
||
cDoc_ErreurSync = 7
|
||
//Commande utilisée par le mobile pour communiquer avec le WebService
|
||
// Commandes interprétées par le service
|
||
cCMD_ListeDocDmd = "S.DOC.LS"
|
||
cCMD_DocRpRecup = "S.DRpRc.EC"
|
||
cCMD_DocEcrit = "S.DOC.EC"
|
||
sCMD_DocSupprime = "S.DOC.SU"
|
||
cCMD_DocNoteEcrit = "S.DNT.EC"
|
||
cCMD_DocNoteSupprime = "S.DNT.SU"
|
||
cCMD_NoteEcrit = "S.NTE.EC"
|
||
cCMD_NoteSupprime = "S.NTE.SU"
|
||
cCMD_TempsEcrit = "S.TPS.EC"
|
||
cCMD_TempsEcrit_V2 = "S.TPS.EC.V2"
|
||
cCMD_TempsSupprime = "S.TPS.SU"
|
||
cCMD_CREcrit = "S.RPT.EC"
|
||
cCMD_CREcrit_V2 = "S.RPT.EC.V2"
|
||
cCMD_CRSupprime = "S.RPT.SU"
|
||
cCMD_RdvEcrit = "S.RDV.EC"
|
||
cCMD_RdvSupprime = "S.RDV.SU"
|
||
cCMD_RdvAPlanifierEcrit = "S.RDV.PL"
|
||
cCMD_RDVValidation = "S.RDV.V"
|
||
cCMD_RDVAnnulation = "S.RDV.ANN"
|
||
12/08/2026 Batik_WS_Com_Mob 4
|
||
|
||
Partie 1 › Projet › Code
|
||
cCMD_ParamAppliEcrit = "S.PRM.EC"
|
||
cCMD_MsgExtEcrit = "S.MSGEXT.EC"
|
||
//Commandes interprétées par le WebService
|
||
cCMD_RecupImgRapport ="W.IMG.Sauve"
|
||
cCMD_RechercheRDV ="W.RDV.RC"
|
||
cCMD_ListeRDV ="W.RDV.LS"
|
||
cCMD_ListeRDV_V2 ="W.RDV.LS.V2"
|
||
cCMD_LitINTER ="W.INT.LI" //Récupère le contenu d'une intervention
|
||
cCMD_LitINTER_V2 ="W.INT.LI.V2"
|
||
cCMD_ListeNonPlanifié="W.NPL.LS"
|
||
cCMD_ListeDOC ="W.DOC.LS"
|
||
cCMD_ListeTEMPS ="W.TPS.LS"
|
||
cCMD_LitParam ="W.PRM.LI"
|
||
cCMD_LitParam_V2 ="W.PRM.LI.V2" //Lit les paramètres métiers
|
||
cCMD_LitContexte ="W.CTX.LI" //Lit le contexte utilisateur
|
||
cCMD_IdClbRdvDroitC ="W.IDCLB.PL.D"
|
||
cCMD_ListeRDV_Clb ="W.RDV.Clb"
|
||
cCMD_ListeCh_Rapport ="W.INT.Ch.Rp" // liste des champs rapport
|
||
cCMD_Creation_Rapport="W.INT.Cr.Rp" // Création d'un rapport
|
||
cCMD_Cr_Structure_Mail ="W.INT.Cr.ME" // Création d'un email a partir d'un modèle
|
||
cCMD_ListeCh_Mail = "W.INT.Ch.ME" // liste des champs Modele Mail
|
||
cCMD_Envoyer_Mail = "W.INT.Cr.ME.EXT" // Envoie et création de message externe
|
||
//Paramètres
|
||
cParam_Mobile_Fonction_Recherche = "MOB_FONC_RECHERCHE"
|
||
cParam_Mobile_Saisie_Temps = "MOB_SAISIE_TEMPS"
|
||
cParam_Mobile_Rapport_Vers_Temps = "MOB_RAPPORT_VERS_TEMPS"
|
||
cParam_Mobile_Inter_Non_Planifiées = "MOB_INTER_NON_PLANIFIEES"
|
||
cParam_Mobile_NiveauTrace = "MOB_NIVEAU_TRACE"
|
||
cParam_Mobile_ChangeDateRDV = "MOB_CHANGER_DATE_DRV"
|
||
// Raport mobile
|
||
cRp_Inter = "INTER"
|
||
cRp_Dossier = "DOSSIER"
|
||
cRp_Client = "CLIENT"
|
||
cRp_CtSite = "CONTACT_SITE"
|
||
cRp_CR = "CR_INTER"
|
||
cRp_CtDonneurs = "DONNEURS_ORDRE"
|
||
cRp_Photo = "PHOTO_INTER"
|
||
cRp_RDV = "RDV_INTER"
|
||
cRp_Extra = "EXTRA"
|
||
cBufferHorsSer = "BufferHorsSerealisation"
|
||
cRubriquesModeleMail = "RubriquesModeleMail"
|
||
cCorpsModeleMail = "CorpsModeleMail"
|
||
NBPixelesXMilimetres = 3.7795275591
|
||
cParam_Civilite = "T.CV"
|
||
cParam_TypeRDV = "T.RDV"
|
||
cParam_StatusRDV = "S.RDV"
|
||
cParam_TypeInter = "T.INTER"
|
||
cParam_EtatInter = "E.INTER"
|
||
cParam_TypeDossier = "T.DOSS"
|
||
cParam_StatutDossier = "S.DOSS"
|
||
cParam_TypeClient = "T.CL"
|
||
cParam_StatutClient = "S.CL"
|
||
cParam_ApportClient = "T.APPOR.CL"
|
||
cParam_ApportOrigClient = "O.CL"
|
||
cParam_ModeReglClient = "M.REG"
|
||
cParam_TypeAction = "T.ACT"
|
||
12/08/2026 Batik_WS_Com_Mob 5
|
||
|
||
Partie 1 › Projet › Code
|
||
cParam_TypeSignCR = "T.SIGN"
|
||
cParam_RoleContact = "R.CT"
|
||
cParam_LigneRqSql = "L.RQ.SQL"
|
||
cParam_PeriodeRqSql = "P.RQ.SQL"
|
||
cParam_OrigAnnuRDV = "O.ANU.RDV"
|
||
cParam_MotifAnnuRDV = "M.ANU.RDV"
|
||
cParam_TypeDoc = "T.DOC"
|
||
cParam_EtatDoc = "E.DOC"
|
||
cparam_TypeLieu = "T.LIEU"
|
||
cparam_TypeTemps = "T.TEMPS"
|
||
cparam_TypeAdresse = "T.ADR"
|
||
cParam_ListeRapportMob = "Rapport_Mob"
|
||
cParam_ListeMailModele = "Mail_Modele"
|
||
cCle_RDVFait = "S.RDV.FAIT"
|
||
cCle_RDVAnnule = "S.RDV.ANNU"
|
||
cCle_RDVInter = "T.RDV.INTER"
|
||
cCle_RDVAPlanifier = "S.RDV.PLNF"
|
||
cCle_RDVConfirme = "S.RDV.CONF"
|
||
cCle_DossierAnnule = "S.DOSS.ANNU"
|
||
cCle_DossierOuvert = "S.DOSS.OUVT"
|
||
cCle_ClientParticulier = "T.CL.PRT"
|
||
cCle_CiviliteMadame = "T.CV.MME"
|
||
cCle_TypeDocRapport = "T.DOC.RAPPRT"
|
||
cCle_TypeDocImg = "T.DOC.PHOT"
|
||
cCle_TypeDocAutre = "T.DOC.AUTRE"
|
||
cCle_TypeDocNull = "T.DOC.NULL"
|
||
cCle_TypeDocMsgExt = "T.DOC.MSG.EXT"
|
||
cCle_TypeDocBatigest = "T.DOC.BTGEST"
|
||
cCle_TypeTempsGlobal = "T.TEMPS.GLB"
|
||
cCle_TypeTempsNull = "T.TEMPS.NULL"
|
||
cCle_TypeTempsNonAffecte = "T.TEMPS.TMPSNNFF"
|
||
cCle_TypeTempsInter = "T.TEMPS.INTER"
|
||
cCle_NumLigneReq200 = "L.RQ.SQL.200"
|
||
cCle_PeriodeSqlReq1Mois = "P.RQ.SQL.1M"
|
||
cCle_EtatDocAbsent = "E.DOC.ABS"
|
||
cCle_EtatDocPresent = "E.DOC.PRS"
|
||
cCle_EtatDocSyncro = "E.DOC.SYNCRO"
|
||
cCle_EtatInterTraite = "E.INTER.TRT"
|
||
cCle_EtatInterSansSuite = "E.INTER.CLSSSNSS"
|
||
cGestion_Colb = "A.GEST.CLB"
|
||
cGestion_ActionInter = "A.GEST.ACT.INTER"
|
||
cGestion_SuiviInter = "A.Suivi.Colb.Inter"
|
||
cGestion_NotesInter = "A.GEST.NOTES.INT"
|
||
cGestion_Rapport = "A.GEST.RAPPORT.INTER"
|
||
cGestion_MsgExt = "A.GEST.MSG.EXT"
|
||
cGestion_Param = "A.PARAM"
|
||
cGestion_Temps = "A.GEST.TEMPS"
|
||
cGestion_Equipe = "A.GEST.EQ"
|
||
cGestion_Dossier = "A.GEST.DOSSIER"
|
||
cGestion_Document = "A.GEST.DOC"
|
||
cGestion_R_I_SOC_ATCH = "A.R.IT.SOC.ATCH"
|
||
cGestion_R_I_RDV_EXST = "A.R.IT.RDV.EXST"
|
||
cGestion_R_I_RDV_EXST_DS = "A.R.IT.RDV.EXST.DS"
|
||
cGestion_Envoi_Email = "A.ENVOI.EMAIL"
|
||
cGestion_Creation_Rp = "A.CREATION.RAPPORT"
|
||
cGestion_A_PL_SOC_PRCP = "A.C.PL.SOC.PRCP"
|
||
cGestion_A_PL_SOC = "A.C.PL.SOC"
|
||
12/08/2026 Batik_WS_Com_Mob 6
|
||
|
||
Partie 1 › Projet › Code
|
||
cGestion_A_PL_EQ = "A.C.PL.EQ"
|
||
cGestion_DocNull = "A.DOC.NULL"
|
||
cGestion_DocPhoto = "A.DOC.PHOTO"
|
||
cGestion_DocAutre = "A.DOC.AUTRE"
|
||
cGestion_DocMsgExt = "A.DOC.MGS.EXT"
|
||
cGestion_DocRapport = "A.DOC.RAPPORT"
|
||
cGestion_DocBatigest = "A.DOC.BATIGEST"
|
||
cRub_Dossier = "DOSSIER"
|
||
cRub_Client = "CLIENT"
|
||
cRub_Inter = "INTER"
|
||
cRub_CtSite = "CONTACT_SITE"
|
||
cRub_CR = "CR_INTER"
|
||
cRub_CtDonneurs = "DONNEURS_ORDRE"
|
||
cRub_Photo = "PHOTO_INTER"
|
||
cRub_RDV = "RDV_INTER"
|
||
cRub_Extra = "EXTRA"
|
||
FIN
|
||
<COMPILE SI Configuration="Webservice_ISIS">
|
||
CONSTANTE
|
||
gcVersionNom ="Isis_WS_COM_MOBILE"
|
||
FIN
|
||
<SINON>
|
||
CONSTANTE
|
||
gcVersionNom ="WS_COM_MOBILE"
|
||
FIN
|
||
<FIN>
|
||
gsdParamApplication est une Source de Données
|
||
gnNbJoursLog est un entier = 10
|
||
gstContexte est un ST_ContexteMobile
|
||
gstParametres est un ST_TAB_PARAM
|
||
gtbaCleParametre est un tableau associatif d'entiers sur 8 octets
|
||
gtbaLibParametre est un tableau associatif de chaînes ANSI
|
||
gtbaGUIDCollaborateur est un tableau associatif de chaînes ANSI
|
||
gcnxBaseSync est une Connexion
|
||
gcnxReplica est une Connexion
|
||
gcnxBaseSync..Serveur ="127.0.0.1"
|
||
gcnxBaseSync..Provider =hAccèsHFClientServeur
|
||
gcnxBaseSync..Utilisateur ="superuser"
|
||
gcnxBaseSync..MotDePasse ="F911-Q927-K880-N196"
|
||
gcnxBaseSync..BaseDeDonnées =""
|
||
gcnxReplica..Serveur ="127.0.0.1"
|
||
gcnxReplica..Provider =hAccèsHFClientServeur
|
||
gcnxReplica..Utilisateur ="superuser"
|
||
gcnxReplica..MotDePasse ="F911-Q927-K880-N196"
|
||
gcnxReplica..BaseDeDonnées =""
|
||
gcnxReplica..Cryptage =hCryptageRC5_16
|
||
gsaPass est une chaîne ANSI
|
||
12/08/2026 Batik_WS_Com_Mob 7
|
||
|
||
Partie 1 › Projet › Code
|
||
gbContexteEnMemoire est un booléen
|
||
gbContexteEnMemoire=Vrai
|
||
//#A FAIRE Changer URL avec celle de SLAMM
|
||
<COMPILE SI Configuration="Webservice_ISIS">
|
||
WS_LICENCE..Adresse="https://crm.artisanspartenaires.com/WS_LICENCE_V3_WEB/awws/WS_LICENCE_V3.awws"
|
||
<SINON SI Configuration="Webservice_SLAMM">
|
||
WS_LICENCE..Adresse ="http://batik.slamm-bergeroux.com/WS_LICENCE_WEB/awws/WS_LICENCE.awws"
|
||
<SINON SI Configuration="Webservice_Bouvard">
|
||
WS_LICENCE..Adresse ="http://83.206.103.161:8010/WS_LICENCE_WEB/awws/WS_LICENCE.awws"
|
||
<SINON>
|
||
WS_LICENCE..Adresse ="https://omika.applilogik.fr/WS_LICENCE_WEB/awws/WS_LICENCE.awws"
|
||
<FIN>
|
||
LitConfigurationINI()
|
||
gsTEST est une chaîne ="VIDE"
|
||
//TraceINFO("Init projet : " + WebserviceAdresseIPClient())
|
||
gsCleMdp est une chaîne = Mdp1+Mdp3+Mdp2
|
||
<COMPILE SI Configuration="WS_COM_MOBILE">
|
||
LanceWebService()
|
||
FinProgramme()
|
||
<FIN>
|
||
Initialisation lors d'une connexion à une session prélancée de Batik_WS_Com_Mob
|
||
SI PAS DéclareContexteWebservice(gstContexte,gsTEST) ALORS
|
||
TraceCUMUL("Le contexte n'est pas restauré")
|
||
SINON
|
||
TraceCUMUL("Contexte Restauré " )
|
||
TraceCUMUL("gstContexte.bAuthentifié =" + gstContexte.bAuthentifié)
|
||
TraceCUMUL("=================")
|
||
TraceCUMUL("Contexte =" + SerialiseContexte())
|
||
TraceCUMUL("TEST =" + gsTEST)
|
||
TraceCUMUL("=================")
|
||
FIN
|
||
gstContexte.nNbConnexions ++
|
||
SI LIB_COMMUNE.gbTraceBufferReception ALORS
|
||
bufTest est un Buffer = WebserviceParamètre(paramBuffer)
|
||
TraceCUMUL("======== BUFFER =========")
|
||
TraceCUMUL(bufTest)
|
||
TraceCUMUL("======== BUFFER\ =========")
|
||
FIN
|
||
//InitialiseFichierTrace("Trace_" + gstContexte.saIdClient + DateSys() +".txt")
|
||
//TraceINFO("Init après Connexion : WS_COM_MOBILE " + ExeInfo(exeNom) + " " + ExeInfo(exeVersion) )
|
||
//TraceINFO("WebService : " + gcVersionNom + " Version : " + gcVersionWS)
|
||
//TraceINFO("Client :" + WebserviceAdresseIPClient( ))
|
||
//si gstContexte.bAuthentifié alors
|
||
// gstContexte.nNbConnexions++
|
||
////TraceINFO( "IdClient : " + gstContexte.saIdClient + rc ...
|
||
// + "Mobile : " + gstContexte.saIdMobile + rc ...
|
||
// + "Nb Connexions : " + gstContexte.nNbConnexions + rc ...
|
||
// + "Utilisateur : " + gstContexte.saNomUser )
|
||
//sinon
|
||
// TraceINFO("Ouverture de session")
|
||
//FIN
|
||
//
|
||
////Mémorise le contexte utilisateur mobile entre deux appels au WS
|
||
Fermeture de Batik_WS_Com_Mob
|
||
12/08/2026 Batik_WS_Com_Mob 8
|
||
|
||
Partie 1 › Projet › Code
|
||
HFermeConnexion(gcnxBaseSync)
|
||
HFermeConnexion(gcnxReplica)
|
||
TraceINFO("Fermeture de WS " )
|
||
TraceINFO("Contexte en sortie :" + SerialiseContexte())
|
||
TraceINFO("Fermeture de WS_COM_MOBILE")
|
||
Fermeture de session de Batik_WS_Com_Mob
|
||
TraceINFO("Fermeture de session ")
|
||
Projet
|
||
Erreurs, warnings et informations
|
||
ennoloC
|
||
engiL
|
||
Détail de l'erreur Localisation
|
||
La variable locale 'vRub' n'est pas utilisée. LIB_Traitements.ConstruireListeCha
|
||
mpModeleEmail
|
||
9 1
|
||
Procédure locale
|
||
Tous les chemins d'exécution possibles ne renvoient pas de valeur : il manque un RENVOYER LIB_Traitements.CreationTableauInt
|
||
| ou un RETOUR = <valeur> dans le traitement. | | DocRapport | | |
|
||
| ------------------------------------------- | --- | ---------- | --- | --- |
|
||
0 0
|
||
Procédure locale
|
||
Tous les chemins d'exécution possibles ne renvoient pas de valeur : il manque un RENVOYER LIB_Traitements.RqCompteRenduRe
|
||
| ou un RETOUR = <valeur> dans le traitement. | | mplirRapport | 0 | 0 |
|
||
| ------------------------------------------- | --- | ------------ | --- | --- |
|
||
Procédure locale
|
||
La variable locale 'n' n'est pas utilisée. LIB_Traitements.ConstruitTableauInt
|
||
| | | erventions_V2 | 9 | 2 |
|
||
| --- | --- | ------------- | --- | --- |
|
||
Procédure locale
|
||
Projet
|
||
Statistiques sur le code
|
||
| | | | ¹ .mmoc % | ¹ .tiart/.giL |
|
||
| --- | --- | --- | --------- | ------------- |
|
||
¹ sengiL
|
||
| LIB_COMMUNE | | | 79 10 | 7 |
|
||
| -------------------------- | ---------------- | --- | ------ | --- |
|
||
| LIB_DEBUG | | | 272 13 | 54 |
|
||
| LIB_EXE | | | 120 19 | 40 |
|
||
| LIB_GENERALE | | | 35 14 | 7 |
|
||
| LIB_GestionTableParamètres | | | 42 0 | 7 |
|
||
| LIB_ProcéduresGlobales | | | 309 7 | 34 |
|
||
| 12/08/2026 | Batik_WS_Com_Mob | | | 9 |
|
||
|
||
Partie 1 › Projet › Statistiques sur le code
|
||
| | | ¹ .mmoc % | ¹ .tiart/.giL |
|
||
| --- | --- | --------- | ------------- |
|
||
¹ sengiL
|
||
| LIB_ProcéduresGlobales2 | | 8 38 | 8 |
|
||
| ----------------------- | --- | ------- | --- |
|
||
| LIB_Structures | | 706 6 | 706 |
|
||
| LIB_Traitements | | 4915 9 | 78 |
|
||
| LIB_WS | | 67 0 | 67 |
|
||
| LIB_WS_MOB | | 336 16 | 48 |
|
||
| FEN_Connexion | | 84 0 | 28 |
|
||
| FEN_Log | | 68 0 | 34 |
|
||
| FEN_Principal | | 329 14 | 10 |
|
||
| Batik_WS_Com_Mob | | 362 10 | 90 |
|
||
| | | 7359 10 | 48 |
|
||
% comm. : Pourcentage de commentaires dans le code.
|
||
¹ Lignes : Nombre total de lignes de code.
|
||
Lig./trait. : Nombre de lignes de code par traitement.
|
||
| 12/08/2026 | Batik_WS_Com_Mob | | 10 |
|
||
| ---------- | ---------------- | --- | --- |
|
||
|
||
Partie 2 › Analyse
|
||
Partie 2
|
||
Analyse
|
||
| 12/08/2026 | Batik_WS_Com_Mob | 11 |
|
||
| ---------- | ---------------- | --- |
|
||
|
||
Partie 2 › Analyse
|
||
Analyse
|
||
Graphe
|
||
| 12/08/2026 | Batik_WS_Com_Mob | 12 |
|
||
| ---------- | ---------------- | --- |
|
||
|
||
Partie 2 › ... › D:\Projets Windev\Batik\Nouvelle Version\WebService\Batik_WS_Com_Mob\WS_SYNCHRO.ana\WS_SYNCHRO.wda › Graphe
|
||
| 12/08/2026 | Batik_WS_Com_Mob | 13 |
|
||
| ---------- | ---------------- | --- |
|
||
|
||
Partie 2 › ... › Informations générales
|
||
Analyse
|
||
Informations générales
|
||
WS_SYNCHRO.wda
|
||
D:\Projets Windev\Batik\Nouvelle
|
||
Répertoire
|
||
Version\WebService\Batik_WS_Com_Mob\WS_SYNCHRO.ana\
|
||
| Répertoire des fichiers de données | | Répertoire de l'application | | | | | |
|
||
| ---------------------------------- | --- | --------------------------- | --- | --- | --- | --- | --- |
|
||
N°génération Nb. fichiers Nb. rubriques Nb. liaisons Nb. connexions Nb. groupes
|
||
| 20 | 4 | 39 | | 0 | 1 | 0 | |
|
||
| --- | --- | --- | --- | --- | --- | --- | --- |
|
||
Analyse
|
||
Dictionnaire des rubriques
|
||
nolbuoD élC
|
||
euqinU élC
|
||
| | Rubrique | | Type | | | Utilisée par... | |
|
||
| --- | -------- | --- | ---- | --- | --- | --------------- | --- |
|
||
elliaT
|
||
| CL_ID | | | | | <Inutilisée> | | |
|
||
| --------- | --- | ------ | --- | --- | ------------ | --- | --- |
|
||
| CL_IP | | | | | <Inutilisée> | | |
|
||
| CL_IPv4 | | | | | <Inutilisée> | | |
|
||
| CL_IPv6 | | | | | <Inutilisée> | | |
|
||
| CL_NOM | | | | | <Inutilisée> | | |
|
||
| CL_Port | | | | | <Inutilisée> | | |
|
||
| CLE | | Chaîne | | 50 | PARAMETRES | | |
|
||
| CleComp | | | | | <Inutilisée> | | |
|
||
| IDCLIENTS | | | | | <Inutilisée> | | |
|
||
| IDMOBILES | | | | | <Inutilisée> | | |
|
||
Identifiant automatique (8
|
||
| IDTOMOB | | | | | TOMOB | | |
|
||
| ------------ | --- | --------------------------- | ---------------- | --- | ------------ | --- | --- |
|
||
| IDTOSRV | | Identifiant automatique (4 | | | TOSRV | | |
|
||
| IDTRAMES | | | | | <Inutilisée> | | |
|
||
| MO_ACTIF | | Booléen | | | MOBILES | | |
|
||
| MO_CLIENT | | | | | <Inutilisée> | | |
|
||
| MO_GUID | | | | | <Inutilisée> | | |
|
||
| MO_ID | | Identifiant automatique (8 | | | MOBILES | | |
|
||
| MO_ID_CLIENT | | | | | <Inutilisée> | | |
|
||
| MO_Mobile | | Chaîne | | 50 | MOBILES | | |
|
||
| TM_Buffer | | Autre mémo binaire | | | TOMOB | | |
|
||
| TM_CMD | | Chaîne | | 50 | TOMOB | | |
|
||
| TM_Date | | Date et Heure | | | TOMOB | | |
|
||
| TM_JSON | | Mémo texte | | | TOMOB | | |
|
||
| TM_Lu | | Booléen | | | TOMOB | | |
|
||
| 12/08/2026 | | | Batik_WS_Com_Mob | | | | 14 |
|
||
|
||
Partie 2 › ... › Dictionnaire des rubriques
|
||
nolbuoD élC
|
||
euqinU élC
|
||
| | Rubrique | | Type | | | Utilisée par... | |
|
||
| --- | -------- | --- | ---- | --- | --- | --------------- | --- |
|
||
elliaT
|
||
| TM_Mobile | | | Chaîne | 50 | TOMOB | | |
|
||
| --------------- | --- | --- | ------------------ | --- | ------------ | --- | --- |
|
||
| TM_MobileTM_CMD | | | Clé composée | 101 | TOMOB | | |
|
||
| TR_DATA | | | | | <Inutilisée> | | |
|
||
| TR_DEST | | | | | <Inutilisée> | | |
|
||
| TR_ETAT | | | | | <Inutilisée> | | |
|
||
| TR_ID | | | | | <Inutilisée> | | |
|
||
| TR_ID_CLIENT | | | | | <Inutilisée> | | |
|
||
| TR_ID_MOBILE | | | | | <Inutilisée> | | |
|
||
| TS_Buffer | | | Autre mémo binaire | | TOSRV | | |
|
||
| TS_CMD | | | Chaîne | 50 | TOSRV | | |
|
||
| TS_Date | | | Date et Heure | | TOSRV | | |
|
||
| TS_JSON | | | Mémo texte | | TOSRV | | |
|
||
| TS_Lu | | | Booléen | | TOSRV | | |
|
||
| TS_Mobile | | | Chaîne | 50 | TOSRV | | |
|
||
| VALTEXT | | | Mémo texte | | PARAMETRES | | |
|
||
Analyse
|
||
Connexions
|
||
¹ *nnoC .mT
|
||
| | | | | ruetasilitU | | | ¹ *cexE .mT |
|
||
| ------ | --------- | --- | ----------------- | ----------- | --------------------- | --- | ----------- |
|
||
| | Connexion | | Source de données | | Provider | | |
|
||
| cnxDev | | | | didier | WinDevClientServeurHF | | 30 30 |
|
||
localhost:4900
|
||
Connexion à 'localhost'
|
||
| Utilisée par... | | PARAMETRES | | MOBILES | | TOSRV | |
|
||
| --------------- | --- | ---------- | --- | ------- | --- | ----- | --- |
|
||
TOMOB
|
||
¹ Tm. Conn* : Timeout de connexion Tm. Exec* : Timeout d'exécution
|
||
Analyse
|
||
Fichiers et rubriques
|
||
| 12/08/2026 | | | Batik_WS_Com_Mob | | | | 15 |
|
||
| ---------- | --- | --- | ---------------- | --- | --- | --- | --- |
|
||
|
||
Partie 2 › ... › Fichiers et rubriques › Analyse
|
||
somém .sserpmoC
|
||
¹ * rcE/tceL .lnJ seénnod .tpyrC
|
||
noitarénég°N
|
||
.gerne elliaT xedni .tpyrC omém .tpyrC
|
||
| | noitaivérbA | | noitacilpéR | ¹ * étirucéS | |
|
||
| --- | ----------- | --- | ----------- | ------------ | --- |
|
||
¹ * secapsE
|
||
¹ * rcE .lnJ
|
||
| | | .otua .dI | oG2 ed + | | |
|
||
| --- | --- | --------- | -------- | --- | --- |
|
||
epyT
|
||
| MOBILES | | 3 69 | | | HFSQL |
|
||
| ------- | --- | ----- | --- | --- | ------ |
|
||
Client/Serv
|
||
eur
|
||
| PARAMETRES | | 2 68 | | | HFSQL |
|
||
| ---------- | --- | ----- | --- | --- | ------ |
|
||
Client/Serv
|
||
eur
|
||
| TOMOB | | 6 145 | | | HFSQL |
|
||
| ----- | --- | ------ | --- | --- | ------ |
|
||
Client/Serv
|
||
eur
|
||
| TOSRV | | 7 140 | | | HFSQL |
|
||
| ----- | --- | ------ | --- | --- | ------ |
|
||
Client/Serv
|
||
eur
|
||
¹ Espaces * : Complétion des chaînes par des espaces Jnl. Ecr * : Journalisation des écritures
|
||
Jnl. Lect/Ecr * : Journalisation des lectures et écritures Sécurité * : Mode sécurité renforcée
|
||
MOBILES
|
||
Fichiers et rubriques
|
||
Informations générales
|
||
| MOBILES | | MOBILES | | | |
|
||
| -------------- | --- | ----------------------- | --- | --- | --- |
|
||
| Nom sur disque | | MOBILES.fic | | | |
|
||
| Connexion | | Connexion à 'localhost' | | | |
|
||
Rubriques du fichier MOBILES
|
||
nolbuoD élC
|
||
euqinU élC tuaféd .laV
|
||
Libellé Type
|
||
| | | | | elliaT | sneS |
|
||
| ----- | ---------------------- | --- | ------------------------ | ------ | ---- |
|
||
| MO_ID | Identifiant de MOBILES | | Identifiant automatique | | |
|
||
(8 octets)
|
||
| MO_Mobile | Code unique | | Chaîne | 50 | |
|
||
| ---------- | ------------ | --- | ---------------- | --- | --- |
|
||
| MO_ACTIF | Mobile actif | | Booléen | | 0 |
|
||
| 12/08/2026 | | | Batik_WS_Com_Mob | | 16 |
|
||
|
||
Partie 2 › ... › Fichiers et rubriques › PARAMETRES › Fichiers et rubriques
|
||
PARAMETRES
|
||
Fichiers et rubriques
|
||
Informations générales
|
||
PARAMETRES PARAMETRES
|
||
Nom sur disque PARAMETRES.fic
|
||
Connexion Connexion à 'localhost'
|
||
Rubriques du fichier PARAMETRES
|
||
nolbuoD élC
|
||
| | | | euqinU élC | tuaféd .laV |
|
||
| --- | --- | --- | ---------- | ----------- |
|
||
Libellé Type
|
||
elliaT
|
||
sneS
|
||
| CLE | CLE | | 50 | |
|
||
| --- | --- | --- | --- | --- |
|
||
Chaîne
|
||
| VALTEXT | VALTEXT | Mémo texte | | |
|
||
| ---------- | ------- | ---------------- | --- | --- |
|
||
| 12/08/2026 | | Batik_WS_Com_Mob | | 17 |
|
||
|
||
Partie 2 › ... › Fichiers et rubriques › TOMOB › Fichiers et rubriques
|
||
TOMOB
|
||
Fichiers et rubriques
|
||
Informations générales
|
||
TOMOB TOMOB
|
||
Nom sur disque TOMOB.fic
|
||
Connexion Connexion à 'localhost'
|
||
Rubriques du fichier TOMOB
|
||
nolbuoD élC
|
||
| | | | euqinU élC | tuaféd .laV |
|
||
| --- | --- | --- | ---------- | ----------- |
|
||
Libellé Type
|
||
elliaT
|
||
sneS
|
||
| IDTOMOB | Identifiant de TOMOB | Identifiant automatique | | |
|
||
| ------- | -------------------- | ------------------------ | --- | --- |
|
||
(8 octets)
|
||
| TM_Date | TM_Date | Date et Heure | | |
|
||
| ------- | ------- | -------------- | --- | --- |
|
||
(aaaammjjhhmmssccc)
|
||
| TM_JSON | TM_JSON | Mémo texte | | |
|
||
| --------------- | ------------------ | ------------------ | --- | --- |
|
||
| TM_Mobile | TM_Mobile | Chaîne | 50 | |
|
||
| TM_Lu | TM_Lu | Booléen | | 0 |
|
||
| TM_Buffer | TM_Buffer | Autre mémo binaire | | |
|
||
| TM_CMD | TM_CMD | Chaîne | 50 | |
|
||
| TM_MobileTM_CMD | TM_Mobile + TM_CMD | Clé composée : | 101 | |
|
||
TM_Mobile+TM_CMD+TM
|
||
_Lu
|
||
| 12/08/2026 | | Batik_WS_Com_Mob | | 18 |
|
||
| ---------- | --- | ---------------- | --- | --- |
|
||
|
||
Partie 2 › ... › Fichiers et rubriques › TOSRV › Fichiers et rubriques
|
||
TOSRV
|
||
Fichiers et rubriques
|
||
Informations générales
|
||
TOSRV TOSRV
|
||
Nom sur disque TOSRV.fic
|
||
Connexion Connexion à 'localhost'
|
||
Rubriques du fichier TOSRV
|
||
nolbuoD élC
|
||
| | | | euqinU élC | tuaféd .laV |
|
||
| --- | --- | --- | ---------- | ----------- |
|
||
Libellé Type
|
||
elliaT
|
||
sneS
|
||
| IDTOSRV | Identifiant de TOSRV | Identifiant automatique | | |
|
||
| ------- | -------------------- | ------------------------ | --- | --- |
|
||
(4 octets)
|
||
| TS_Date | Date heure création | Date et Heure | | SYSDATE |
|
||
| ------- | ------------------- | -------------- | --- | -------- |
|
||
(aaaammjjhhmmssccc)
|
||
| TS_JSON | Données | Mémo texte | | |
|
||
| ---------- | --------- | ------------------ | --- | --- |
|
||
| TS_Lu | Lu | Booléen | | 0 |
|
||
| TS_Mobile | ID Mobile | Chaîne | 50 | |
|
||
| TS_Buffer | Buffer | Autre mémo binaire | | |
|
||
| TS_CMD | Commande | Chaîne | 50 | |
|
||
| 12/08/2026 | | Batik_WS_Com_Mob | | 19 |
|
||
|
||
Partie 3 › Fenêtre WINDEV
|
||
Partie 3
|
||
Fenêtre WINDEV
|
||
| 12/08/2026 | Batik_WS_Com_Mob | 20 |
|
||
| ---------- | ---------------- | --- |
|
||
|
||
Partie 3 › Fenêtre WINDEV
|
||
FEN_Principal
|
||
Image
|
||
FEN_Principal
|
||
Informations générales
|
||
FEN_Principal
|
||
D:\Projets Windev\Batik\Nouvelle
|
||
Fichier physique
|
||
Version\WebService\Batik_WS_Com_Mob\FEN_Principal.wdw
|
||
Créé par susana@applilogik.fr
|
||
Date de création 14/01/2026 08:47:29
|
||
Dernière modification par susana@applilogik.fr
|
||
Date dernière modification 16/01/2026 16:08:05
|
||
Titre FR: Principal
|
||
12/08/2026 Batik_WS_Com_Mob 21
|
||
|
||
Partie 3 › Fenêtre WINDEV › FEN_Principal › Informations générales
|
||
| Type fenêtre | | Fenêtre libre | | | |
|
||
| ------------------------ | ------------ | ----------------------------- | --------- | --------------- | --- |
|
||
| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | |
|
||
| Position X | 0 Position Y | | 0 Largeur | 1200 Hauteur | 599 |
|
||
| Visible | | Barre de titre | | Menu système | |
|
||
| Icône réduction | | Icône agrandissement | | Icône aide ctx. | |
|
||
| Barre de message | | Détourer le fond | | Mode 9 images | |
|
||
| Redimensionnable | | Avec grip | | Grip dans image | |
|
||
| Déplace/fond | | Sauve position | | Ascenseur auto. | |
|
||
| Gestion grande police | | Thème XP | | | |
|
||
Ctx. HFSQL indép.
|
||
| Etat initial | | Actif | | | |
|
||
| ------------------------------- | --- | ----------------------------------- | --- | --- | --- |
|
||
| Curseur survol | | 0 | | | |
|
||
| Copie d'écran | | Oui | | | |
|
||
| Unité des tailles | | Plateforme unique desktop OU mobile | | | |
|
||
| Ancrage au contenu | | <Aucun> | | | |
|
||
| Opacité | | 100 | | | |
|
||
| Titre personnalisé | | Oui | | | |
|
||
| Titre perso. : hauteur | | 30 | | | |
|
||
| Titre perso. : Affiche le titre | | Oui | | | |
|
||
| Pos. Menu Perso | | Non | | | |
|
||
| Icône de fermeture | | Oui | | | |
|
||
| Type cadre | | Double | | | |
|
||
| Transparence Vista | | Non | | | |
|
||
| Transparence gérée par Vista | | Non | | | |
|
||
| Appliquer le gabarit du projet | | <Défaut> | | | |
|
||
| Grisé : Utiliser couleur perso. | | Non | | | |
|
||
| Grisé : Algo pour images | | <Défaut> | | | |
|
||
| Style du menu | | Office XP | | | |
|
||
| Mode bulle d'aide | | Non | | | |
|
||
| Mode Bulle : Point chaud | | Haut gauche | | | |
|
||
| Mode Bulle : Décalage X | | 0 | | | |
|
||
| Mode Bulle : Décalage Y | | 0 | | | |
|
||
| Valide auto. | | 0 | | | |
|
||
| Lib. + tps restant | | Oui | | | |
|
||
| Pos. X Menu | | 6 | | | |
|
||
| Pos. Y Menu | | 28 | | | |
|
||
| Texte Markdown | | Non | | | |
|
||
| Mode menu ctx. | | <Aucun> | | | |
|
||
| M.C.U. | | Oui | | | |
|
||
| Anim. Ouverture | | 0 | | | |
|
||
| Anim. Fermeture | | 0 | | | |
|
||
| Durée Anim. Ouverture | | 100 | | | |
|
||
| Durée Anim. Fermeture | | 50 | | | |
|
||
| Adapte Taille contenu | | Non | | | |
|
||
| Assombri quand inactif | | Oui | | | |
|
||
Déplace souris sur bouton par
|
||
Non
|
||
| 12/08/2026 | | | Batik_WS_Com_Mob | | 22 |
|
||
| ---------- | --- | --- | ---------------- | --- | --- |
|
||
|
||
Partie 3 › Fenêtre WINDEV › FEN_Principal › Informations générales
|
||
| Compact. barres outils | | Non | | | | |
|
||
| ---------------------- | --- | --- | --- | --- | --- | --- |
|
||
Statistiques de la fenêtre
|
||
| | Champ de saisie | | 3 | Bouton | | 1 |
|
||
| --- | ------------------- | --- | --- | ---------------- | --- | --- |
|
||
| | Sélecteur | | 1 | Image | | 1 |
|
||
| | Table | | 5 | Combo | | 5 |
|
||
| | Onglet | | 1 | Superchamp | | 1 |
|
||
| | Option de sélecteur | | 2 | Colonne de table | | 19 |
|
||
| | Volet (Onglet) | | 3 | | | |
|
||
Nombre d'éléments dans la fenêtre : 42
|
||
FEN_Principal
|
||
Informations sur les champs
|
||
Fenêtre : FEN_Principal
|
||
Champ de saisie
|
||
euqitamotua tnemecaffE
|
||
euqitamotua eisias niF
|
||
reihcif eétsissa eisiaS
|
||
| | | | | eriotagilbo eisiaS | | .zroH tnemeliféD .trev tnemeliféD |
|
||
| --- | --- | --- | --- | ------------------ | --- | --------------------------------- |
|
||
latnoziroh .csA
|
||
essap ed toM
|
||
| | | | BAT ehcuoT | | cnalb à esiM ediv is LLUN | lacitrev .csA |
|
||
| --- | --------------------- | --- | ------------------------ | --------------------- | ------------------------- | ------------- |
|
||
| | | | laitini tatE eisias epyT | engilitluM FTR tamroF | | |
|
||
| | X noitisoP Y noitisoP | | | | | |
|
||
ruegraL ruetuaH
|
||
elbisiV
|
||
nalP
|
||
| SAI_DateDebut | 606 19 | 131 41 0 | Actif Date | Non | | |
|
||
| ------------- | ------ | -------- | ---------- | --- | --- | --- |
|
||
| SAI_DateFin | 743 19 | 131 41 0 | Actif Date | Non | | |
|
||
Sélecteur
|
||
ellennoitroporp .loC
|
||
| | | | | | BAT ehcuoT sennoloc .bN | |
|
||
| --- | --- | --- | --- | ------------ | ----------------------- | ----------- |
|
||
| | | | | laitini tatE | | staté siorT |
|
||
X noitisoP Y noitisoP
|
||
ruegraL ruetuaH
|
||
elbisiV
|
||
nalP
|
||
| SEL_WSCom | | 880 29 | 295 28 | 0 Actif | | 2 |
|
||
| ---------- | --- | ------ | ---------------- | ------- | --- | --- |
|
||
| 12/08/2026 | | | Batik_WS_Com_Mob | | | 23 |
|
||
|
||
Partie 3 › Fenêtre WINDEV › FEN_Principal › Informations sur les champs
|
||
Image
|
||
| | | | | | | | | | | | cilc ruop eriatiroirP tuaféd rap eéminA | |
|
||
| --- | --- | --- | ---------- | ---------- | ------- | ------- | --- | --- | ------------ | --- | --------------------------------------- | ---------- |
|
||
| | | | | | | | | | laitini tatE | | | sucof cevA |
|
||
| | | | X noitisoP | Y noitisoP | | | | | | | | |
|
||
| | | | | | ruegraL | ruetuaH | | | | | cilc cevA | |
|
||
elbisiV
|
||
nalP
|
||
| IMG_Recharger | | | 1143 | | -2 49 | 31 | | 0 | Actif | | | |
|
||
| ------------- | --- | --- | ---- | --- | ----- | --- | --- | --- | ----- | --- | --- | --- |
|
||
Combo
|
||
reihcif eétsissa eisiaS
|
||
| | | | | | | | | | | eriotagilbo eisiaS | | .zroH tnemeliféD |
|
||
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | ------------------ | --- | ---------------- |
|
||
ruesnecsa elluB
|
||
ediv is LLUN
|
||
| | | | | | | | BAT ehcuoT | | eisias cevA | | | |
|
||
| --- | --- | ---------- | ---------- | ------- | ------- | ------------ | ---------- | -------- | ----------- | --- | --- | --- |
|
||
| | | X noitisoP | Y noitisoP | | | laitini tatE | | | | | | |
|
||
| | | | ruegraL | ruetuaH | | | | sruocraP | | | | |
|
||
| | | | | | elbisiV | | | reihciF | | | | |
|
||
eéirT
|
||
nalP
|
||
| CMB_Users | | 6 | 12 594 | 48 | 0 | Actif | | Mémoire | | Non | | |
|
||
| --------- | --- | --- | ------ | --- | --- | ----- | --- | ------- | --- | --- | --- | --- |
|
||
Superchamp
|
||
| | | | | | | | | | | | laitini tatE | BAT ehcuoT |
|
||
| --- | --- | --- | --- | ---------- | ---------- | ------- | --- | ------- | --- | --- | ------------ | ---------- |
|
||
| | | | | X noitisoP | Y noitisoP | | | | | | | |
|
||
| | | | | | | ruegraL | | ruetuaH | | | | |
|
||
elbisiV
|
||
nalP
|
||
| SC_Menu | | | | 8 | 66 | 1184 | | 491 | 0 | | Actif | |
|
||
| ------- | --- | --- | --- | --- | --- | ---- | --- | --- | --- | --- | ----- | --- |
|
||
Superchamp : SC_Menu
|
||
Champ de saisie
|
||
euqitamotua tnemecaffE
|
||
euqitamotua eisias niF
|
||
reihcif eétsissa eisiaS
|
||
| | | | | | | | | | eriotagilbo eisiaS | | .zroH tnemeliféD .trev tnemeliféD | |
|
||
| --- | --- | --- | --- | --- | --- | --- | --- | --- | ------------------ | --- | --------------------------------- | --- |
|
||
latnoziroh .csA
|
||
| | | | | | | | | essap ed toM | cnalb à esiM | ediv is LLUN | | lacitrev .csA |
|
||
| --- | ---------- | ---------- | --------------- | --- | ------------ | ---------------------- | ---------- | ------------ | ------------ | ------------ | --- | ------------- |
|
||
| | | | | | | BAT ehcuoT eisias epyT | | FTR tamroF | | | | |
|
||
| | X noitisoP | Y noitisoP | | | laitini tatE | | engilitluM | | | | | |
|
||
| | | | ruegraL ruetuaH | | | | | | | | | |
|
||
elbisiV
|
||
nalP
|
||
| SAI_Recherche | 754 | 77 | 339 48 | 0 | Actif | Texte | | Non | | | | |
|
||
| ------------- | --- | --- | ------ | --- | ---------------- | ----- | --- | --- | --- | --- | --- | --- |
|
||
| 12/08/2026 | | | | | Batik_WS_Com_Mob | | | | | | | 24 |
|
||
|
||
Partie 3 › Fenêtre WINDEV › FEN_Principal › Informations sur les champs
|
||
Bouton
|
||
notuob epyT
|
||
| | | | | | | | | laitini tatE BAT ehcuoT | | |
|
||
| --- | --- | --- | ---------- | ---------- | ------- | ------- | --- | ----------------------- | --- | --- |
|
||
| | | | X noitisoP | Y noitisoP | | | | | | |
|
||
| | | | | | ruegraL | ruetuaH | | | | |
|
||
elbisiV
|
||
nalP
|
||
| BTN_Recherche | | | 1099 | 101 | | 80 24 | 0 | Actif | Normal | |
|
||
| ------------- | --- | --- | ---- | --- | --- | ----- | --- | ----- | ------ | --- |
|
||
Table
|
||
eitros ne tnemertsigernE
|
||
ruesnecsa/egahciffA
|
||
| | | | | | | | | lennoitroporp .csA | .loc .gifnoc .oméM | |
|
||
| --- | ---------- | ---------- | --- | --- | ------------ | ---------- | ----------------------------- | ------------------------------ | ------------------ | -------------- |
|
||
| | | | | | | | )(ertliFH resilitU | ruesnecsa elluB EERTNE noitseG | eércna ennoloC | 5.5 elbitapmoC |
|
||
| | | | | | | | .gerne egacolB noitcelésitluM | edacsac eisiaS | | |
|
||
| | | | | | laitini tatE | BAT ehcuoT | | | | |
|
||
| | X noitisoP | Y noitisoP | | | | | sruocraP | | | |
|
||
ruegraL ruetuaH
|
||
| | | | | elbisiV | | reihciF | | | | |
|
||
| --- | --- | --- | --- | ------- | --- | ------- | --- | --- | --- | --- |
|
||
nalP
|
||
| TABLE_Colb | 13 | 229 | 442 321 | 0 | affichag | Mémoir | | | | 2 |
|
||
| -------------- | --- | --- | ------- | --- | -------- | ------ | --- | --- | --- | --- |
|
||
| TABLE_Contexte | 471 | 168 | 696 376 | 0 | affichag | Mémoir | | | | 2 |
|
||
| TABLE_Param | 24 | 224 | 432 328 | 0 | affichag | Mémoir | | | | 3 |
|
||
Mémoir
|
||
| TABLE_RDV | 16 | 222 1169 | 328 | 0 | affichag | | | | | 6 |
|
||
| ------------- | --- | -------- | ------- | --- | -------- | ------ | --- | --- | --- | --- |
|
||
| TABLE_RDVColb | 465 | 229 | 720 317 | 0 | affichag | Mémoir | | | | 6 |
|
||
Combo
|
||
reihcif eétsissa eisiaS
|
||
| | | | | | | | | eriotagilbo eisiaS | | .zroH tnemeliféD |
|
||
| --- | --- | --- | --- | --- | --- | --- | --- | ------------------ | --- | ---------------- |
|
||
ruesnecsa elluB
|
||
ediv is LLUN
|
||
| | | | | | | | BAT ehcuoT | eisias cevA | | |
|
||
| --- | ---------- | ---------- | ------- | ------- | ------- | ------------ | ---------- | ----------- | --- | --- |
|
||
| | X noitisoP | Y noitisoP | | | | laitini tatE | | | | |
|
||
| | | | | ruetuaH | | | sruocraP | | | |
|
||
| | | | ruegraL | | elbisiV | | reihciF | | | |
|
||
eéirT
|
||
nalP
|
||
| CMB_Proc | 14 | | 77 723 | 48 | 0 | Actif | Mémoire | Non | | |
|
||
| ------------- | --- | --- | ------ | --- | --- | ----- | ------- | --- | --- | --- |
|
||
| CMB_ProcColb | 14 | 161 | 1170 | 48 | 0 | Actif | Mémoire | Non | | |
|
||
| CMB_ProcParam | 24 | 168 | 432 | 48 | 0 | Actif | Mémoire | Non | | |
|
||
| CMB_ProcRDV | 16 | 168 | 1169 | 48 | 0 | Actif | Mémoire | Non | | |
|
||
Onglet
|
||
slennoitroporp steloV
|
||
engil/stelov .bN
|
||
BAT ehcuoT
|
||
| | | X noitisoP | Y noitisoP | | | | laitini tatE | stelov .soP | | |
|
||
| --- | --- | ---------- | ---------- | --- | --- | --- | ------------ | ----------- | --- | --- |
|
||
ruetuaH
|
||
ruegraL
|
||
elbisiV
|
||
nalP
|
||
| ONG_Info | | | 9 131 | 1182 | 425 | 0 | Actif | haut | | 0 |
|
||
| ---------- | --- | --- | ----- | ---- | ---------------- | --- | ----- | ---- | --- | --- |
|
||
| 12/08/2026 | | | | | Batik_WS_Com_Mob | | | | | 25 |
|
||
|
||
Partie 3 › Fenêtre WINDEV › FEN_Principal › Informations sur les champs
|
||
Table : SC_Menu.ONG_Info.TABLE_Colb
|
||
Colonne de table
|
||
reihcif eétsissa eisiaS
|
||
elbatsuja ruegraL
|
||
| | | ehcuag à eéxiF elbairt ennoloC | ehcrehcer cevA | | |
|
||
| --- | --- | ------------------------------ | --------------------------- | ---------------------- | ----------- |
|
||
| | | | .zroh egardaC .trev egardaC | | |
|
||
| | | laitini tatE elbaçalpéD | | eisias epyT FTR tamroF | eisias cevA |
|
||
engilitluM
|
||
ruegraL
|
||
elbisiV
|
||
| epyT | | | | | eéirT |
|
||
| --------------- | --- | ----- | ------------- | ------- | ----- |
|
||
| COL_C_IdColb | 176 | Actif | Droite Centre | Numériq | |
|
||
| COL_C_NomPrenom | 243 | Actif | Gauche Centre | Texte | |
|
||
Table : SC_Menu.ONG_Info.TABLE_Contexte
|
||
Colonne de table
|
||
reihcif eétsissa eisiaS
|
||
elbatsuja ruegraL
|
||
| | | ehcuag à eéxiF elbairt ennoloC | ehcrehcer cevA | | |
|
||
| --- | --- | ------------------------------ | --------------------------- | --- | --- |
|
||
| | | | .zroh egardaC .trev egardaC | | |
|
||
FTR tamroF
|
||
| | | laitini tatE elbaçalpéD | | eisias epyT engilitluM | eisias cevA |
|
||
| --- | --- | ----------------------- | --- | ---------------------- | ----------- |
|
||
ruegraL
|
||
elbisiV
|
||
| epyT | | | | | eéirT |
|
||
| ------------- | --- | ----- | ------------- | ----- | ----- |
|
||
| COL_C_Type | 100 | Actif | Gauche Centre | Texte | |
|
||
| COL_C_Libelle | 561 | Actif | Gauche Centre | Texte | |
|
||
Table : SC_Menu.ONG_Info.TABLE_Param
|
||
Colonne de table
|
||
reihcif eétsissa eisiaS
|
||
elbatsuja ruegraL
|
||
elbairt ennoloC ehcrehcer cevA
|
||
| | | ehcuag à eéxiF | .zroh egardaC | | |
|
||
| --- | --- | -------------- | ------------- | --- | --- |
|
||
.trev egardaC
|
||
| | | elbaçalpéD | | eisias epyT FTR tamroF | eisias cevA |
|
||
| --- | --- | ---------- | --- | ---------------------- | ----------- |
|
||
laitini tatE engilitluM
|
||
ruegraL elbisiV
|
||
| epyT | | | | | eéirT |
|
||
| ---- | --- | --- | --- | --- | ----- |
|
||
Numériq
|
||
| COL_IdParam | 118 | Actif | Droite Centre | | |
|
||
| ----------- | --- | ---------------- | ------------- | ----- | --- |
|
||
| COL_Type | 100 | Actif | Gauche Centre | Texte | |
|
||
| COL_Libelle | 196 | Actif | Gauche Centre | Texte | |
|
||
| 12/08/2026 | | Batik_WS_Com_Mob | | | 26 |
|
||
|
||
Partie 3 › Fenêtre WINDEV › FEN_Principal › Informations sur les champs
|
||
Table : SC_Menu.ONG_Info.TABLE_RDV
|
||
Colonne de table
|
||
reihcif eétsissa eisiaS
|
||
elbatsuja ruegraL
|
||
| | | ehcuag à eéxiF elbairt ennoloC | ehcrehcer cevA | | |
|
||
| --- | --- | ------------------------------ | --------------------------- | ---------------------- | ----------- |
|
||
| | | | .zroh egardaC .trev egardaC | | |
|
||
| | | laitini tatE elbaçalpéD | | eisias epyT FTR tamroF | eisias cevA |
|
||
engilitluM
|
||
ruegraL
|
||
elbisiV
|
||
| epyT | | | | | eéirT |
|
||
| ----------- | --- | ----- | ------------- | ------- | ----- |
|
||
| COL_IdRDV | 176 | Actif | Droite Centre | Numériq | |
|
||
| COL_IdInter | 133 | Actif | Droite Centre | Numériq | |
|
||
| COL_DateD | 119 | Actif | Droite Centre | Date | |
|
||
| COL_DateF | 114 | Actif | Droite Centre | Date | |
|
||
| COL_NInter | 132 | Actif | Gauche Centre | Texte | |
|
||
| COL_Lieu | 473 | Actif | Gauche Centre | Texte | |
|
||
Table : SC_Menu.ONG_Info.TABLE_RDVColb
|
||
Colonne de table
|
||
reihcif eétsissa eisiaS
|
||
elbatsuja ruegraL
|
||
| | | ehcuag à eéxiF elbairt ennoloC | ehcrehcer cevA | | |
|
||
| --- | --- | ------------------------------ | --------------------------- | ---------------------- | ----------- |
|
||
| | | | .zroh egardaC .trev egardaC | | |
|
||
| | | laitini tatE elbaçalpéD | | eisias epyT FTR tamroF | eisias cevA |
|
||
engilitluM
|
||
ruegraL
|
||
elbisiV
|
||
| epyT | | | | | eéirT |
|
||
| ------------- | --- | ----- | ------------- | ------- | ----- |
|
||
| COL_C_IdRDV | 176 | Actif | Droite Centre | Numériq | |
|
||
| COL_C_IdInter | 133 | Actif | Droite Centre | Numériq | |
|
||
| COL_C_DateD | 119 | Actif | Droite Centre | Date | |
|
||
| COL_C_DateF | 114 | Actif | Droite Centre | Date | |
|
||
| COL_C_NInter | 132 | Actif | Gauche Centre | Texte | |
|
||
| COL_C_Lieu | 16 | Actif | Gauche Centre | Texte | |
|
||
Fenêtre : FEN_Principal
|
||
| 12/08/2026 | | Batik_WS_Com_Mob | | | 27 |
|
||
| ---------- | --- | ---------------- | --- | --- | --- |
|
||
|
||
Partie 3 › Fenêtre WINDEV › FEN_Principal › Informations sur les champs
|
||
Combo : CMB_Users
|
||
Libellé FR: Liste des utilisateurs
|
||
Ordre navigation 1
|
||
Curseur survol 0
|
||
UI par l'utilisateur Selon fenêtre
|
||
Util. gValeurMémorisée pour valeur Oui
|
||
Taux Paral. hauteur 0
|
||
Taux Paral. Y 0
|
||
Épinglé Non
|
||
Masquer lors du scrolling Non
|
||
Cadrage horz. Gauche
|
||
Cadrage vert. Centre
|
||
Orientation verticale Non
|
||
Hauteur liste 0
|
||
Largeur liste 592
|
||
Larg. déroulée perso. Non
|
||
Hauteur ligne 20
|
||
Retrait gauche 2
|
||
Position X interne 8
|
||
Largeur interne 592
|
||
Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité)
|
||
Numéro aide 0
|
||
Opacité 100
|
||
Autorise ChangeGabarit Oui
|
||
Taille de saisie 0
|
||
Type saisie Texte
|
||
Mode ellipse <Aucun>
|
||
Unicode Non
|
||
Alignement sur l'axe secondaire défini par le champ flexbox (auto)
|
||
Facteur de rétrécissement 0
|
||
Facteur d'agrandissement 0
|
||
Saisie invalide Oui, bloquant
|
||
Saisie obligatoire (erreur) : Style Oui
|
||
Saisie obligatoire (erreur) : Texte Non
|
||
Saisie obligatoire (erreur) : Picto Non
|
||
Saisie obligatoire (indication) : Picto Non
|
||
Saisie obligatoire (indication) : Texte Non
|
||
Saisie obligatoire (indication) : Style Oui
|
||
Saisie invalide : Picto Non
|
||
Saisie invalide : Texte Non
|
||
Saisie invalide : Style Oui
|
||
Effacement automatique Non
|
||
Fin saisie automatique Non
|
||
Vide si zéro Non
|
||
Avec focus Oui
|
||
Redimensionnable Oui
|
||
Mémorise la taille Oui
|
||
Historique des saisies Non
|
||
Historique des sélections Non
|
||
gLienActive Oui
|
||
12/08/2026 Batik_WS_Com_Mob 28
|
||
|
||
Partie 3 › Fenêtre WINDEV › FEN_Principal › Informations sur les champs
|
||
Valeur persistante Non
|
||
Texte Markdown Non
|
||
Mode menu ctx. <Aucun>
|
||
Avec recherche Non
|
||
Nb. Enreg. Max 0
|
||
1ère ligne perso. Non
|
||
Personnaliser le picto AMI Non
|
||
Indice du picto AMI 1
|
||
Ancrage Largeur
|
||
Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 500 Taux anc. hauteur 1000
|
||
Image : IMG_Recharger
|
||
Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\WebService\Batik_WS_Com_Mob\cha.png
|
||
Curseur survol 0
|
||
UI par l'utilisateur Selon fenêtre
|
||
Menu manip. image <Aucun menu>
|
||
Taux Paral. hauteur 0
|
||
Taux Paral. Y 0
|
||
Épinglé Non
|
||
Masquer lors du scrolling Non
|
||
Cadrage horz. Gauche
|
||
Cadrage vert. Haut
|
||
Cadrage fonctions gXXX Tenir compte du cadrage
|
||
Numéro aide 0
|
||
Opacité 100
|
||
Ascenseur et zoom auto. Non
|
||
Autorise ChangeGabarit Oui
|
||
Alignement sur l'axe secondaire défini par le champ flexbox (auto)
|
||
Facteur de rétrécissement 0
|
||
Facteur d'agrandissement 0
|
||
Texte Markdown Non
|
||
Mode menu ctx. <Aucun>
|
||
Mire visible Oui
|
||
Zoom par double taps Oui
|
||
Mode 9 images Non
|
||
Chargement en fond Non
|
||
Orientation EXIF Oui
|
||
Personnaliser le picto AMI Non
|
||
Indice du picto AMI 1
|
||
Ancrage Droite
|
||
Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000
|
||
12/08/2026 Batik_WS_Com_Mob 29
|
||
|
||
Partie 3 › Fenêtre WINDEV › FEN_Principal › Informations sur les champs
|
||
Champ de saisie : SAI_DateDebut
|
||
Libellé FR: Date Début
|
||
Ordre navigation 2
|
||
Curseur survol 0
|
||
UI par l'utilisateur Selon fenêtre
|
||
Bouton Calendrier Oui
|
||
Bouton Calculatrice Oui
|
||
Bouton Suppression <Aucun>
|
||
Touche TAB Accessible par TAB
|
||
Taux Paral. hauteur 0
|
||
Taux Paral. Y 0
|
||
Épinglé Non
|
||
Masquer lors du scrolling Non
|
||
Ancrage au contenu <Aucun>
|
||
Cadrage horz. Droite
|
||
Position X interne 606
|
||
Largeur interne 126
|
||
Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité)
|
||
Numéro aide 0
|
||
Opacité 100
|
||
Autorise ChangeGabarit Oui
|
||
Sécurité HTML Oui
|
||
Visualisation markdown Non
|
||
Saisie manuscrite Non
|
||
Taille de saisie 0
|
||
Masque saisie FR: UseSystemMask
|
||
Format retour AAAAMMJJ
|
||
Borne dans bulle Non
|
||
Borne dans texte d'indication Oui
|
||
Sélection multiple Non
|
||
Mode ellipse <Aucun>
|
||
Lien automatique Non
|
||
Verifier l'orthographe Non
|
||
Unicode Non
|
||
Alignement sur l'axe secondaire défini par le champ flexbox (auto)
|
||
Facteur de rétrécissement 0
|
||
Facteur d'agrandissement 0
|
||
Asc. horizontal Jamais
|
||
Asc. vertical Jamais
|
||
Complétion système de fichier Non
|
||
Saisie invalide Oui, bloquant
|
||
Saisie obligatoire (erreur) : Style Oui
|
||
Saisie obligatoire (erreur) : Texte Non
|
||
Saisie obligatoire (erreur) : Picto Non
|
||
Saisie obligatoire (indication) : Picto Non
|
||
Saisie obligatoire (indication) : Texte Non
|
||
Saisie obligatoire (indication) : Style Oui
|
||
Saisie invalide : Picto Non
|
||
Saisie invalide : Texte Non
|
||
Saisie invalide : Style Oui
|
||
12/08/2026 Batik_WS_Com_Mob 30
|
||
|
||
Partie 3 › Fenêtre WINDEV › FEN_Principal › Informations sur les champs
|
||
Avec focus Oui
|
||
Historique des saisies Non
|
||
Valeurs multiples (jetons) Non
|
||
Autoriser les doublons Non
|
||
Jeton supprimable Oui
|
||
Valeur persistante Non
|
||
Barre d'outils RTF En saisie
|
||
Texte Markdown Non
|
||
Mode menu ctx. <Aucun>
|
||
Gestion Euro Non
|
||
Personnaliser le picto AMI Non
|
||
Indice du picto AMI 1
|
||
Bouton gauche : Nombre d'états 1
|
||
Bouton droit : Nombre d'états 1
|
||
Bouton gauche : Largeur 0
|
||
Bouton droit : Largeur 0
|
||
Bouton gauche : Hauteur 0
|
||
Bouton droit : Hauteur 0
|
||
Bouton gauche : Monochrome Non
|
||
Bouton droit : Monochrome Non
|
||
Ancrage
|
||
Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 100 Taux anc. hauteur 1000
|
||
Champ de saisie : SAI_DateFin
|
||
Libellé FR: Date Fin
|
||
Ordre navigation 3
|
||
Curseur survol 0
|
||
UI par l'utilisateur Selon fenêtre
|
||
Bouton Calendrier Oui
|
||
Bouton Calculatrice Oui
|
||
Bouton Suppression <Aucun>
|
||
Touche TAB Accessible par TAB
|
||
Taux Paral. hauteur 0
|
||
Taux Paral. Y 0
|
||
Épinglé Non
|
||
Masquer lors du scrolling Non
|
||
Ancrage au contenu <Aucun>
|
||
Cadrage horz. Droite
|
||
Position X interne 743
|
||
Largeur interne 126
|
||
Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité)
|
||
Numéro aide 0
|
||
Opacité 100
|
||
Autorise ChangeGabarit Oui
|
||
Sécurité HTML Oui
|
||
Visualisation markdown Non
|
||
Saisie manuscrite Non
|
||
12/08/2026 Batik_WS_Com_Mob 31
|
||
|
||
Partie 3 › Fenêtre WINDEV › FEN_Principal › Informations sur les champs
|
||
Taille de saisie 0
|
||
Masque saisie FR: UseSystemMask
|
||
Format retour AAAAMMJJ
|
||
Borne dans bulle Non
|
||
Borne dans texte d'indication Oui
|
||
Sélection multiple Non
|
||
Mode ellipse <Aucun>
|
||
Lien automatique Non
|
||
Verifier l'orthographe Non
|
||
Unicode Non
|
||
Alignement sur l'axe secondaire défini par le champ flexbox (auto)
|
||
Facteur de rétrécissement 0
|
||
Facteur d'agrandissement 0
|
||
Asc. horizontal Jamais
|
||
Asc. vertical Jamais
|
||
Complétion système de fichier Non
|
||
Saisie invalide Oui, bloquant
|
||
Saisie obligatoire (erreur) : Style Oui
|
||
Saisie obligatoire (erreur) : Texte Non
|
||
Saisie obligatoire (erreur) : Picto Non
|
||
Saisie obligatoire (indication) : Picto Non
|
||
Saisie obligatoire (indication) : Texte Non
|
||
Saisie obligatoire (indication) : Style Oui
|
||
Saisie invalide : Picto Non
|
||
Saisie invalide : Texte Non
|
||
Saisie invalide : Style Oui
|
||
Avec focus Oui
|
||
Historique des saisies Non
|
||
Valeurs multiples (jetons) Non
|
||
Autoriser les doublons Non
|
||
Jeton supprimable Oui
|
||
Valeur persistante Non
|
||
Barre d'outils RTF En saisie
|
||
Texte Markdown Non
|
||
Mode menu ctx. <Aucun>
|
||
Gestion Euro Non
|
||
Personnaliser le picto AMI Non
|
||
Indice du picto AMI 1
|
||
Bouton gauche : Nombre d'états 1
|
||
Bouton droit : Nombre d'états 1
|
||
Bouton gauche : Largeur 0
|
||
Bouton droit : Largeur 0
|
||
Bouton gauche : Hauteur 0
|
||
Bouton droit : Hauteur 0
|
||
Bouton gauche : Monochrome Non
|
||
Bouton droit : Monochrome Non
|
||
Ancrage
|
||
Taux anc. droite 600 Taux anc. bas 1000 Taux anc. largeur 100 Taux anc. hauteur 1000
|
||
12/08/2026 Batik_WS_Com_Mob 32
|
||
|
||
Partie 3 › Fenêtre WINDEV › FEN_Principal › Informations sur les champs
|
||
Superchamp : SC_Menu
|
||
Ordre navigation 5
|
||
UI par l'utilisateur Selon fenêtre
|
||
Taux Paral. hauteur 0
|
||
Taux Paral. Y 0
|
||
Épinglé Non
|
||
Masquer lors du scrolling Non
|
||
Largeur externe 1182
|
||
Hauteur externe 489
|
||
Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité)
|
||
Numéro aide 0
|
||
Autorise ChangeGabarit Oui
|
||
Alignement sur l'axe secondaire défini par le champ flexbox (auto)
|
||
Facteur de rétrécissement 0
|
||
Facteur d'agrandissement 0
|
||
Valeur persistante Non
|
||
Texte Markdown Non
|
||
Source de remplissage Fichier chargé en mémoire
|
||
Personnaliser le picto AMI Non
|
||
Indice du picto AMI 1
|
||
Ancrage Largeur et hauteur
|
||
Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000
|
||
Sélecteur : SEL_WSCom
|
||
Libellé FR: &Sélecteur 2 colonnes
|
||
Valeur initiale 1
|
||
Ordre navigation 4
|
||
Curseur survol 0
|
||
UI par l'utilisateur Selon fenêtre
|
||
Avec ValeurRenvoyée Oui
|
||
Taux Paral. hauteur 0
|
||
Taux Paral. Y 0
|
||
Épinglé Non
|
||
Masquer lors du scrolling Non
|
||
Ancrage au contenu <Aucun>
|
||
Cadrage horz. Gauche
|
||
Cadrage vert. Haut
|
||
Hauteur options auto Oui
|
||
Compacter option Oui
|
||
Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité)
|
||
Numéro aide 0
|
||
Opacité 100
|
||
Autorise ChangeGabarit Oui
|
||
Look Vista Non
|
||
12/08/2026 Batik_WS_Com_Mob 33
|
||
|
||
Partie 3 › Fenêtre WINDEV › FEN_Principal › Informations sur les champs
|
||
Type bandeau Libellé et sous-libellé
|
||
Alignement sur l'axe secondaire défini par le champ flexbox (auto)
|
||
Facteur de rétrécissement 0
|
||
Facteur d'agrandissement 0
|
||
Saisie obligatoire Non
|
||
Saisie obligatoire (erreur) : Style Oui
|
||
Saisie obligatoire (erreur) : Texte Non
|
||
Saisie obligatoire (erreur) : Picto Non
|
||
Valeur persistante Non
|
||
Option multilignes Non
|
||
Option format RTF Non
|
||
Texte Markdown Non
|
||
Mode menu ctx. <Aucun>
|
||
Image D:\Projets Windev\Batik\Nouvelle Version\WebService\Batik_WS_Com_Mob\Gabarits\WD\270
|
||
Nb. états image 1
|
||
Largeur image 64
|
||
Nb. étapes animation 1
|
||
Personnaliser le picto AMI Non
|
||
Indice du picto AMI 1
|
||
Ancrage Droite
|
||
Taux anc. droite 700 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000
|
||
Superchamp : SC_Menu
|
||
Bouton : SC_Menu.BTN_Recherche
|
||
Libellé FR: Rechercher
|
||
Ordre navigation 3
|
||
Curseur survol 0
|
||
UI par l'utilisateur Selon fenêtre
|
||
On/Off Non
|
||
Recopie Option menu flèche Non
|
||
Taux Paral. hauteur 0
|
||
Taux Paral. Y 0
|
||
Épinglé Non
|
||
Masquer lors du scrolling Non
|
||
Ancrage au contenu <Aucun>
|
||
Retrait gauche 0
|
||
Réduction Ruban Ne pas réduire le bouton
|
||
Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité)
|
||
Numéro aide 0
|
||
Opacité 100
|
||
Autorise ChangeGabarit Oui
|
||
Animée par défaut Oui
|
||
Mode ellipse <Aucun>
|
||
Alignement sur l'axe secondaire défini par le champ flexbox (auto)
|
||
12/08/2026 Batik_WS_Com_Mob 34
|
||
|
||
Partie 3 › Fenêtre WINDEV › FEN_Principal › Informations sur les champs
|
||
Facteur de rétrécissement 0
|
||
Facteur d'agrandissement 0
|
||
Type flèche <Aucun>
|
||
Texte Markdown Non
|
||
Mode menu ctx. <Aucun>
|
||
Nb. états image 1
|
||
Nb. états fond 1
|
||
Etirement de l'image de fond Largeur et hauteur
|
||
Nb. étapes animation 1
|
||
Largeur Halo 0
|
||
Hauteur Halo 0
|
||
Personnaliser le picto AMI Non
|
||
Indice du picto AMI 1
|
||
Ancrage Droite
|
||
Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000
|
||
Combo : SC_Menu.CMB_Proc
|
||
Libellé FR: Procédures
|
||
Ordre navigation 1
|
||
Curseur survol 0
|
||
UI par l'utilisateur Selon fenêtre
|
||
Util. gValeurMémorisée pour valeur Oui
|
||
Taux Paral. hauteur 0
|
||
Taux Paral. Y 0
|
||
Épinglé Non
|
||
Masquer lors du scrolling Non
|
||
Cadrage horz. Gauche
|
||
Cadrage vert. Centre
|
||
Orientation verticale Non
|
||
Hauteur liste 0
|
||
Largeur liste 721
|
||
Larg. déroulée perso. Non
|
||
Hauteur ligne 20
|
||
Retrait gauche 2
|
||
Position X interne 16
|
||
Largeur interne 721
|
||
Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité)
|
||
Numéro aide 0
|
||
Opacité 100
|
||
Autorise ChangeGabarit Oui
|
||
Taille de saisie 0
|
||
Type saisie Texte
|
||
Mode ellipse <Aucun>
|
||
Unicode Non
|
||
Alignement sur l'axe secondaire défini par le champ flexbox (auto)
|
||
Facteur de rétrécissement 0
|
||
Facteur d'agrandissement 0
|
||
12/08/2026 Batik_WS_Com_Mob 35
|
||
|
||
Partie 3 › Fenêtre WINDEV › FEN_Principal › Informations sur les champs
|
||
Saisie invalide Oui, bloquant
|
||
Saisie obligatoire (erreur) : Style Oui
|
||
Saisie obligatoire (erreur) : Texte Non
|
||
Saisie obligatoire (erreur) : Picto Non
|
||
Saisie obligatoire (indication) : Picto Non
|
||
Saisie obligatoire (indication) : Texte Non
|
||
Saisie obligatoire (indication) : Style Oui
|
||
Saisie invalide : Picto Non
|
||
Saisie invalide : Texte Non
|
||
Saisie invalide : Style Oui
|
||
Effacement automatique Non
|
||
Fin saisie automatique Non
|
||
Vide si zéro Non
|
||
Avec focus Oui
|
||
Redimensionnable Oui
|
||
Mémorise la taille Oui
|
||
Historique des saisies Non
|
||
Historique des sélections Non
|
||
gLienActive Oui
|
||
Valeur persistante Non
|
||
Texte Markdown Non
|
||
Mode menu ctx. <Aucun>
|
||
Avec recherche Non
|
||
Nb. Enreg. Max 0
|
||
1ère ligne perso. Non
|
||
Personnaliser le picto AMI Non
|
||
Indice du picto AMI 1
|
||
Ancrage Largeur
|
||
Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 600 Taux anc. hauteur 1000
|
||
Combo : SC_Menu.ONG_Info.CMB_ProcColb
|
||
Libellé FR: Procédures lié a un rendez-vous/ collaborateur sélectionné
|
||
Ordre navigation 1
|
||
Curseur survol 0
|
||
UI par l'utilisateur Selon fenêtre
|
||
Util. gValeurMémorisée pour valeur Oui
|
||
Taux Paral. hauteur 0
|
||
Taux Paral. Y 0
|
||
Épinglé Non
|
||
Masquer lors du scrolling Non
|
||
Cadrage horz. Gauche
|
||
Cadrage vert. Centre
|
||
Orientation verticale Non
|
||
Hauteur liste 0
|
||
Largeur liste 1168
|
||
Larg. déroulée perso. Non
|
||
Hauteur ligne 20
|
||
12/08/2026 Batik_WS_Com_Mob 36
|
||
|
||
Partie 3 › Fenêtre WINDEV › FEN_Principal › Informations sur les champs
|
||
Retrait gauche 2
|
||
Position X interne 16
|
||
Largeur interne 1168
|
||
Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité)
|
||
Numéro aide 0
|
||
Opacité 100
|
||
Autorise ChangeGabarit Oui
|
||
Taille de saisie 0
|
||
Type saisie Texte
|
||
Mode ellipse <Aucun>
|
||
Unicode Non
|
||
Alignement sur l'axe secondaire défini par le champ flexbox (auto)
|
||
Facteur de rétrécissement 0
|
||
Facteur d'agrandissement 0
|
||
Saisie invalide Oui, bloquant
|
||
Saisie obligatoire (erreur) : Style Oui
|
||
Saisie obligatoire (erreur) : Texte Non
|
||
Saisie obligatoire (erreur) : Picto Non
|
||
Saisie obligatoire (indication) : Picto Non
|
||
Saisie obligatoire (indication) : Texte Non
|
||
Saisie obligatoire (indication) : Style Oui
|
||
Saisie invalide : Picto Non
|
||
Saisie invalide : Texte Non
|
||
Saisie invalide : Style Oui
|
||
Effacement automatique Non
|
||
Fin saisie automatique Non
|
||
Vide si zéro Non
|
||
Avec focus Oui
|
||
Redimensionnable Oui
|
||
Mémorise la taille Oui
|
||
Historique des saisies Non
|
||
Historique des sélections Non
|
||
gLienActive Oui
|
||
Valeur persistante Non
|
||
Texte Markdown Non
|
||
Mode menu ctx. <Aucun>
|
||
Avec recherche Non
|
||
Nb. Enreg. Max 0
|
||
1ère ligne perso. Non
|
||
Personnaliser le picto AMI Non
|
||
Indice du picto AMI 1
|
||
Ancrage Largeur
|
||
Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000
|
||
12/08/2026 Batik_WS_Com_Mob 37
|
||
|
||
Partie 3 › Fenêtre WINDEV › FEN_Principal › Informations sur les champs
|
||
Combo : SC_Menu.ONG_Info.CMB_ProcParam
|
||
Libellé FR: Procédures lié aux paramètres
|
||
Ordre navigation 1
|
||
Curseur survol 0
|
||
UI par l'utilisateur Selon fenêtre
|
||
Util. gValeurMémorisée pour valeur Oui
|
||
Taux Paral. hauteur 0
|
||
Taux Paral. Y 0
|
||
Épinglé Non
|
||
Masquer lors du scrolling Non
|
||
Cadrage horz. Gauche
|
||
Cadrage vert. Centre
|
||
Orientation verticale Non
|
||
Hauteur liste 0
|
||
Largeur liste 432
|
||
Larg. déroulée perso. Non
|
||
Hauteur ligne 20
|
||
Retrait gauche 2
|
||
Position X interne 24
|
||
Largeur interne 432
|
||
Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité)
|
||
Numéro aide 0
|
||
Opacité 100
|
||
Autorise ChangeGabarit Oui
|
||
Taille de saisie 0
|
||
Type saisie Texte
|
||
Mode ellipse <Aucun>
|
||
Unicode Non
|
||
Alignement sur l'axe secondaire défini par le champ flexbox (auto)
|
||
Facteur de rétrécissement 0
|
||
Facteur d'agrandissement 0
|
||
Saisie invalide Oui, bloquant
|
||
Saisie obligatoire (erreur) : Style Oui
|
||
Saisie obligatoire (erreur) : Texte Non
|
||
Saisie obligatoire (erreur) : Picto Non
|
||
Saisie obligatoire (indication) : Picto Non
|
||
Saisie obligatoire (indication) : Texte Non
|
||
Saisie obligatoire (indication) : Style Oui
|
||
Saisie invalide : Picto Non
|
||
Saisie invalide : Texte Non
|
||
Saisie invalide : Style Oui
|
||
Effacement automatique Non
|
||
Fin saisie automatique Non
|
||
Vide si zéro Non
|
||
Avec focus Oui
|
||
Redimensionnable Oui
|
||
Mémorise la taille Oui
|
||
Historique des saisies Non
|
||
Historique des sélections Non
|
||
gLienActive Oui
|
||
12/08/2026 Batik_WS_Com_Mob 38
|
||
|
||
Partie 3 › Fenêtre WINDEV › FEN_Principal › Informations sur les champs
|
||
Valeur persistante Non
|
||
Texte Markdown Non
|
||
Mode menu ctx. <Aucun>
|
||
Avec recherche Non
|
||
Nb. Enreg. Max 0
|
||
1ère ligne perso. Non
|
||
Personnaliser le picto AMI Non
|
||
Indice du picto AMI 1
|
||
Ancrage
|
||
Taux anc. droite 0 Taux anc. bas 0 Taux anc. largeur 350 Taux anc. hauteur 1000
|
||
Combo : SC_Menu.ONG_Info.CMB_ProcRDV
|
||
Libellé FR: Procédures lié a un rendez-vous sélectionné
|
||
Ordre navigation 1
|
||
Curseur survol 0
|
||
UI par l'utilisateur Selon fenêtre
|
||
Util. gValeurMémorisée pour valeur Oui
|
||
Taux Paral. hauteur 0
|
||
Taux Paral. Y 0
|
||
Épinglé Non
|
||
Masquer lors du scrolling Non
|
||
Cadrage horz. Gauche
|
||
Cadrage vert. Centre
|
||
Orientation verticale Non
|
||
Hauteur liste 0
|
||
Largeur liste 1169
|
||
Larg. déroulée perso. Non
|
||
Hauteur ligne 20
|
||
Retrait gauche 2
|
||
Position X interne 16
|
||
Largeur interne 1169
|
||
Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité)
|
||
Numéro aide 0
|
||
Opacité 100
|
||
Autorise ChangeGabarit Oui
|
||
Taille de saisie 0
|
||
Type saisie Texte
|
||
Mode ellipse <Aucun>
|
||
Unicode Non
|
||
Alignement sur l'axe secondaire défini par le champ flexbox (auto)
|
||
Facteur de rétrécissement 0
|
||
Facteur d'agrandissement 0
|
||
Saisie invalide Oui, bloquant
|
||
Saisie obligatoire (erreur) : Style Oui
|
||
Saisie obligatoire (erreur) : Texte Non
|
||
Saisie obligatoire (erreur) : Picto Non
|
||
Saisie obligatoire (indication) : Picto Non
|
||
12/08/2026 Batik_WS_Com_Mob 39
|
||
|
||
Partie 3 › Fenêtre WINDEV › FEN_Principal › Informations sur les champs
|
||
Saisie obligatoire (indication) : Texte Non
|
||
Saisie obligatoire (indication) : Style Oui
|
||
Saisie invalide : Picto Non
|
||
Saisie invalide : Texte Non
|
||
Saisie invalide : Style Oui
|
||
Effacement automatique Non
|
||
Fin saisie automatique Non
|
||
Vide si zéro Non
|
||
Avec focus Oui
|
||
Redimensionnable Oui
|
||
Mémorise la taille Oui
|
||
Historique des saisies Non
|
||
Historique des sélections Non
|
||
gLienActive Oui
|
||
Valeur persistante Non
|
||
Texte Markdown Non
|
||
Mode menu ctx. <Aucun>
|
||
Avec recherche Non
|
||
Nb. Enreg. Max 0
|
||
1ère ligne perso. Non
|
||
Personnaliser le picto AMI Non
|
||
Indice du picto AMI 1
|
||
Ancrage Largeur
|
||
Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000
|
||
Onglet : SC_Menu.ONG_Info
|
||
Libellé FR: &Onglet
|
||
Valeur initiale 1
|
||
Ordre navigation 4
|
||
Curseur survol 0
|
||
Onglet dynamique Non
|
||
Libellé volet FR: Nouvel onglet
|
||
UI par l'utilisateur Selon fenêtre
|
||
Taux Paral. hauteur 0
|
||
Taux Paral. Y 0
|
||
Épinglé Non
|
||
Masquer lors du scrolling Non
|
||
Retrait gauche 0
|
||
Retrait des onglets 0
|
||
Numéro aide 0
|
||
Autorise ChangeGabarit Oui
|
||
Bouton Fermer Oui
|
||
Bouton Nouveau Oui
|
||
Volets détachables Oui
|
||
Mémoriser Configuration Non
|
||
Alignement sur l'axe secondaire défini par le champ flexbox (auto)
|
||
Facteur de rétrécissement 0
|
||
12/08/2026 Batik_WS_Com_Mob 40
|
||
|
||
Partie 3 › Fenêtre WINDEV › FEN_Principal › Informations sur les champs
|
||
Facteur d'agrandissement 0
|
||
Swipe Non
|
||
Mode affichage volets < Standard >
|
||
Valeur persistante Non
|
||
Texte Markdown Non
|
||
Mode menu ctx. <Aucun>
|
||
Nb. états image 1
|
||
Ancrage Largeur et hauteur
|
||
Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000
|
||
Champ de saisie : SC_Menu.SAI_Recherche
|
||
Libellé FR: Recherche d'une intervention
|
||
Ordre navigation 2
|
||
Curseur survol 0
|
||
UI par l'utilisateur Selon fenêtre
|
||
Bouton Calendrier Non
|
||
Bouton Calculatrice Non
|
||
Bouton Suppression <Aucun>
|
||
Touche TAB Accessible par TAB
|
||
Taux Paral. hauteur 0
|
||
Taux Paral. Y 0
|
||
Épinglé Non
|
||
Masquer lors du scrolling Non
|
||
Ancrage au contenu <Aucun>
|
||
Cadrage horz. Gauche
|
||
Position X interne 754
|
||
Largeur interne 339
|
||
Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité)
|
||
Numéro aide 0
|
||
Opacité 100
|
||
Autorise ChangeGabarit Oui
|
||
Sécurité HTML Oui
|
||
Visualisation markdown Non
|
||
Saisie manuscrite Non
|
||
Taille de saisie 0
|
||
Masque saisie FR: 0
|
||
Borne dans bulle Non
|
||
Borne dans texte d'indication Oui
|
||
Sélection multiple Non
|
||
Mode ellipse <Aucun>
|
||
Lien automatique Non
|
||
Verifier l'orthographe Non
|
||
Unicode Non
|
||
Alignement sur l'axe secondaire défini par le champ flexbox (auto)
|
||
Facteur de rétrécissement 0
|
||
Facteur d'agrandissement 0
|
||
Asc. horizontal Jamais
|
||
12/08/2026 Batik_WS_Com_Mob 41
|
||
|
||
Partie 3 › Fenêtre WINDEV › FEN_Principal › Informations sur les champs
|
||
Asc. vertical Automatique
|
||
Complétion système de fichier Non
|
||
Saisie invalide Oui, bloquant
|
||
Saisie obligatoire (erreur) : Style Oui
|
||
Saisie obligatoire (erreur) : Texte Non
|
||
Saisie obligatoire (erreur) : Picto Non
|
||
Saisie obligatoire (indication) : Picto Non
|
||
Saisie obligatoire (indication) : Texte Non
|
||
Saisie obligatoire (indication) : Style Oui
|
||
Saisie invalide : Picto Non
|
||
Saisie invalide : Texte Non
|
||
Saisie invalide : Style Oui
|
||
Avec focus Oui
|
||
Historique des saisies Non
|
||
Valeurs multiples (jetons) Non
|
||
Autoriser les doublons Non
|
||
Jeton supprimable Oui
|
||
Valeur persistante Non
|
||
Barre d'outils RTF En saisie
|
||
Texte Markdown Non
|
||
Mode menu ctx. <Aucun>
|
||
Gestion Euro Non
|
||
Personnaliser le picto AMI Non
|
||
Indice du picto AMI 1
|
||
Bouton gauche : Nombre d'états 1
|
||
Bouton droit : Nombre d'états 1
|
||
Bouton gauche : Largeur 0
|
||
Bouton droit : Largeur 0
|
||
Bouton gauche : Hauteur 0
|
||
Bouton droit : Hauteur 0
|
||
Bouton gauche : Monochrome Non
|
||
Bouton droit : Monochrome Non
|
||
Ancrage
|
||
Taux anc. droite 600 Taux anc. bas 1000 Taux anc. largeur 300 Taux anc. hauteur 1000
|
||
Table : SC_Menu.ONG_Info.TABLE_Colb
|
||
Libellé FR: Table
|
||
Ordre navigation 2
|
||
Curseur survol 0
|
||
Mode Loupe Filtre <contient>
|
||
UI par l'utilisateur Selon fenêtre
|
||
Taux Paral. hauteur 0
|
||
Taux Paral. Y 0
|
||
Épinglé Non
|
||
Masquer lors du scrolling Non
|
||
Hauteur ligne max. 0
|
||
Hauteur ligne (sans marges) 18
|
||
12/08/2026 Batik_WS_Com_Mob 42
|
||
|
||
Partie 3 › Fenêtre WINDEV › FEN_Principal › Informations sur les champs
|
||
Marge en haut 2
|
||
Marge en bas 2
|
||
Marge à gauche 5
|
||
Marge à droite 3
|
||
Sens Vertical
|
||
Retrait gauche 0
|
||
Angle titre 0
|
||
Cadrage fonctions gXXX Tenir compte du cadrage
|
||
Numéro aide 0
|
||
Opacité 100
|
||
Autorise ChangeGabarit Oui
|
||
Hauteur des lignes Non
|
||
Sélection multiple Non
|
||
Bulle sur tronqués Oui
|
||
Alignement sur l'axe secondaire défini par le champ flexbox (auto)
|
||
Facteur de rétrécissement 0
|
||
Facteur d'agrandissement 0
|
||
Scroll au pixel Oui
|
||
Scroll au doigt Non
|
||
Asc. horizontal Automatique
|
||
Asc. vertical Toujours visible
|
||
Mode de sélection Sélection simple
|
||
Sélect. colonnes Sans sélection
|
||
Sélect. cellules Sans sélection
|
||
Ajout éléments supplémentaires Non
|
||
Nb. max d'éléments 10000
|
||
Etat chargement Non
|
||
Retrait gauche FI détail 0
|
||
FI détail au survol Non
|
||
Même contenu/ligne Non
|
||
Aff. résultats Sans affichage
|
||
Somme FR: Somme
|
||
Moyenne FR: Moyenne
|
||
Compteur FR: Compteur
|
||
Minimum FR: Minimum
|
||
Maximum FR: Maximum
|
||
Sauve position auto Non
|
||
Ruptures Enroulables Oui
|
||
Titre multiligne Oui
|
||
Menu ctx. colonne Oui
|
||
Texte Markdown Non
|
||
Mode menu ctx. <Aucun>
|
||
Mémoriser filtres Non
|
||
Mémoriser tris Non
|
||
Nb. Enreg. Max 0
|
||
Ajout/Suppr. dans variable Oui
|
||
Synchro HFSQL C/S Jamais
|
||
Personnaliser le picto AMI Non
|
||
Indice du picto AMI 1
|
||
Ancrage Largeur et hauteur
|
||
Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 350 Taux anc. hauteur 1000
|
||
12/08/2026 Batik_WS_Com_Mob 43
|
||
|
||
Partie 3 › Fenêtre WINDEV › FEN_Principal › Informations sur les champs
|
||
Table : SC_Menu.ONG_Info.TABLE_Contexte
|
||
Libellé FR: Table
|
||
Ordre navigation 2
|
||
Curseur survol 0
|
||
Mode Loupe Filtre <contient>
|
||
UI par l'utilisateur Selon fenêtre
|
||
Taux Paral. hauteur 0
|
||
Taux Paral. Y 0
|
||
Épinglé Non
|
||
Masquer lors du scrolling Non
|
||
Hauteur ligne max. 5
|
||
Hauteur ligne (sans marges) 18
|
||
Marge en haut 2
|
||
Marge en bas 2
|
||
Marge à gauche 5
|
||
Marge à droite 3
|
||
Sens Vertical
|
||
Retrait gauche 0
|
||
Angle titre 0
|
||
Cadrage fonctions gXXX Tenir compte du cadrage
|
||
Numéro aide 0
|
||
Opacité 100
|
||
Autorise ChangeGabarit Oui
|
||
Hauteur des lignes Non
|
||
Sélection multiple Non
|
||
Bulle sur tronqués Oui
|
||
Alignement sur l'axe secondaire défini par le champ flexbox (auto)
|
||
Facteur de rétrécissement 0
|
||
Facteur d'agrandissement 0
|
||
Scroll au pixel Oui
|
||
Scroll au doigt Non
|
||
Asc. horizontal Automatique
|
||
Asc. vertical Toujours visible
|
||
Mode de sélection Sélection simple
|
||
Sélect. colonnes Sans sélection
|
||
Sélect. cellules Sans sélection
|
||
Ajout éléments supplémentaires Non
|
||
Nb. max d'éléments 10000
|
||
Etat chargement Non
|
||
Retrait gauche FI détail 0
|
||
FI détail au survol Non
|
||
Même contenu/ligne Non
|
||
Aff. résultats Sans affichage
|
||
Somme FR: Somme
|
||
Moyenne FR: Moyenne
|
||
Compteur FR: Compteur
|
||
Minimum FR: Minimum
|
||
Maximum FR: Maximum
|
||
Sauve position auto Non
|
||
Ruptures Enroulables Oui
|
||
12/08/2026 Batik_WS_Com_Mob 44
|
||
|
||
Partie 3 › Fenêtre WINDEV › FEN_Principal › Informations sur les champs
|
||
Titre multiligne Oui
|
||
Menu ctx. colonne Oui
|
||
Texte Markdown Non
|
||
Mode menu ctx. <Aucun>
|
||
Mémoriser filtres Non
|
||
Mémoriser tris Non
|
||
Nb. Enreg. Max 0
|
||
Ajout/Suppr. dans variable Oui
|
||
Synchro HFSQL C/S Jamais
|
||
Personnaliser le picto AMI Non
|
||
Indice du picto AMI 1
|
||
Ancrage Droite, largeur et hauteur
|
||
Taux anc. droite 350 Taux anc. bas 1000 Taux anc. largeur 650 Taux anc. hauteur 1000
|
||
Table : SC_Menu.ONG_Info.TABLE_Param
|
||
Libellé FR: Table
|
||
Ordre navigation 3
|
||
Curseur survol 0
|
||
Mode Loupe Filtre <contient>
|
||
UI par l'utilisateur Selon fenêtre
|
||
Taux Paral. hauteur 0
|
||
Taux Paral. Y 0
|
||
Épinglé Non
|
||
Masquer lors du scrolling Non
|
||
Hauteur ligne max. 5
|
||
Hauteur ligne (sans marges) 18
|
||
Marge en haut 2
|
||
Marge en bas 2
|
||
Marge à gauche 5
|
||
Marge à droite 3
|
||
Sens Vertical
|
||
Retrait gauche 0
|
||
Angle titre 0
|
||
Cadrage fonctions gXXX Tenir compte du cadrage
|
||
Numéro aide 0
|
||
Opacité 100
|
||
Autorise ChangeGabarit Oui
|
||
Hauteur des lignes Non
|
||
Sélection multiple Non
|
||
Bulle sur tronqués Oui
|
||
Alignement sur l'axe secondaire défini par le champ flexbox (auto)
|
||
Facteur de rétrécissement 0
|
||
Facteur d'agrandissement 0
|
||
Scroll au pixel Oui
|
||
Scroll au doigt Non
|
||
Asc. horizontal Automatique
|
||
Asc. vertical Toujours visible
|
||
12/08/2026 Batik_WS_Com_Mob 45
|
||
|
||
Partie 3 › Fenêtre WINDEV › FEN_Principal › Informations sur les champs
|
||
Mode de sélection Sélection simple
|
||
Sélect. colonnes Sans sélection
|
||
Sélect. cellules Sans sélection
|
||
Ajout éléments supplémentaires Non
|
||
Nb. max d'éléments 10000
|
||
Etat chargement Non
|
||
Retrait gauche FI détail 0
|
||
FI détail au survol Non
|
||
Même contenu/ligne Non
|
||
Aff. résultats Sans affichage
|
||
Somme FR: Somme
|
||
Moyenne FR: Moyenne
|
||
Compteur FR: Compteur
|
||
Minimum FR: Minimum
|
||
Maximum FR: Maximum
|
||
Sauve position auto Non
|
||
Ruptures Enroulables Oui
|
||
Titre multiligne Oui
|
||
Menu ctx. colonne Oui
|
||
Texte Markdown Non
|
||
Mode menu ctx. <Aucun>
|
||
Mémoriser filtres Non
|
||
Mémoriser tris Non
|
||
Nb. Enreg. Max 0
|
||
Ajout/Suppr. dans variable Oui
|
||
Synchro HFSQL C/S Jamais
|
||
Personnaliser le picto AMI Non
|
||
Indice du picto AMI 1
|
||
Ancrage Droite, largeur et hauteur
|
||
Taux anc. droite 0 Taux anc. bas 0 Taux anc. largeur 350 Taux anc. hauteur 1000
|
||
Table : SC_Menu.ONG_Info.TABLE_RDV
|
||
Libellé FR: Table
|
||
Ordre navigation 2
|
||
Curseur survol 0
|
||
Mode Loupe Filtre <contient>
|
||
UI par l'utilisateur Selon fenêtre
|
||
Taux Paral. hauteur 0
|
||
Taux Paral. Y 0
|
||
Épinglé Non
|
||
Masquer lors du scrolling Non
|
||
Hauteur ligne max. 0
|
||
Hauteur ligne (sans marges) 18
|
||
Marge en haut 2
|
||
Marge en bas 2
|
||
Marge à gauche 5
|
||
Marge à droite 3
|
||
12/08/2026 Batik_WS_Com_Mob 46
|
||
|
||
Partie 3 › Fenêtre WINDEV › FEN_Principal › Informations sur les champs
|
||
Sens Vertical
|
||
Retrait gauche 0
|
||
Angle titre 0
|
||
Cadrage fonctions gXXX Tenir compte du cadrage
|
||
Numéro aide 0
|
||
Opacité 100
|
||
Autorise ChangeGabarit Oui
|
||
Hauteur des lignes Non
|
||
Sélection multiple Non
|
||
Bulle sur tronqués Oui
|
||
Alignement sur l'axe secondaire défini par le champ flexbox (auto)
|
||
Facteur de rétrécissement 0
|
||
Facteur d'agrandissement 0
|
||
Scroll au pixel Oui
|
||
Scroll au doigt Non
|
||
Asc. horizontal Automatique
|
||
Asc. vertical Toujours visible
|
||
Mode de sélection Sélection simple
|
||
Sélect. colonnes Sans sélection
|
||
Sélect. cellules Sans sélection
|
||
Ajout éléments supplémentaires Non
|
||
Nb. max d'éléments 10000
|
||
Etat chargement Non
|
||
Retrait gauche FI détail 0
|
||
FI détail au survol Non
|
||
Même contenu/ligne Non
|
||
Aff. résultats Sans affichage
|
||
Somme FR: Somme
|
||
Moyenne FR: Moyenne
|
||
Compteur FR: Compteur
|
||
Minimum FR: Minimum
|
||
Maximum FR: Maximum
|
||
Sauve position auto Non
|
||
Ruptures Enroulables Oui
|
||
Titre multiligne Oui
|
||
Menu ctx. colonne Oui
|
||
Texte Markdown Non
|
||
Mode menu ctx. <Aucun>
|
||
Mémoriser filtres Non
|
||
Mémoriser tris Non
|
||
Nb. Enreg. Max 0
|
||
Ajout/Suppr. dans variable Oui
|
||
Synchro HFSQL C/S Jamais
|
||
Personnaliser le picto AMI Non
|
||
Indice du picto AMI 1
|
||
Ancrage Largeur et hauteur
|
||
Taux anc. droite 300 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000
|
||
12/08/2026 Batik_WS_Com_Mob 47
|
||
|
||
Partie 3 › Fenêtre WINDEV › FEN_Principal › Informations sur les champs
|
||
Table : SC_Menu.ONG_Info.TABLE_RDVColb
|
||
Libellé FR: Table
|
||
Ordre navigation 3
|
||
Curseur survol 0
|
||
Mode Loupe Filtre <contient>
|
||
UI par l'utilisateur Selon fenêtre
|
||
Taux Paral. hauteur 0
|
||
Taux Paral. Y 0
|
||
Épinglé Non
|
||
Masquer lors du scrolling Non
|
||
Hauteur ligne max. 0
|
||
Hauteur ligne (sans marges) 18
|
||
Marge en haut 2
|
||
Marge en bas 2
|
||
Marge à gauche 5
|
||
Marge à droite 3
|
||
Sens Vertical
|
||
Retrait gauche 0
|
||
Angle titre 0
|
||
Cadrage fonctions gXXX Tenir compte du cadrage
|
||
Numéro aide 0
|
||
Opacité 100
|
||
Autorise ChangeGabarit Oui
|
||
Hauteur des lignes Non
|
||
Sélection multiple Non
|
||
Bulle sur tronqués Oui
|
||
Alignement sur l'axe secondaire défini par le champ flexbox (auto)
|
||
Facteur de rétrécissement 0
|
||
Facteur d'agrandissement 0
|
||
Scroll au pixel Oui
|
||
Scroll au doigt Non
|
||
Asc. horizontal Automatique
|
||
Asc. vertical Toujours visible
|
||
Mode de sélection Sélection simple
|
||
Sélect. colonnes Sans sélection
|
||
Sélect. cellules Sans sélection
|
||
Ajout éléments supplémentaires Non
|
||
Nb. max d'éléments 10000
|
||
Etat chargement Non
|
||
Retrait gauche FI détail 0
|
||
FI détail au survol Non
|
||
Même contenu/ligne Non
|
||
Aff. résultats Sans affichage
|
||
Somme FR: Somme
|
||
Moyenne FR: Moyenne
|
||
Compteur FR: Compteur
|
||
Minimum FR: Minimum
|
||
Maximum FR: Maximum
|
||
Sauve position auto Non
|
||
Ruptures Enroulables Oui
|
||
12/08/2026 Batik_WS_Com_Mob 48
|
||
|
||
Partie 3 › Fenêtre WINDEV › FEN_Principal › Informations sur les champs
|
||
Titre multiligne Oui
|
||
Menu ctx. colonne Oui
|
||
Texte Markdown Non
|
||
Mode menu ctx. <Aucun>
|
||
Mémoriser filtres Non
|
||
Mémoriser tris Non
|
||
Nb. Enreg. Max 0
|
||
Ajout/Suppr. dans variable Oui
|
||
Synchro HFSQL C/S Jamais
|
||
Personnaliser le picto AMI Non
|
||
Indice du picto AMI 1
|
||
Ancrage Droite, largeur et hauteur
|
||
Taux anc. droite 350 Taux anc. bas 500 Taux anc. largeur 650 Taux anc. hauteur 1000
|
||
Table : SC_Menu.ONG_Info.TABLE_Colb
|
||
Colonne de table : SC_Menu.ONG_Info.TABLE_Colb.COL_C_IdColb (1)
|
||
Titre FR: Id Colb
|
||
Curseur survol 0
|
||
UI par l'utilisateur Selon fenêtre
|
||
Bouton Calculatrice Non
|
||
Touche TAB Accessible par TAB
|
||
Marge en haut 0
|
||
Marge en bas 0
|
||
Marge à gauche 0
|
||
Marge à droite 0
|
||
Retrait gauche 0
|
||
Numéro aide 0
|
||
Bandeau visible Oui
|
||
Taille de saisie 0
|
||
Mot de passe Non
|
||
Masque saisie FR: 99 999 999 999 999 999 999
|
||
Mode ellipse <Aucun>
|
||
Verifier l'orthographe Non
|
||
Unicode Non
|
||
Saisie obligatoire Non
|
||
Export/Impression Si visible (défaut)
|
||
Vide si zéro Non
|
||
Retour à la ligne Non
|
||
Coche tous dans entête Non
|
||
Ancrage <Aucun>
|
||
Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 200 Taux anc. hauteur 1000
|
||
12/08/2026 Batik_WS_Com_Mob 49
|
||
|
||
Partie 3 › Fenêtre WINDEV › FEN_Principal › Informations sur les champs
|
||
Colonne de table : SC_Menu.ONG_Info.TABLE_Colb.COL_C_NomPrenom (2)
|
||
Titre FR: Nom
|
||
Curseur survol 0
|
||
UI par l'utilisateur Selon fenêtre
|
||
Bouton Calculatrice Non
|
||
Touche TAB Accessible par TAB
|
||
Marge en haut 0
|
||
Marge en bas 0
|
||
Marge à gauche 0
|
||
Marge à droite 0
|
||
Retrait gauche 0
|
||
Numéro aide 0
|
||
Bandeau visible Oui
|
||
Taille de saisie 0
|
||
Mot de passe Non
|
||
Masque saisie FR: 0
|
||
Mode ellipse <Aucun>
|
||
Verifier l'orthographe Non
|
||
Unicode Non
|
||
Saisie obligatoire Non
|
||
Export/Impression Si visible (défaut)
|
||
Vide si zéro Non
|
||
Retour à la ligne Non
|
||
Coche tous dans entête Non
|
||
Ancrage <Aucun>
|
||
Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 800 Taux anc. hauteur 1000
|
||
Table : SC_Menu.ONG_Info.TABLE_Contexte
|
||
Colonne de table : SC_Menu.ONG_Info.TABLE_Contexte.COL_C_Type (1)
|
||
Curseur survol 0
|
||
UI par l'utilisateur Selon fenêtre
|
||
Bouton Calculatrice Non
|
||
Touche TAB Accessible par TAB
|
||
Marge en haut 0
|
||
Marge en bas 0
|
||
Marge à gauche 0
|
||
Marge à droite 0
|
||
Retrait gauche 0
|
||
Numéro aide 0
|
||
Bandeau visible Oui
|
||
Taille de saisie 0
|
||
Mot de passe Non
|
||
12/08/2026 Batik_WS_Com_Mob 50
|
||
|
||
Partie 3 › Fenêtre WINDEV › FEN_Principal › Informations sur les champs
|
||
Masque saisie FR: 0
|
||
Mode ellipse <Aucun>
|
||
Verifier l'orthographe Non
|
||
Unicode Non
|
||
Saisie obligatoire Non
|
||
Export/Impression Si visible (défaut)
|
||
Vide si zéro Non
|
||
Retour à la ligne Non
|
||
Coche tous dans entête Non
|
||
Ancrage <Aucun>
|
||
Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000
|
||
Colonne de table : SC_Menu.ONG_Info.TABLE_Contexte.COL_C_Libelle (2)
|
||
Curseur survol 0
|
||
UI par l'utilisateur Selon fenêtre
|
||
Bouton Calculatrice Non
|
||
Touche TAB Accessible par TAB
|
||
Marge en haut 0
|
||
Marge en bas 0
|
||
Marge à gauche 0
|
||
Marge à droite 0
|
||
Retrait gauche 0
|
||
Numéro aide 0
|
||
Bandeau visible Oui
|
||
Taille de saisie 0
|
||
Mot de passe Non
|
||
Masque saisie FR: 0
|
||
Mode ellipse <Aucun>
|
||
Verifier l'orthographe Non
|
||
Unicode Non
|
||
Saisie obligatoire Non
|
||
Export/Impression Si visible (défaut)
|
||
Vide si zéro Non
|
||
Retour à la ligne Oui
|
||
Coche tous dans entête Non
|
||
Ancrage <Aucun>
|
||
Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000
|
||
12/08/2026 Batik_WS_Com_Mob 51
|
||
|
||
Partie 3 › Fenêtre WINDEV › FEN_Principal › Informations sur les champs
|
||
Table : SC_Menu.ONG_Info.TABLE_Param
|
||
Colonne de table : SC_Menu.ONG_Info.TABLE_Param.COL_IdParam (1)
|
||
Titre FR: Id Paramètre
|
||
Curseur survol 0
|
||
UI par l'utilisateur Selon fenêtre
|
||
Bouton Calculatrice Non
|
||
Touche TAB Accessible par TAB
|
||
Marge en haut 0
|
||
Marge en bas 0
|
||
Marge à gauche 0
|
||
Marge à droite 0
|
||
Retrait gauche 0
|
||
Numéro aide 0
|
||
Bandeau visible Oui
|
||
Taille de saisie 0
|
||
Mot de passe Non
|
||
Masque saisie FR: 99 999 999 999 999 999 999
|
||
Mode ellipse <Aucun>
|
||
Verifier l'orthographe Non
|
||
Unicode Non
|
||
Saisie obligatoire Non
|
||
Export/Impression Si visible (défaut)
|
||
Vide si zéro Non
|
||
Retour à la ligne Non
|
||
Coche tous dans entête Non
|
||
Ancrage <Aucun>
|
||
Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000
|
||
Colonne de table : SC_Menu.ONG_Info.TABLE_Param.COL_Type (2)
|
||
Titre FR: Type
|
||
Curseur survol 0
|
||
UI par l'utilisateur Selon fenêtre
|
||
Bouton Calculatrice Non
|
||
Touche TAB Accessible par TAB
|
||
Marge en haut 0
|
||
Marge en bas 0
|
||
Marge à gauche 0
|
||
Marge à droite 0
|
||
Retrait gauche 0
|
||
Numéro aide 0
|
||
Bandeau visible Oui
|
||
Taille de saisie 0
|
||
12/08/2026 Batik_WS_Com_Mob 52
|
||
|
||
Partie 3 › Fenêtre WINDEV › FEN_Principal › Informations sur les champs
|
||
Mot de passe Non
|
||
Masque saisie FR: 0
|
||
Mode ellipse <Aucun>
|
||
Verifier l'orthographe Non
|
||
Unicode Non
|
||
Saisie obligatoire Non
|
||
Export/Impression Si visible (défaut)
|
||
Vide si zéro Non
|
||
Retour à la ligne Non
|
||
Coche tous dans entête Non
|
||
Ancrage <Aucun>
|
||
Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000
|
||
Colonne de table : SC_Menu.ONG_Info.TABLE_Param.COL_Libelle (3)
|
||
Titre FR: Libelle
|
||
Curseur survol 0
|
||
UI par l'utilisateur Selon fenêtre
|
||
Bouton Calculatrice Non
|
||
Touche TAB Accessible par TAB
|
||
Marge en haut 0
|
||
Marge en bas 0
|
||
Marge à gauche 0
|
||
Marge à droite 0
|
||
Retrait gauche 0
|
||
Numéro aide 0
|
||
Bandeau visible Oui
|
||
Taille de saisie 0
|
||
Mot de passe Non
|
||
Masque saisie FR: 0
|
||
Mode ellipse <Aucun>
|
||
Verifier l'orthographe Non
|
||
Unicode Non
|
||
Saisie obligatoire Non
|
||
Export/Impression Si visible (défaut)
|
||
Vide si zéro Non
|
||
Retour à la ligne Oui
|
||
Coche tous dans entête Non
|
||
Ancrage <Aucun>
|
||
Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000
|
||
12/08/2026 Batik_WS_Com_Mob 53
|
||
|
||
Partie 3 › Fenêtre WINDEV › FEN_Principal › Informations sur les champs
|
||
Table : SC_Menu.ONG_Info.TABLE_RDV
|
||
Colonne de table : SC_Menu.ONG_Info.TABLE_RDV.COL_IdRDV (1)
|
||
Titre FR: Id rdv
|
||
Curseur survol 0
|
||
UI par l'utilisateur Selon fenêtre
|
||
Bouton Calculatrice Non
|
||
Touche TAB Accessible par TAB
|
||
Marge en haut 0
|
||
Marge en bas 0
|
||
Marge à gauche 0
|
||
Marge à droite 0
|
||
Retrait gauche 0
|
||
Numéro aide 0
|
||
Bandeau visible Oui
|
||
Taille de saisie 0
|
||
Mot de passe Non
|
||
Masque saisie FR: 99 999 999 999 999 999 999
|
||
Mode ellipse <Aucun>
|
||
Verifier l'orthographe Non
|
||
Unicode Non
|
||
Saisie obligatoire Non
|
||
Export/Impression Si visible (défaut)
|
||
Vide si zéro Non
|
||
Retour à la ligne Non
|
||
Coche tous dans entête Non
|
||
Ancrage <Aucun>
|
||
Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000
|
||
Colonne de table : SC_Menu.ONG_Info.TABLE_RDV.COL_IdInter (2)
|
||
Titre FR: Id Inter
|
||
Curseur survol 0
|
||
UI par l'utilisateur Selon fenêtre
|
||
Bouton Calculatrice Non
|
||
Touche TAB Accessible par TAB
|
||
Marge en haut 0
|
||
Marge en bas 0
|
||
Marge à gauche 0
|
||
Marge à droite 0
|
||
Retrait gauche 0
|
||
Numéro aide 0
|
||
Bandeau visible Oui
|
||
Taille de saisie 0
|
||
12/08/2026 Batik_WS_Com_Mob 54
|
||
|
||
Partie 3 › Fenêtre WINDEV › FEN_Principal › Informations sur les champs
|
||
Mot de passe Non
|
||
Masque saisie FR: 99 999 999 999 999 999 999
|
||
Mode ellipse <Aucun>
|
||
Verifier l'orthographe Non
|
||
Unicode Non
|
||
Saisie obligatoire Non
|
||
Export/Impression Si visible (défaut)
|
||
Vide si zéro Non
|
||
Retour à la ligne Non
|
||
Coche tous dans entête Non
|
||
Ancrage <Aucun>
|
||
Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000
|
||
Colonne de table : SC_Menu.ONG_Info.TABLE_RDV.COL_DateD (3)
|
||
Titre FR: Début
|
||
Curseur survol 0
|
||
UI par l'utilisateur Selon fenêtre
|
||
Bouton Calculatrice Non
|
||
Touche TAB Accessible par TAB
|
||
Marge en haut 0
|
||
Marge en bas 0
|
||
Marge à gauche 0
|
||
Marge à droite 0
|
||
Retrait gauche 0
|
||
Numéro aide 0
|
||
Bandeau visible Oui
|
||
Taille de saisie 0
|
||
Mot de passe Non
|
||
Masque saisie FR: JJ/MM/AAAA HH:mm:SS
|
||
Mode ellipse <Aucun>
|
||
Verifier l'orthographe Non
|
||
Unicode Non
|
||
Saisie obligatoire Non
|
||
Export/Impression Si visible (défaut)
|
||
Vide si zéro Non
|
||
Retour à la ligne Non
|
||
Coche tous dans entête Non
|
||
Ancrage <Aucun>
|
||
Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000
|
||
12/08/2026 Batik_WS_Com_Mob 55
|
||
|
||
Partie 3 › Fenêtre WINDEV › FEN_Principal › Informations sur les champs
|
||
Colonne de table : SC_Menu.ONG_Info.TABLE_RDV.COL_DateF (4)
|
||
Titre FR: Fin
|
||
Curseur survol 0
|
||
UI par l'utilisateur Selon fenêtre
|
||
Bouton Calculatrice Non
|
||
Touche TAB Accessible par TAB
|
||
Marge en haut 0
|
||
Marge en bas 0
|
||
Marge à gauche 0
|
||
Marge à droite 0
|
||
Retrait gauche 0
|
||
Numéro aide 0
|
||
Bandeau visible Oui
|
||
Taille de saisie 0
|
||
Mot de passe Non
|
||
Masque saisie FR: JJ/MM/AAAA HH:mm:SS
|
||
Mode ellipse <Aucun>
|
||
Verifier l'orthographe Non
|
||
Unicode Non
|
||
Saisie obligatoire Non
|
||
Export/Impression Si visible (défaut)
|
||
Vide si zéro Non
|
||
Retour à la ligne Non
|
||
Coche tous dans entête Non
|
||
Ancrage <Aucun>
|
||
Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000
|
||
Colonne de table : SC_Menu.ONG_Info.TABLE_RDV.COL_NInter (5)
|
||
Titre FR: NInter
|
||
Curseur survol 0
|
||
UI par l'utilisateur Selon fenêtre
|
||
Bouton Calculatrice Non
|
||
Touche TAB Accessible par TAB
|
||
Marge en haut 0
|
||
Marge en bas 0
|
||
Marge à gauche 0
|
||
Marge à droite 0
|
||
Retrait gauche 0
|
||
Numéro aide 0
|
||
Bandeau visible Oui
|
||
Taille de saisie 0
|
||
Mot de passe Non
|
||
Masque saisie FR: 0
|
||
Mode ellipse <Aucun>
|
||
Verifier l'orthographe Non
|
||
12/08/2026 Batik_WS_Com_Mob 56
|
||
|
||
Partie 3 › Fenêtre WINDEV › FEN_Principal › Informations sur les champs
|
||
Unicode Non
|
||
Saisie obligatoire Non
|
||
Export/Impression Si visible (défaut)
|
||
Vide si zéro Non
|
||
Retour à la ligne Non
|
||
Coche tous dans entête Non
|
||
Ancrage <Aucun>
|
||
Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000
|
||
Colonne de table : SC_Menu.ONG_Info.TABLE_RDV.COL_Lieu (6)
|
||
Titre FR: Lieu
|
||
Curseur survol 0
|
||
UI par l'utilisateur Selon fenêtre
|
||
Bouton Calculatrice Non
|
||
Touche TAB Accessible par TAB
|
||
Marge en haut 0
|
||
Marge en bas 0
|
||
Marge à gauche 0
|
||
Marge à droite 0
|
||
Retrait gauche 0
|
||
Numéro aide 0
|
||
Bandeau visible Oui
|
||
Taille de saisie 0
|
||
Mot de passe Non
|
||
Masque saisie FR: 0
|
||
Mode ellipse <Aucun>
|
||
Verifier l'orthographe Non
|
||
Unicode Non
|
||
Saisie obligatoire Non
|
||
Export/Impression Si visible (défaut)
|
||
Vide si zéro Non
|
||
Retour à la ligne Non
|
||
Coche tous dans entête Non
|
||
Ancrage <Aucun>
|
||
Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000
|
||
12/08/2026 Batik_WS_Com_Mob 57
|
||
|
||
Partie 3 › Fenêtre WINDEV › FEN_Principal › Informations sur les champs
|
||
Table : SC_Menu.ONG_Info.TABLE_RDVColb
|
||
Colonne de table : SC_Menu.ONG_Info.TABLE_RDVColb.COL_C_IdRDV (1)
|
||
Titre FR: Id rdv
|
||
Curseur survol 0
|
||
UI par l'utilisateur Selon fenêtre
|
||
Bouton Calculatrice Non
|
||
Touche TAB Accessible par TAB
|
||
Marge en haut 0
|
||
Marge en bas 0
|
||
Marge à gauche 0
|
||
Marge à droite 0
|
||
Retrait gauche 0
|
||
Numéro aide 0
|
||
Bandeau visible Oui
|
||
Taille de saisie 0
|
||
Mot de passe Non
|
||
Masque saisie FR: 99 999 999 999 999 999 999
|
||
Mode ellipse <Aucun>
|
||
Verifier l'orthographe Non
|
||
Unicode Non
|
||
Saisie obligatoire Non
|
||
Export/Impression Si visible (défaut)
|
||
Vide si zéro Non
|
||
Retour à la ligne Non
|
||
Coche tous dans entête Non
|
||
Ancrage <Aucun>
|
||
Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000
|
||
Colonne de table : SC_Menu.ONG_Info.TABLE_RDVColb.COL_C_IdInter (2)
|
||
Titre FR: Id Inter
|
||
Curseur survol 0
|
||
UI par l'utilisateur Selon fenêtre
|
||
Bouton Calculatrice Non
|
||
Touche TAB Accessible par TAB
|
||
Marge en haut 0
|
||
Marge en bas 0
|
||
Marge à gauche 0
|
||
Marge à droite 0
|
||
Retrait gauche 0
|
||
Numéro aide 0
|
||
Bandeau visible Oui
|
||
Taille de saisie 0
|
||
12/08/2026 Batik_WS_Com_Mob 58
|
||
|
||
Partie 3 › Fenêtre WINDEV › FEN_Principal › Informations sur les champs
|
||
Mot de passe Non
|
||
Masque saisie FR: 99 999 999 999 999 999 999
|
||
Mode ellipse <Aucun>
|
||
Verifier l'orthographe Non
|
||
Unicode Non
|
||
Saisie obligatoire Non
|
||
Export/Impression Si visible (défaut)
|
||
Vide si zéro Non
|
||
Retour à la ligne Non
|
||
Coche tous dans entête Non
|
||
Ancrage <Aucun>
|
||
Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000
|
||
Colonne de table : SC_Menu.ONG_Info.TABLE_RDVColb.COL_C_DateD (3)
|
||
Titre FR: Début
|
||
Curseur survol 0
|
||
UI par l'utilisateur Selon fenêtre
|
||
Bouton Calculatrice Non
|
||
Touche TAB Accessible par TAB
|
||
Marge en haut 0
|
||
Marge en bas 0
|
||
Marge à gauche 0
|
||
Marge à droite 0
|
||
Retrait gauche 0
|
||
Numéro aide 0
|
||
Bandeau visible Oui
|
||
Taille de saisie 0
|
||
Mot de passe Non
|
||
Masque saisie FR: JJ/MM/AAAA HH:mm:SS
|
||
Mode ellipse <Aucun>
|
||
Verifier l'orthographe Non
|
||
Unicode Non
|
||
Saisie obligatoire Non
|
||
Export/Impression Si visible (défaut)
|
||
Vide si zéro Non
|
||
Retour à la ligne Non
|
||
Coche tous dans entête Non
|
||
Ancrage <Aucun>
|
||
Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000
|
||
12/08/2026 Batik_WS_Com_Mob 59
|
||
|
||
Partie 3 › Fenêtre WINDEV › FEN_Principal › Informations sur les champs
|
||
Colonne de table : SC_Menu.ONG_Info.TABLE_RDVColb.COL_C_DateF (4)
|
||
Titre FR: Fin
|
||
Curseur survol 0
|
||
UI par l'utilisateur Selon fenêtre
|
||
Bouton Calculatrice Non
|
||
Touche TAB Accessible par TAB
|
||
Marge en haut 0
|
||
Marge en bas 0
|
||
Marge à gauche 0
|
||
Marge à droite 0
|
||
Retrait gauche 0
|
||
Numéro aide 0
|
||
Bandeau visible Oui
|
||
Taille de saisie 0
|
||
Mot de passe Non
|
||
Masque saisie FR: JJ/MM/AAAA HH:mm:SS
|
||
Mode ellipse <Aucun>
|
||
Verifier l'orthographe Non
|
||
Unicode Non
|
||
Saisie obligatoire Non
|
||
Export/Impression Si visible (défaut)
|
||
Vide si zéro Non
|
||
Retour à la ligne Non
|
||
Coche tous dans entête Non
|
||
Ancrage <Aucun>
|
||
Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000
|
||
Colonne de table : SC_Menu.ONG_Info.TABLE_RDVColb.COL_C_NInter (5)
|
||
Titre FR: C_NInter
|
||
Curseur survol 0
|
||
UI par l'utilisateur Selon fenêtre
|
||
Bouton Calculatrice Non
|
||
Touche TAB Accessible par TAB
|
||
Marge en haut 0
|
||
Marge en bas 0
|
||
Marge à gauche 0
|
||
Marge à droite 0
|
||
Retrait gauche 0
|
||
Numéro aide 0
|
||
Bandeau visible Oui
|
||
Taille de saisie 0
|
||
Mot de passe Non
|
||
Masque saisie FR: 0
|
||
Mode ellipse <Aucun>
|
||
Verifier l'orthographe Non
|
||
12/08/2026 Batik_WS_Com_Mob 60
|
||
|
||
Partie 3 › Fenêtre WINDEV › FEN_Principal › Informations sur les champs
|
||
Unicode Non
|
||
Saisie obligatoire Non
|
||
Export/Impression Si visible (défaut)
|
||
Vide si zéro Non
|
||
Retour à la ligne Non
|
||
Coche tous dans entête Non
|
||
Ancrage <Aucun>
|
||
Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000
|
||
Colonne de table : SC_Menu.ONG_Info.TABLE_RDVColb.COL_C_Lieu (6)
|
||
Titre FR: C_Lieu
|
||
Curseur survol 0
|
||
UI par l'utilisateur Selon fenêtre
|
||
Bouton Calculatrice Non
|
||
Touche TAB Accessible par TAB
|
||
Marge en haut 0
|
||
Marge en bas 0
|
||
Marge à gauche 0
|
||
Marge à droite 0
|
||
Retrait gauche 0
|
||
Numéro aide 0
|
||
Bandeau visible Oui
|
||
Taille de saisie 0
|
||
Mot de passe Non
|
||
Masque saisie FR: 0
|
||
Mode ellipse <Aucun>
|
||
Verifier l'orthographe Non
|
||
Unicode Non
|
||
Saisie obligatoire Non
|
||
Export/Impression Si visible (défaut)
|
||
Vide si zéro Non
|
||
Retour à la ligne Non
|
||
Coche tous dans entête Non
|
||
Ancrage <Aucun>
|
||
Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000
|
||
FEN_Principal
|
||
Code
|
||
Déclarations globales de FEN_Principal
|
||
12/08/2026 Batik_WS_Com_Mob 61
|
||
|
||
Partie 3 › Fenêtre WINDEV › FEN_Principal › Code
|
||
PROCÉDURE FEN_Principal()
|
||
Fin d'initialisation de FEN_Principal
|
||
OuvreSoeur(FEN_Log)
|
||
InitComboProc()
|
||
Fermeture de FEN_Principal
|
||
SI OuiNon("Voulez-vous fermer l'application") = Oui ALORS
|
||
FinProgramme()
|
||
SINON
|
||
RepriseSaisie(FEN_Principal)
|
||
FIN
|
||
FEN_Principal
|
||
Code des champs
|
||
Initialisation de CMB_Users
|
||
// Version 1
|
||
// Description
|
||
// Combo liste simple
|
||
ListeSupprimeTout(CMB_Users)
|
||
POUR TOUT stUser, saCle de LIB_DEBUG.gtbaListeUsers
|
||
ListeAjoute(CMB_Users,saCle+gLien(saCle))
|
||
FIN
|
||
Sélection d'une ligne de CMB_Users
|
||
SelectUser()
|
||
Clic sur IMG_Recharger
|
||
SelectUser()
|
||
Initialisation de SAI_DateDebut
|
||
// Version 1
|
||
// Description
|
||
// Saisie d'une date avec calendrier
|
||
dDate est une Date = DateSys()
|
||
dDate..Mois -= 2
|
||
SAI_DateDebut = dDate
|
||
A chaque modification de SAI_DateDebut
|
||
LIB_DEBUG.gdDateDeb = SAI_DateDebut
|
||
Initialisation de SAI_DateFin
|
||
12/08/2026 Batik_WS_Com_Mob 62
|
||
|
||
Partie 3 › Fenêtre WINDEV › FEN_Principal › Code des champs
|
||
// Version 1
|
||
// Description
|
||
// Saisie d'une date avec calendrier
|
||
dDate est une Date = DateSys()
|
||
dDate..Mois += 2
|
||
SAI_DateFin = dDate
|
||
A chaque modification de SAI_DateFin
|
||
LIB_DEBUG.gdDateFin = SAI_DateFin
|
||
Initialisation de BTN_Recherche ( SC_Menu )
|
||
// Version 1
|
||
// Description
|
||
// Bouton simple
|
||
Clic sur BTN_Recherche ( SC_Menu )
|
||
TraiteReponse(cCMD_RechercheRDV)
|
||
Initialisation de CMB_Proc ( SC_Menu )
|
||
// Version 1
|
||
// Description
|
||
// Combo liste simple
|
||
Sélection d'une ligne de CMB_Proc ( SC_Menu )
|
||
SelectProcGlobal()
|
||
Initialisation de CMB_ProcColb ( SC_Menu )
|
||
// Version 1
|
||
// Description
|
||
// Combo liste simple
|
||
Sélection d'une ligne de CMB_ProcColb ( SC_Menu )
|
||
SelectProcColb()
|
||
Initialisation de CMB_ProcParam ( SC_Menu )
|
||
// Version 1
|
||
// Description
|
||
// Combo liste simple
|
||
Sélection d'une ligne de CMB_ProcParam ( SC_Menu )
|
||
SI LIB_DEBUG.gnIdInterChoisi <= 0 ALORS
|
||
Erreur("Veuillez sélectionner un rendez-vous")
|
||
RETOUR
|
||
FIN
|
||
12/08/2026 Batik_WS_Com_Mob 63
|
||
|
||
Partie 3 › Fenêtre WINDEV › FEN_Principal › Code des champs
|
||
SI CMB_ProcParam = cCMD_ListeCh_Rapport _ET_ LIB_DEBUG.gnIdRapportChoisi <= 0 ALORS
|
||
Erreur("Veuillez sélectionner un modèle de rapport")
|
||
RETOUR
|
||
FIN
|
||
SI CMB_ProcParam = cCMD_ListeCh_Mail _ET_ LIB_DEBUG.gnIdEmailChoisi <= 0 ALORS
|
||
Erreur("Veuillez sélectionner un modèle d'email")
|
||
RETOUR
|
||
FIN
|
||
SI CMB_ProcParam = cCMD_ListeCh_Rapport ALORS
|
||
TraiteReponse(cCMD_ListeCh_Rapport)
|
||
FIN
|
||
SI CMB_ProcParam = cCMD_ListeCh_Mail ALORS
|
||
TraiteReponse(cCMD_ListeCh_Mail)
|
||
FIN
|
||
Initialisation de CMB_ProcRDV ( SC_Menu )
|
||
// Version 1
|
||
// Description
|
||
// Combo liste simple
|
||
Sélection d'une ligne de CMB_ProcRDV ( SC_Menu )
|
||
SelectProcRDV()
|
||
Sélection d'une ligne de TABLE_Colb
|
||
SI TABLE_Colb > 0 _ET_ COL_C_IdColb[TABLE_Colb] > 0 ALORS
|
||
LIB_DEBUG.gnIdCollabChoisi = COL_C_IdColb[TABLE_Colb]
|
||
FIN
|
||
Ajout d'un jeton dans COL_C_IdColb ( TABLE_Colb )
|
||
PROCÉDURE AjoutJeton (MonJeton est un Jeton)
|
||
//RENVOYER Faux pour interdire l'ajout du jeton
|
||
RENVOYER Vrai
|
||
Suppression d'un jeton dans COL_C_IdColb ( TABLE_Colb )
|
||
PROCÉDURE SuppressionJeton(MonJeton est un Jeton)
|
||
//RENVOYER Faux pour interdire la suppression du jeton
|
||
RENVOYER Vrai
|
||
Clic sur un jeton de COL_C_IdColb ( TABLE_Colb )
|
||
PROCÉDURE ClicJeton (MonJeton est un Jeton)
|
||
Entrée en saisie d'un jeton de COL_C_IdColb ( TABLE_Colb )
|
||
PROCÉDURE EntreSaisieJeton (MonJeton est un Jeton)
|
||
12/08/2026 Batik_WS_Com_Mob 64
|
||
|
||
Partie 3 › Fenêtre WINDEV › FEN_Principal › Code des champs
|
||
//RENVOYER Faux pour interdire l'entrée en saisie du jeton
|
||
RENVOYER Vrai
|
||
Modification d'un jeton de COL_C_IdColb ( TABLE_Colb )
|
||
PROCÉDURE ModificationJeton (MonJeton est un Jeton)
|
||
// RENVOYER Faux pour interdire la modification du jeton
|
||
RENVOYER Vrai
|
||
Ajout d'un jeton dans COL_C_NomPrenom ( TABLE_Colb )
|
||
PROCÉDURE AjoutJeton (MonJeton est un Jeton)
|
||
//RENVOYER Faux pour interdire l'ajout du jeton
|
||
RENVOYER Vrai
|
||
Suppression d'un jeton dans COL_C_NomPrenom ( TABLE_Colb )
|
||
PROCÉDURE SuppressionJeton(MonJeton est un Jeton)
|
||
//RENVOYER Faux pour interdire la suppression du jeton
|
||
RENVOYER Vrai
|
||
Clic sur un jeton de COL_C_NomPrenom ( TABLE_Colb )
|
||
PROCÉDURE ClicJeton (MonJeton est un Jeton)
|
||
Entrée en saisie d'un jeton de COL_C_NomPrenom ( TABLE_Colb )
|
||
PROCÉDURE EntreSaisieJeton (MonJeton est un Jeton)
|
||
//RENVOYER Faux pour interdire l'entrée en saisie du jeton
|
||
RENVOYER Vrai
|
||
Modification d'un jeton de COL_C_NomPrenom ( TABLE_Colb )
|
||
PROCÉDURE ModificationJeton (MonJeton est un Jeton)
|
||
// RENVOYER Faux pour interdire la modification du jeton
|
||
RENVOYER Vrai
|
||
Ajout d'un jeton dans COL_C_Libelle ( TABLE_Contexte )
|
||
PROCÉDURE AjoutJeton (MonJeton est un Jeton)
|
||
//RENVOYER Faux pour interdire l'ajout du jeton
|
||
RENVOYER Vrai
|
||
Suppression d'un jeton dans COL_C_Libelle ( TABLE_Contexte )
|
||
PROCÉDURE SuppressionJeton(MonJeton est un Jeton)
|
||
//RENVOYER Faux pour interdire la suppression du jeton
|
||
RENVOYER Vrai
|
||
Clic sur un jeton de COL_C_Libelle ( TABLE_Contexte )
|
||
12/08/2026 Batik_WS_Com_Mob 65
|
||
|
||
Partie 3 › Fenêtre WINDEV › FEN_Principal › Code des champs
|
||
PROCÉDURE ClicJeton (MonJeton est un Jeton)
|
||
Entrée en saisie d'un jeton de COL_C_Libelle ( TABLE_Contexte )
|
||
PROCÉDURE EntreSaisieJeton (MonJeton est un Jeton)
|
||
//RENVOYER Faux pour interdire l'entrée en saisie du jeton
|
||
RENVOYER Vrai
|
||
Modification d'un jeton de COL_C_Libelle ( TABLE_Contexte )
|
||
PROCÉDURE ModificationJeton (MonJeton est un Jeton)
|
||
// RENVOYER Faux pour interdire la modification du jeton
|
||
RENVOYER Vrai
|
||
Ajout d'un jeton dans COL_C_Type ( TABLE_Contexte )
|
||
PROCÉDURE AjoutJeton (MonJeton est un Jeton)
|
||
//RENVOYER Faux pour interdire l'ajout du jeton
|
||
RENVOYER Vrai
|
||
Suppression d'un jeton dans COL_C_Type ( TABLE_Contexte )
|
||
PROCÉDURE SuppressionJeton(MonJeton est un Jeton)
|
||
//RENVOYER Faux pour interdire la suppression du jeton
|
||
RENVOYER Vrai
|
||
Clic sur un jeton de COL_C_Type ( TABLE_Contexte )
|
||
PROCÉDURE ClicJeton (MonJeton est un Jeton)
|
||
Entrée en saisie d'un jeton de COL_C_Type ( TABLE_Contexte )
|
||
PROCÉDURE EntreSaisieJeton (MonJeton est un Jeton)
|
||
//RENVOYER Faux pour interdire l'entrée en saisie du jeton
|
||
RENVOYER Vrai
|
||
Modification d'un jeton de COL_C_Type ( TABLE_Contexte )
|
||
PROCÉDURE ModificationJeton (MonJeton est un Jeton)
|
||
// RENVOYER Faux pour interdire la modification du jeton
|
||
RENVOYER Vrai
|
||
Sélection d'une ligne de TABLE_Param
|
||
SI TABLE_Param > 0 _ET_ COL_IdParam[TABLE_Param] > 0 ALORS
|
||
SI COL_Type[TABLE_Param] = cParam_ListeMailModele ALORS
|
||
LIB_DEBUG.gnIdEmailChoisi = COL_IdParam[TABLE_Param]
|
||
SINON SI COL_Type[TABLE_Param] = cParam_ListeRapportMob ALORS
|
||
LIB_DEBUG.gnIdRapportChoisi = COL_IdParam[TABLE_Param]
|
||
12/08/2026 Batik_WS_Com_Mob 66
|
||
|
||
Partie 3 › Fenêtre WINDEV › FEN_Principal › Code des champs
|
||
FIN
|
||
FIN
|
||
Ajout d'un jeton dans COL_IdParam ( TABLE_Param )
|
||
PROCÉDURE AjoutJeton (MonJeton est un Jeton)
|
||
//RENVOYER Faux pour interdire l'ajout du jeton
|
||
RENVOYER Vrai
|
||
Suppression d'un jeton dans COL_IdParam ( TABLE_Param )
|
||
PROCÉDURE SuppressionJeton(MonJeton est un Jeton)
|
||
//RENVOYER Faux pour interdire la suppression du jeton
|
||
RENVOYER Vrai
|
||
Clic sur un jeton de COL_IdParam ( TABLE_Param )
|
||
PROCÉDURE ClicJeton (MonJeton est un Jeton)
|
||
Entrée en saisie d'un jeton de COL_IdParam ( TABLE_Param )
|
||
PROCÉDURE EntreSaisieJeton (MonJeton est un Jeton)
|
||
//RENVOYER Faux pour interdire l'entrée en saisie du jeton
|
||
RENVOYER Vrai
|
||
Modification d'un jeton de COL_IdParam ( TABLE_Param )
|
||
PROCÉDURE ModificationJeton (MonJeton est un Jeton)
|
||
// RENVOYER Faux pour interdire la modification du jeton
|
||
RENVOYER Vrai
|
||
Ajout d'un jeton dans COL_Libelle ( TABLE_Param )
|
||
PROCÉDURE AjoutJeton (MonJeton est un Jeton)
|
||
//RENVOYER Faux pour interdire l'ajout du jeton
|
||
RENVOYER Vrai
|
||
Suppression d'un jeton dans COL_Libelle ( TABLE_Param )
|
||
PROCÉDURE SuppressionJeton(MonJeton est un Jeton)
|
||
//RENVOYER Faux pour interdire la suppression du jeton
|
||
RENVOYER Vrai
|
||
Clic sur un jeton de COL_Libelle ( TABLE_Param )
|
||
PROCÉDURE ClicJeton (MonJeton est un Jeton)
|
||
Entrée en saisie d'un jeton de COL_Libelle ( TABLE_Param )
|
||
12/08/2026 Batik_WS_Com_Mob 67
|
||
|
||
Partie 3 › Fenêtre WINDEV › FEN_Principal › Code des champs
|
||
PROCÉDURE EntreSaisieJeton (MonJeton est un Jeton)
|
||
//RENVOYER Faux pour interdire l'entrée en saisie du jeton
|
||
RENVOYER Vrai
|
||
Modification d'un jeton de COL_Libelle ( TABLE_Param )
|
||
PROCÉDURE ModificationJeton (MonJeton est un Jeton)
|
||
// RENVOYER Faux pour interdire la modification du jeton
|
||
RENVOYER Vrai
|
||
Ajout d'un jeton dans COL_Type ( TABLE_Param )
|
||
PROCÉDURE AjoutJeton (MonJeton est un Jeton)
|
||
//RENVOYER Faux pour interdire l'ajout du jeton
|
||
RENVOYER Vrai
|
||
Suppression d'un jeton dans COL_Type ( TABLE_Param )
|
||
PROCÉDURE SuppressionJeton(MonJeton est un Jeton)
|
||
//RENVOYER Faux pour interdire la suppression du jeton
|
||
RENVOYER Vrai
|
||
Clic sur un jeton de COL_Type ( TABLE_Param )
|
||
PROCÉDURE ClicJeton (MonJeton est un Jeton)
|
||
Entrée en saisie d'un jeton de COL_Type ( TABLE_Param )
|
||
PROCÉDURE EntreSaisieJeton (MonJeton est un Jeton)
|
||
//RENVOYER Faux pour interdire l'entrée en saisie du jeton
|
||
RENVOYER Vrai
|
||
Modification d'un jeton de COL_Type ( TABLE_Param )
|
||
PROCÉDURE ModificationJeton (MonJeton est un Jeton)
|
||
// RENVOYER Faux pour interdire la modification du jeton
|
||
RENVOYER Vrai
|
||
Sélection d'une ligne de TABLE_RDV
|
||
SI TABLE_RDV > 0 _ET_ COL_IdRDV[TABLE_RDV] > 0 ALORS
|
||
LIB_DEBUG.gnIdInterChoisi = COL_IdInter[TABLE_RDV]
|
||
FIN
|
||
Ajout d'un jeton dans COL_DateD ( TABLE_RDV )
|
||
PROCÉDURE AjoutJeton (MonJeton est un Jeton)
|
||
//RENVOYER Faux pour interdire l'ajout du jeton
|
||
12/08/2026 Batik_WS_Com_Mob 68
|
||
|
||
Partie 3 › Fenêtre WINDEV › FEN_Principal › Code des champs
|
||
RENVOYER Vrai
|
||
Suppression d'un jeton dans COL_DateD ( TABLE_RDV )
|
||
PROCÉDURE SuppressionJeton(MonJeton est un Jeton)
|
||
//RENVOYER Faux pour interdire la suppression du jeton
|
||
RENVOYER Vrai
|
||
Clic sur un jeton de COL_DateD ( TABLE_RDV )
|
||
PROCÉDURE ClicJeton (MonJeton est un Jeton)
|
||
Entrée en saisie d'un jeton de COL_DateD ( TABLE_RDV )
|
||
PROCÉDURE EntreSaisieJeton (MonJeton est un Jeton)
|
||
//RENVOYER Faux pour interdire l'entrée en saisie du jeton
|
||
RENVOYER Vrai
|
||
Modification d'un jeton de COL_DateD ( TABLE_RDV )
|
||
PROCÉDURE ModificationJeton (MonJeton est un Jeton)
|
||
// RENVOYER Faux pour interdire la modification du jeton
|
||
RENVOYER Vrai
|
||
Ajout d'un jeton dans COL_DateF ( TABLE_RDV )
|
||
PROCÉDURE AjoutJeton (MonJeton est un Jeton)
|
||
//RENVOYER Faux pour interdire l'ajout du jeton
|
||
RENVOYER Vrai
|
||
Suppression d'un jeton dans COL_DateF ( TABLE_RDV )
|
||
PROCÉDURE SuppressionJeton(MonJeton est un Jeton)
|
||
//RENVOYER Faux pour interdire la suppression du jeton
|
||
RENVOYER Vrai
|
||
Clic sur un jeton de COL_DateF ( TABLE_RDV )
|
||
PROCÉDURE ClicJeton (MonJeton est un Jeton)
|
||
Entrée en saisie d'un jeton de COL_DateF ( TABLE_RDV )
|
||
PROCÉDURE EntreSaisieJeton (MonJeton est un Jeton)
|
||
//RENVOYER Faux pour interdire l'entrée en saisie du jeton
|
||
RENVOYER Vrai
|
||
Modification d'un jeton de COL_DateF ( TABLE_RDV )
|
||
12/08/2026 Batik_WS_Com_Mob 69
|
||
|
||
Partie 3 › Fenêtre WINDEV › FEN_Principal › Code des champs
|
||
PROCÉDURE ModificationJeton (MonJeton est un Jeton)
|
||
// RENVOYER Faux pour interdire la modification du jeton
|
||
RENVOYER Vrai
|
||
Ajout d'un jeton dans COL_IdInter ( TABLE_RDV )
|
||
PROCÉDURE AjoutJeton (MonJeton est un Jeton)
|
||
//RENVOYER Faux pour interdire l'ajout du jeton
|
||
RENVOYER Vrai
|
||
Suppression d'un jeton dans COL_IdInter ( TABLE_RDV )
|
||
PROCÉDURE SuppressionJeton(MonJeton est un Jeton)
|
||
//RENVOYER Faux pour interdire la suppression du jeton
|
||
RENVOYER Vrai
|
||
Clic sur un jeton de COL_IdInter ( TABLE_RDV )
|
||
PROCÉDURE ClicJeton (MonJeton est un Jeton)
|
||
Entrée en saisie d'un jeton de COL_IdInter ( TABLE_RDV )
|
||
PROCÉDURE EntreSaisieJeton (MonJeton est un Jeton)
|
||
//RENVOYER Faux pour interdire l'entrée en saisie du jeton
|
||
RENVOYER Vrai
|
||
Modification d'un jeton de COL_IdInter ( TABLE_RDV )
|
||
PROCÉDURE ModificationJeton (MonJeton est un Jeton)
|
||
// RENVOYER Faux pour interdire la modification du jeton
|
||
RENVOYER Vrai
|
||
Ajout d'un jeton dans COL_IdRDV ( TABLE_RDV )
|
||
PROCÉDURE AjoutJeton (MonJeton est un Jeton)
|
||
//RENVOYER Faux pour interdire l'ajout du jeton
|
||
RENVOYER Vrai
|
||
Suppression d'un jeton dans COL_IdRDV ( TABLE_RDV )
|
||
PROCÉDURE SuppressionJeton(MonJeton est un Jeton)
|
||
//RENVOYER Faux pour interdire la suppression du jeton
|
||
RENVOYER Vrai
|
||
Clic sur un jeton de COL_IdRDV ( TABLE_RDV )
|
||
PROCÉDURE ClicJeton (MonJeton est un Jeton)
|
||
Entrée en saisie d'un jeton de COL_IdRDV ( TABLE_RDV )
|
||
12/08/2026 Batik_WS_Com_Mob 70
|
||
|
||
Partie 3 › Fenêtre WINDEV › FEN_Principal › Code des champs
|
||
PROCÉDURE EntreSaisieJeton (MonJeton est un Jeton)
|
||
//RENVOYER Faux pour interdire l'entrée en saisie du jeton
|
||
RENVOYER Vrai
|
||
Modification d'un jeton de COL_IdRDV ( TABLE_RDV )
|
||
PROCÉDURE ModificationJeton (MonJeton est un Jeton)
|
||
// RENVOYER Faux pour interdire la modification du jeton
|
||
RENVOYER Vrai
|
||
Ajout d'un jeton dans COL_Lieu ( TABLE_RDV )
|
||
PROCÉDURE AjoutJeton (MonJeton est un Jeton)
|
||
//RENVOYER Faux pour interdire l'ajout du jeton
|
||
RENVOYER Vrai
|
||
Suppression d'un jeton dans COL_Lieu ( TABLE_RDV )
|
||
PROCÉDURE SuppressionJeton(MonJeton est un Jeton)
|
||
//RENVOYER Faux pour interdire la suppression du jeton
|
||
RENVOYER Vrai
|
||
Clic sur un jeton de COL_Lieu ( TABLE_RDV )
|
||
PROCÉDURE ClicJeton (MonJeton est un Jeton)
|
||
Entrée en saisie d'un jeton de COL_Lieu ( TABLE_RDV )
|
||
PROCÉDURE EntreSaisieJeton (MonJeton est un Jeton)
|
||
//RENVOYER Faux pour interdire l'entrée en saisie du jeton
|
||
RENVOYER Vrai
|
||
Modification d'un jeton de COL_Lieu ( TABLE_RDV )
|
||
PROCÉDURE ModificationJeton (MonJeton est un Jeton)
|
||
// RENVOYER Faux pour interdire la modification du jeton
|
||
RENVOYER Vrai
|
||
Ajout d'un jeton dans COL_NInter ( TABLE_RDV )
|
||
PROCÉDURE AjoutJeton (MonJeton est un Jeton)
|
||
//RENVOYER Faux pour interdire l'ajout du jeton
|
||
RENVOYER Vrai
|
||
Suppression d'un jeton dans COL_NInter ( TABLE_RDV )
|
||
PROCÉDURE SuppressionJeton(MonJeton est un Jeton)
|
||
12/08/2026 Batik_WS_Com_Mob 71
|
||
|
||
Partie 3 › Fenêtre WINDEV › FEN_Principal › Code des champs
|
||
//RENVOYER Faux pour interdire la suppression du jeton
|
||
RENVOYER Vrai
|
||
Clic sur un jeton de COL_NInter ( TABLE_RDV )
|
||
PROCÉDURE ClicJeton (MonJeton est un Jeton)
|
||
Entrée en saisie d'un jeton de COL_NInter ( TABLE_RDV )
|
||
PROCÉDURE EntreSaisieJeton (MonJeton est un Jeton)
|
||
//RENVOYER Faux pour interdire l'entrée en saisie du jeton
|
||
RENVOYER Vrai
|
||
Modification d'un jeton de COL_NInter ( TABLE_RDV )
|
||
PROCÉDURE ModificationJeton (MonJeton est un Jeton)
|
||
// RENVOYER Faux pour interdire la modification du jeton
|
||
RENVOYER Vrai
|
||
Sélection d'une ligne de TABLE_RDVColb
|
||
SI TABLE_RDVColb > 0 _ET_ COL_C_IdRDV[TABLE_RDVColb] > 0 ALORS
|
||
LIB_DEBUG.gnIdInterChoisi = COL_C_IdInter[TABLE_RDVColb]
|
||
FIN
|
||
Ajout d'un jeton dans COL_C_DateD ( TABLE_RDVColb )
|
||
PROCÉDURE AjoutJeton (MonJeton est un Jeton)
|
||
//RENVOYER Faux pour interdire l'ajout du jeton
|
||
RENVOYER Vrai
|
||
Suppression d'un jeton dans COL_C_DateD ( TABLE_RDVColb )
|
||
PROCÉDURE SuppressionJeton(MonJeton est un Jeton)
|
||
//RENVOYER Faux pour interdire la suppression du jeton
|
||
RENVOYER Vrai
|
||
Clic sur un jeton de COL_C_DateD ( TABLE_RDVColb )
|
||
PROCÉDURE ClicJeton (MonJeton est un Jeton)
|
||
Entrée en saisie d'un jeton de COL_C_DateD ( TABLE_RDVColb )
|
||
PROCÉDURE EntreSaisieJeton (MonJeton est un Jeton)
|
||
//RENVOYER Faux pour interdire l'entrée en saisie du jeton
|
||
RENVOYER Vrai
|
||
Modification d'un jeton de COL_C_DateD ( TABLE_RDVColb )
|
||
12/08/2026 Batik_WS_Com_Mob 72
|
||
|
||
Partie 3 › Fenêtre WINDEV › FEN_Principal › Code des champs
|
||
PROCÉDURE ModificationJeton (MonJeton est un Jeton)
|
||
// RENVOYER Faux pour interdire la modification du jeton
|
||
RENVOYER Vrai
|
||
Ajout d'un jeton dans COL_C_DateF ( TABLE_RDVColb )
|
||
PROCÉDURE AjoutJeton (MonJeton est un Jeton)
|
||
//RENVOYER Faux pour interdire l'ajout du jeton
|
||
RENVOYER Vrai
|
||
Suppression d'un jeton dans COL_C_DateF ( TABLE_RDVColb )
|
||
PROCÉDURE SuppressionJeton(MonJeton est un Jeton)
|
||
//RENVOYER Faux pour interdire la suppression du jeton
|
||
RENVOYER Vrai
|
||
Clic sur un jeton de COL_C_DateF ( TABLE_RDVColb )
|
||
PROCÉDURE ClicJeton (MonJeton est un Jeton)
|
||
Entrée en saisie d'un jeton de COL_C_DateF ( TABLE_RDVColb )
|
||
PROCÉDURE EntreSaisieJeton (MonJeton est un Jeton)
|
||
//RENVOYER Faux pour interdire l'entrée en saisie du jeton
|
||
RENVOYER Vrai
|
||
Modification d'un jeton de COL_C_DateF ( TABLE_RDVColb )
|
||
PROCÉDURE ModificationJeton (MonJeton est un Jeton)
|
||
// RENVOYER Faux pour interdire la modification du jeton
|
||
RENVOYER Vrai
|
||
Ajout d'un jeton dans COL_C_IdInter ( TABLE_RDVColb )
|
||
PROCÉDURE AjoutJeton (MonJeton est un Jeton)
|
||
//RENVOYER Faux pour interdire l'ajout du jeton
|
||
RENVOYER Vrai
|
||
Suppression d'un jeton dans COL_C_IdInter ( TABLE_RDVColb )
|
||
PROCÉDURE SuppressionJeton(MonJeton est un Jeton)
|
||
//RENVOYER Faux pour interdire la suppression du jeton
|
||
RENVOYER Vrai
|
||
Clic sur un jeton de COL_C_IdInter ( TABLE_RDVColb )
|
||
PROCÉDURE ClicJeton (MonJeton est un Jeton)
|
||
Entrée en saisie d'un jeton de COL_C_IdInter ( TABLE_RDVColb )
|
||
12/08/2026 Batik_WS_Com_Mob 73
|
||
|
||
Partie 3 › Fenêtre WINDEV › FEN_Principal › Code des champs
|
||
PROCÉDURE EntreSaisieJeton (MonJeton est un Jeton)
|
||
//RENVOYER Faux pour interdire l'entrée en saisie du jeton
|
||
RENVOYER Vrai
|
||
Modification d'un jeton de COL_C_IdInter ( TABLE_RDVColb )
|
||
PROCÉDURE ModificationJeton (MonJeton est un Jeton)
|
||
// RENVOYER Faux pour interdire la modification du jeton
|
||
RENVOYER Vrai
|
||
Ajout d'un jeton dans COL_C_IdRDV ( TABLE_RDVColb )
|
||
PROCÉDURE AjoutJeton (MonJeton est un Jeton)
|
||
//RENVOYER Faux pour interdire l'ajout du jeton
|
||
RENVOYER Vrai
|
||
Suppression d'un jeton dans COL_C_IdRDV ( TABLE_RDVColb )
|
||
PROCÉDURE SuppressionJeton(MonJeton est un Jeton)
|
||
//RENVOYER Faux pour interdire la suppression du jeton
|
||
RENVOYER Vrai
|
||
Clic sur un jeton de COL_C_IdRDV ( TABLE_RDVColb )
|
||
PROCÉDURE ClicJeton (MonJeton est un Jeton)
|
||
Entrée en saisie d'un jeton de COL_C_IdRDV ( TABLE_RDVColb )
|
||
PROCÉDURE EntreSaisieJeton (MonJeton est un Jeton)
|
||
//RENVOYER Faux pour interdire l'entrée en saisie du jeton
|
||
RENVOYER Vrai
|
||
Modification d'un jeton de COL_C_IdRDV ( TABLE_RDVColb )
|
||
PROCÉDURE ModificationJeton (MonJeton est un Jeton)
|
||
// RENVOYER Faux pour interdire la modification du jeton
|
||
RENVOYER Vrai
|
||
Ajout d'un jeton dans COL_C_Lieu ( TABLE_RDVColb )
|
||
PROCÉDURE AjoutJeton (MonJeton est un Jeton)
|
||
//RENVOYER Faux pour interdire l'ajout du jeton
|
||
RENVOYER Vrai
|
||
Suppression d'un jeton dans COL_C_Lieu ( TABLE_RDVColb )
|
||
PROCÉDURE SuppressionJeton(MonJeton est un Jeton)
|
||
12/08/2026 Batik_WS_Com_Mob 74
|
||
|
||
Partie 3 › Fenêtre WINDEV › FEN_Principal › Code des champs
|
||
//RENVOYER Faux pour interdire la suppression du jeton
|
||
RENVOYER Vrai
|
||
Clic sur un jeton de COL_C_Lieu ( TABLE_RDVColb )
|
||
PROCÉDURE ClicJeton (MonJeton est un Jeton)
|
||
Entrée en saisie d'un jeton de COL_C_Lieu ( TABLE_RDVColb )
|
||
PROCÉDURE EntreSaisieJeton (MonJeton est un Jeton)
|
||
//RENVOYER Faux pour interdire l'entrée en saisie du jeton
|
||
RENVOYER Vrai
|
||
Modification d'un jeton de COL_C_Lieu ( TABLE_RDVColb )
|
||
PROCÉDURE ModificationJeton (MonJeton est un Jeton)
|
||
// RENVOYER Faux pour interdire la modification du jeton
|
||
RENVOYER Vrai
|
||
Ajout d'un jeton dans COL_C_NInter ( TABLE_RDVColb )
|
||
PROCÉDURE AjoutJeton (MonJeton est un Jeton)
|
||
//RENVOYER Faux pour interdire l'ajout du jeton
|
||
RENVOYER Vrai
|
||
Suppression d'un jeton dans COL_C_NInter ( TABLE_RDVColb )
|
||
PROCÉDURE SuppressionJeton(MonJeton est un Jeton)
|
||
//RENVOYER Faux pour interdire la suppression du jeton
|
||
RENVOYER Vrai
|
||
Clic sur un jeton de COL_C_NInter ( TABLE_RDVColb )
|
||
PROCÉDURE ClicJeton (MonJeton est un Jeton)
|
||
Entrée en saisie d'un jeton de COL_C_NInter ( TABLE_RDVColb )
|
||
PROCÉDURE EntreSaisieJeton (MonJeton est un Jeton)
|
||
//RENVOYER Faux pour interdire l'entrée en saisie du jeton
|
||
RENVOYER Vrai
|
||
Modification d'un jeton de COL_C_NInter ( TABLE_RDVColb )
|
||
PROCÉDURE ModificationJeton (MonJeton est un Jeton)
|
||
// RENVOYER Faux pour interdire la modification du jeton
|
||
RENVOYER Vrai
|
||
Initialisation de SAI_Recherche ( SC_Menu )
|
||
12/08/2026 Batik_WS_Com_Mob 75
|
||
|
||
Partie 3 › Fenêtre WINDEV › FEN_Principal › Code des champs
|
||
// Version 1
|
||
// Description
|
||
// Champ de saisie pour un texte simple sur une ligne
|
||
Initialisation de SEL_WSCom
|
||
// Version 1
|
||
// Description
|
||
// Sélecteur simple en lignes sur 2 colonnes
|
||
SEL_WSCom = 0
|
||
LIB_DEBUG.gbEnvoiWebService = SEL_WSCom
|
||
A chaque modification de SEL_WSCom
|
||
LIB_DEBUG.gbEnvoiWebService = SEL_WSCom
|
||
FEN_Principal
|
||
Procédures
|
||
Procédure locale InitComboProc
|
||
PROCÉDURE InitComboProc()
|
||
ListeSupprimeTout(CMB_Proc)
|
||
ListeAjoute(CMB_Proc,"Liste des interventions (RDV)"+gLien(cCMD_ListeRDV_V2))
|
||
ListeAjoute(CMB_Proc,"Récupérer les paramètres de l'application"+gLien(cCMD_LitParam_V2))
|
||
ListeAjoute(CMB_Proc,"Récupérer les contexte de l'application"+gLien(cCMD_LitContexte))
|
||
ListeAjoute(CMB_Proc,"Récupérer la liste des collaborateurs (Droit de consulter leur agenda)"+gLien(
|
||
cCMD_IdClbRdvDroitC))
|
||
ListeSupprimeTout(CMB_ProcRDV)
|
||
ListeAjoute(CMB_ProcRDV,"Récupérer une intervention"+gLien(cCMD_LitINTER_V2))
|
||
ListeAjoute(CMB_ProcRDV,"Récupérer le temps saisie d'une rendez-vous"+gLien(cCMD_ListeTEMPS))
|
||
ListeSupprimeTout(CMB_ProcParam)
|
||
ListeAjoute(CMB_ProcParam,"Récupérer les champs a remplir d'un rapport"+gLien(cCMD_ListeCh_Rapport))
|
||
ListeAjoute(CMB_ProcParam,"Récupérer les champs a remplir d'un email "+gLien(cCMD_ListeCh_Mail))
|
||
ListeSupprimeTout(CMB_ProcColb)
|
||
ListeAjoute(CMB_ProcColb,"Liste des interventions (RDV)"+gLien(cCMD_ListeRDV_Clb))
|
||
ListeAjoute(CMB_ProcColb,"Récupérer une intervention"+gLien(cCMD_LitINTER_V2))
|
||
ListeAjoute(CMB_ProcColb,"Récupérer le temps saisie d'une rendez-vous"+gLien(cCMD_ListeTEMPS))
|
||
Procédure locale SelectProcColb
|
||
PROCÉDURE SelectProcColb()
|
||
SI CMB_ProcColb <> Null ET CMB_ProcColb <> "" ET TABLE_Colb > 0 ALORS
|
||
SI COL_C_IdColb[TABLE_Colb] <= 0 ALORS
|
||
Erreur("Veuillez choisir un collaborateur")
|
||
RENVOYER Faux
|
||
FIN
|
||
12/08/2026 Batik_WS_Com_Mob 76
|
||
|
||
Partie 3 › Fenêtre WINDEV › FEN_Principal › Procédures
|
||
LIB_DEBUG.gnIdCollabChoisi = COL_C_IdColb[TABLE_Colb]
|
||
SI TABLE_RDVColb > 0 _ET_ COL_C_IdRDV[TABLE_RDVColb] > 0 ALORS
|
||
LIB_DEBUG.gnIdInterChoisi = COL_C_IdInter[TABLE_RDVColb]
|
||
FIN
|
||
TraiteReponse(CMB_ProcColb)
|
||
FIN
|
||
SI TABLE_Colb <= 0 ALORS
|
||
Erreur("Veuillez choisir un collaborateur")
|
||
RENVOYER Faux
|
||
FIN
|
||
Procédure locale SelectProcGlobal
|
||
PROCÉDURE SelectProcGlobal()
|
||
SI CMB_Proc <> Null ET CMB_Proc <> "" ALORS
|
||
TraiteReponse(CMB_Proc)
|
||
FIN
|
||
Procédure locale SelectProcRDV
|
||
PROCÉDURE SelectProcRDV()
|
||
SI CMB_ProcRDV <> Null ET CMB_ProcRDV <> "" ALORS
|
||
SI LIB_DEBUG.gnIdInterChoisi <= 0 ALORS
|
||
Erreur("Veuillez choisir un rendez-vous")
|
||
RENVOYER Faux
|
||
FIN
|
||
LIB_DEBUG.gnIdCollabChoisi = LIB_DEBUG.gtbaListeUsers[CMB_Users].nIdColb
|
||
SI TABLE_RDV > 0 _ET_ COL_IdRDV[TABLE_RDV] > 0 ALORS
|
||
LIB_DEBUG.gnIdInterChoisi = COL_IdInter[TABLE_RDV]
|
||
FIN
|
||
TraiteReponse(CMB_ProcRDV)
|
||
FIN
|
||
Procédure locale SelectUser
|
||
PROCÉDURE SelectUser()
|
||
SI CMB_Users <> Null _ET_ LIB_DEBUG.gtbaListeUsers[CMB_Users]..Existe = Vrai ALORS
|
||
LIB_DEBUG.gID.saLicence = LIB_DEBUG.gtbaListeUsers[CMB_Users].saLicence
|
||
LIB_DEBUG.gID.saIdMob = LIB_DEBUG.gtbaListeUsers[CMB_Users].saIdMob
|
||
LIB_DEBUG.gID.saNumPort = LIB_DEBUG.gtbaListeUsers[CMB_Users].saNumPort
|
||
LIB_DEBUG.gID.nIdUser = LIB_DEBUG.gtbaListeUsers[CMB_Users].nIdUser
|
||
LIB_DEBUG.gID.saBaseData = LIB_DEBUG.gtbaListeUsers[CMB_Users].saBaseData
|
||
LIB_DEBUG.gID.saBaseSync = LIB_DEBUG.gtbaListeUsers[CMB_Users].saBaseSync
|
||
LIB_DEBUG.gID.saIdClient = LIB_DEBUG.gtbaListeUsers[CMB_Users].saIdClient
|
||
LIB_DEBUG.gnIdCollabSID = LIB_DEBUG.gtbaListeUsers[CMB_Users].nIdColb
|
||
LIB_DEBUG.gnIdCollabChoisi = LIB_DEBUG.gtbaListeUsers[CMB_Users].nIdColb
|
||
SC_Menu..Visible = Vrai
|
||
FIN
|
||
Procédure locale TraiteReponse
|
||
PROCÉDURE TraiteReponse(saType est une chaîne ANSI)
|
||
Sablier(Vrai)
|
||
bufRes est un Buffer
|
||
12/08/2026 Batik_WS_Com_Mob 77
|
||
|
||
Partie 3 › Fenêtre WINDEV › FEN_Principal › Procédures
|
||
bufRes = D_LanceProcedure(saType)
|
||
i est un entier
|
||
SELON saType
|
||
CAS cCMD_ListeDOC
|
||
CAS cCMD_ListeRDV_V2
|
||
tblRDV est un tableau de ST_RDV_INTER
|
||
SI bufRes <> "" ALORS
|
||
Désérialise(tblRDV,bufRes,psdJSON)
|
||
FIN
|
||
TableSupprimeTout(TABLE_RDV)
|
||
POUR TOUT stORdv DE tblRDV
|
||
i = TableAjouteLigne(TABLE_RDV)
|
||
COL_IdRDV[i] = stORdv.stRDV.nPKID
|
||
COL_IdInter[i] = stORdv.stRDV.nIDIntervention
|
||
COL_DateD[i] = stORdv.stRDV.saDateDebut
|
||
COL_DateF[i] = stORdv.stRDV.saDateFin
|
||
COL_NInter[i] = stORdv.stINTER.saInt_RfI
|
||
COL_Lieu[i] = stORdv.saRDV_Lieu
|
||
FIN
|
||
ONG_Info = ONG_Info.RDV
|
||
CAS cCMD_LitINTER_V2
|
||
CAS cCMD_RechercheRDV
|
||
CAS cCMD_ListeTEMPS
|
||
CAS cCMD_LitParam_V2 //Appelé par la fonction RécupContexte du mobile
|
||
TableSupprimeTout(TABLE_Param)
|
||
tbParam est un tableau de ST_PARAMETRE_METIER_V2
|
||
SI bufRes <> "" ALORS
|
||
Désérialise(tbParam,bufRes,psdJSON)
|
||
FIN
|
||
POUR TOUT stOParam DE tbParam
|
||
SI stOParam.saCode DANS(cParam_ListeMailModele,cParam_ListeRapportMob) ALORS
|
||
i = TableAjouteLigne(TABLE_Param)
|
||
COL_IdParam[i] = stOParam.nIdParam
|
||
COL_Libelle[i] = stOParam.saLib
|
||
COL_Type[i] = stOParam.saCode
|
||
FIN
|
||
SI TABLE_Param..Occurrence > 0 ALORS
|
||
TableTrie(TABLE_Param,"COL_Type")
|
||
FIN
|
||
FIN
|
||
ONG_Info.Contexte..Visible = Vrai
|
||
ONG_Info = ONG_Info.Contexte
|
||
CAS cCMD_LitContexte
|
||
TableSupprimeTout(TABLE_Contexte)
|
||
stCtx est un ST_CONTEXTE
|
||
SI bufRes <> "" ALORS
|
||
Désérialise(stCtx,bufRes,psdJSON)
|
||
FIN
|
||
TableAjouteLigne(TABLE_Contexte,"Profil",stCtx.stUser.saProfil)
|
||
TableAjouteLigne(TABLE_Contexte,"Annulation des RDVs",stCtx.stUser.bDroit_AnnulationRDV ? "OUI"
|
||
SINON "NON")
|
||
TableAjouteLigne(TABLE_Contexte,"Création de rapport",stCtx.stUser.bDroit_CreationRapport ?
|
||
"OUI" SINON "NON")
|
||
TableAjouteLigne(TABLE_Contexte,"Envoi d'email",stCtx.stUser.bDroit_EnvoiEmail ? "OUI" SINON
|
||
"NON")
|
||
TableAjouteLigne(TABLE_Contexte,"Id Collaborateur",LIB_DEBUG.gnIdCollabSID)
|
||
12/08/2026 Batik_WS_Com_Mob 78
|
||
|
||
Partie 3 › Fenêtre WINDEV › FEN_Principal › Procédures
|
||
TableAjouteLigne(TABLE_Contexte,"Id Utilisateur",LIB_DEBUG.gID.nIdUser)
|
||
ONG_Info.Contexte..Visible = Vrai
|
||
ONG_Info = ONG_Info.Contexte
|
||
CAS cCMD_IdClbRdvDroitC
|
||
tbIdClb est un tableau de ST_IdRDVClbDroitC
|
||
SI bufRes <> "" ALORS
|
||
Désérialise(tbIdClb,bufRes,psdJSON)
|
||
FIN
|
||
TableSupprimeTout(TABLE_Colb)
|
||
POUR TOUT stOClb DE tbIdClb
|
||
i = TableAjouteLigne(TABLE_Colb)
|
||
COL_C_IdColb[i] = stOClb.nIdClb
|
||
COL_C_NomPrenom[i] = stOClb.sNomPrenom
|
||
FIN
|
||
ONG_Info.Colb..Visible = Vrai
|
||
ONG_Info = ONG_Info.Colb
|
||
CAS cCMD_ListeRDV_Clb
|
||
tblRDV est un tableau de ST_RDV_INTER
|
||
SI bufRes <> "" ALORS
|
||
Désérialise(tblRDV,bufRes,psdJSON)
|
||
FIN
|
||
TableSupprimeTout(TABLE_RDV)
|
||
POUR TOUT stORdv DE tblRDV
|
||
i = TableAjouteLigne(TABLE_RDVColb)
|
||
COL_C_IdRDV[i] = stORdv.stRDV.nPKID
|
||
COL_C_IdInter[i] = stORdv.stRDV.nIDIntervention
|
||
COL_C_DateD[i] = stORdv.stRDV.saDateDebut
|
||
COL_C_DateF[i] = stORdv.stRDV.saDateFin
|
||
COL_C_NInter[i] = stORdv.stINTER.saInt_RfI
|
||
COL_C_Lieu[i] = stORdv.saRDV_Lieu
|
||
FIN
|
||
ONG_Info.Colb..Visible = Vrai
|
||
ONG_Info = ONG_Info.Colb
|
||
CAS cCMD_ListeCh_Rapport
|
||
CAS cCMD_RecupImgRapport
|
||
CAS cCMD_Creation_Rapport
|
||
CAS cCMD_ListeCh_Mail
|
||
CAS cCMD_Cr_Structure_Mail
|
||
CAS cCMD_Envoyer_Mail
|
||
AUTRE CAS
|
||
FIN
|
||
Sablier(fauxToutSablier)
|
||
12/08/2026 Batik_WS_Com_Mob 79
|
||
|
||
Partie 3 › Fenêtre WINDEV › FEN_Connexion › Image
|
||
FEN_Connexion
|
||
Image
|
||
FEN_Connexion
|
||
Informations générales
|
||
FEN_Connexion
|
||
D:\Projets Windev\Batik\Nouvelle
|
||
Fichier physique
|
||
Version\WebService\Batik_WS_Com_Mob\FEN_Connexion.wdw
|
||
Créé par susana@applilogik.fr
|
||
Date de création 14/01/2026 08:46:17
|
||
Dernière modification par susana@applilogik.fr
|
||
Date dernière modification 27/03/2026 12:13:41
|
||
Titre FR: Connexion
|
||
Type fenêtre Fenêtre libre
|
||
Mode ouverture (Desktop) Centrée par rapport à la mère
|
||
12/08/2026 Batik_WS_Com_Mob 80
|
||
|
||
Partie 3 › Fenêtre WINDEV › FEN_Connexion › Informations générales
|
||
| Position X | 0 Position Y | | 0 Largeur | 631 Hauteur | 520 |
|
||
| --------------------- | ------------ | -------------------- | --------- | --------------- | --- |
|
||
| Visible | | Barre de titre | | Menu système | |
|
||
| Icône réduction | | Icône agrandissement | | Icône aide ctx. | |
|
||
| Barre de message | | Détourer le fond | | Mode 9 images | |
|
||
| Redimensionnable | | Avec grip | | Grip dans image | |
|
||
| Déplace/fond | | Sauve position | | Ascenseur auto. | |
|
||
| Gestion grande police | | Thème XP | | | |
|
||
Ctx. HFSQL indép.
|
||
| Etat initial | | Actif | | | |
|
||
| ------------------------------- | --- | ----------------------------------- | ---------------- | --- | --- |
|
||
| Curseur survol | | 0 | | | |
|
||
| Copie d'écran | | Oui | | | |
|
||
| Unité des tailles | | Plateforme unique desktop OU mobile | | | |
|
||
| Ancrage au contenu | | <Aucun> | | | |
|
||
| Opacité | | 100 | | | |
|
||
| Titre personnalisé | | Oui | | | |
|
||
| Titre perso. : hauteur | | 30 | | | |
|
||
| Titre perso. : Affiche le titre | | Oui | | | |
|
||
| Pos. Menu Perso | | Non | | | |
|
||
| Icône de fermeture | | Oui | | | |
|
||
| Type cadre | | Double | | | |
|
||
| Transparence Vista | | Non | | | |
|
||
| Transparence gérée par Vista | | Non | | | |
|
||
| Appliquer le gabarit du projet | | <Défaut> | | | |
|
||
| Grisé : Utiliser couleur perso. | | Non | | | |
|
||
| Grisé : Algo pour images | | <Défaut> | | | |
|
||
| Style du menu | | Office XP | | | |
|
||
| Mode bulle d'aide | | Non | | | |
|
||
| Mode Bulle : Point chaud | | Haut gauche | | | |
|
||
| Mode Bulle : Décalage X | | 0 | | | |
|
||
| Mode Bulle : Décalage Y | | 0 | | | |
|
||
| Valide auto. | | 0 | | | |
|
||
| Lib. + tps restant | | Oui | | | |
|
||
| Pos. X Menu | | 6 | | | |
|
||
| Pos. Y Menu | | 28 | | | |
|
||
| Texte Markdown | | Non | | | |
|
||
| Mode menu ctx. | | <Aucun> | | | |
|
||
| M.C.U. | | Oui | | | |
|
||
| Anim. Ouverture | | 0 | | | |
|
||
| Anim. Fermeture | | 0 | | | |
|
||
| Durée Anim. Ouverture | | 100 | | | |
|
||
| Durée Anim. Fermeture | | 50 | | | |
|
||
| Adapte Taille contenu | | Non | | | |
|
||
| Assombri quand inactif | | Oui | | | |
|
||
| Déplace souris sur bouton par | | Non | | | |
|
||
| Compact. barres outils | | Non | | | |
|
||
| 12/08/2026 | | | Batik_WS_Com_Mob | | 81 |
|
||
|
||
Partie 3 › Fenêtre WINDEV › FEN_Connexion › Informations générales
|
||
Statistiques de la fenêtre
|
||
| | Champ de saisie | | 13 | Libellé | | 2 |
|
||
| --- | --------------- | --- | --- | ------- | --- | --- |
|
||
| | Bouton | | 1 | | | |
|
||
Nombre d'éléments dans la fenêtre : 16
|
||
FEN_Connexion
|
||
Informations sur les champs
|
||
Fenêtre : FEN_Connexion
|
||
Champ de saisie
|
||
euqitamotua tnemecaffE
|
||
euqitamotua eisias niF
|
||
reihcif eétsissa eisiaS
|
||
| | | | | eriotagilbo eisiaS | .zroH tnemeliféD .trev tnemeliféD | |
|
||
| --- | --- | --- | --- | ------------------ | --------------------------------- | --- |
|
||
latnoziroh .csA
|
||
essap ed toM
|
||
| | | | BAT ehcuoT | | cnalb à esiM ediv is LLUN | lacitrev .csA |
|
||
| --- | --- | --- | ------------------------ | --------------------- | ------------------------- | ------------- |
|
||
| | | | laitini tatE eisias epyT | engilitluM FTR tamroF | | |
|
||
X noitisoP Y noitisoP
|
||
ruegraL ruetuaH
|
||
elbisiV
|
||
nalP
|
||
| SAI_BaseLicence | 9 90 182 | 49 0 | Actif Texte | Non | | |
|
||
| --------------- | ----------- | ---- | ----------- | --- | --- | --- |
|
||
| SAI_BaseWSCom | 12 323 179 | 49 0 | Actif Texte | Non | | |
|
||
| SAI_MPLicence | 197 141 206 | 49 0 | Actif Texte | Non | | |
|
||
SAI_MPLicenceFichier
|
||
| | 414 141 206 | 49 0 | Actif Texte | Non | | |
|
||
| ------------------ | ----------- | ---- | ---------------- | --- | --- | --- |
|
||
| SAI_MPWSCom | 325 374 298 | 49 0 | Actif Texte | Non | | |
|
||
| SAI_NomBaseLicence | 320 90 300 | 49 0 | Actif Texte | Non | | |
|
||
| SAI_NomBaseWSCom | 323 323 300 | 49 0 | Actif Texte | Non | | |
|
||
| SAI_PortLicence | 197 90 117 | 49 0 | Actif Texte | Non | | |
|
||
| SAI_PortWSCom | 197 323 117 | 49 0 | Actif Texte | Non | | |
|
||
| SAI_URLLicence | 9 38 611 | 50 0 | Actif Texte | Non | | |
|
||
| SAI_URLWSCom | 12 271 611 | 50 0 | Actif Texte | Non | | |
|
||
| SAI_UserLicence | 9 141 182 | 49 0 | Actif Texte | Non | | |
|
||
| SAI_UserWSCom | 12 374 305 | 49 0 | Actif Texte | Non | | |
|
||
| 12/08/2026 | | | Batik_WS_Com_Mob | | | 82 |
|
||
|
||
Partie 3 › Fenêtre WINDEV › FEN_Connexion › Informations sur les champs
|
||
Libellé
|
||
tuaféd rap eéminA
|
||
.zroh egardaC
|
||
.trev egardaC
|
||
FTR tamroF
|
||
| | X noitisoP Y noitisoP | | | laitini tatE | | |
|
||
| --- | --------------------- | --- | --- | ------------ | --- | --- |
|
||
ruetuaH
|
||
| | | ruegraL | elbisiV | | | |
|
||
| --- | --- | ------- | ------- | --- | --- | --- |
|
||
nalP
|
||
| LIB_Libellé | 9 6 | 203 26 | 0 | Actif | Gauche Haut | |
|
||
| ------------ | ----- | ------ | --- | ----- | ----------- | --- |
|
||
| LIB_Libellé1 | 9 221 | 242 26 | 0 | Actif | Gauche Haut | |
|
||
Bouton
|
||
notuob epyT
|
||
BAT ehcuoT
|
||
| | X noitisoP | Y noitisoP | | | laitini tatE | |
|
||
| --- | ---------- | ---------- | ------- | --- | ------------ | --- |
|
||
| | | ruegraL | ruetuaH | | | |
|
||
elbisiV
|
||
nalP
|
||
| BTN_Valider | 508 | 430 115 | 24 | 0 | Actif | Normal |
|
||
| ----------- | --- | ------- | --- | --- | ----- | ------ |
|
||
Fenêtre : FEN_Connexion
|
||
Bouton : BTN_Valider
|
||
| Libellé | FR: Se Connecter | | | | | |
|
||
| -------------------------------- | ----------------------------------- | --- | --- | --- | --- | --- |
|
||
| Ordre navigation | 14 | | | | | |
|
||
| Curseur survol | 0 | | | | | |
|
||
| UI par l'utilisateur | Selon fenêtre | | | | | |
|
||
| On/Off | Non | | | | | |
|
||
| Recopie Option menu flèche | Non | | | | | |
|
||
| Taux Paral. hauteur | 0 | | | | | |
|
||
| Taux Paral. Y | 0 | | | | | |
|
||
| Épinglé | Non | | | | | |
|
||
| Masquer lors du scrolling | Non | | | | | |
|
||
| Ancrage au contenu | <Aucun> | | | | | |
|
||
| Retrait gauche | 0 | | | | | |
|
||
| Réduction Ruban | Ne pas réduire le bouton | | | | | |
|
||
| Cadrage fonctions gXXX | Cadrage ignoré (pour compatibilité) | | | | | |
|
||
| Numéro aide | 0 | | | | | |
|
||
| Opacité | 100 | | | | | |
|
||
| Autorise ChangeGabarit | Oui | | | | | |
|
||
| Animée par défaut | Oui | | | | | |
|
||
| Mode ellipse | <Aucun> | | | | | |
|
||
| Alignement sur l'axe secondaire | défini par le champ flexbox (auto) | | | | | |
|
||
| Facteur de rétrécissement | 0 | | | | | |
|
||
Facteur d'agrandissement
|
||
0
|
||
| Type flèche | <Aucun> | | | | | |
|
||
| --------------- | ------- | ---------------- | --- | --- | --- | --- |
|
||
| Texte Markdown | Non | | | | | |
|
||
| Mode menu ctx. | <Aucun> | | | | | |
|
||
| Nb. états image | 1 | | | | | |
|
||
| 12/08/2026 | | Batik_WS_Com_Mob | | | | 83 |
|
||
|
||
Partie 3 › Fenêtre WINDEV › FEN_Connexion › Informations sur les champs
|
||
Nb. états fond 5
|
||
Etirement de l'image de fond Mode 9 images personnalisé
|
||
Nb. étapes animation 1
|
||
Largeur Halo 0
|
||
Hauteur Halo 0
|
||
Personnaliser le picto AMI Non
|
||
Indice du picto AMI 1
|
||
Ancrage <Aucun>
|
||
Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000
|
||
Libellé : LIB_Libellé
|
||
Libellé FR: Serveur Licence
|
||
Curseur survol 0
|
||
UI par l'utilisateur Selon fenêtre
|
||
Taux Paral. hauteur 0
|
||
Taux Paral. Y 0
|
||
Épinglé Non
|
||
Masquer lors du scrolling Non
|
||
Ancrage au contenu <Aucun>
|
||
Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité)
|
||
Numéro aide 0
|
||
Opacité 100
|
||
Taille police min 0
|
||
Autorise ChangeGabarit Oui
|
||
Type saisie Texte
|
||
Masque saisie FR: 0
|
||
Mode ellipse <Aucun>
|
||
Unicode Non
|
||
Transforme le & Non
|
||
Alignement sur l'axe secondaire défini par le champ flexbox (auto)
|
||
Facteur de rétrécissement 0
|
||
Facteur d'agrandissement 0
|
||
Mise à blanc Oui
|
||
Texte Markdown Non
|
||
Personnaliser le picto AMI Non
|
||
Indice du picto AMI 1
|
||
Ancrage <Aucun>
|
||
Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000
|
||
12/08/2026 Batik_WS_Com_Mob 84
|
||
|
||
Partie 3 › Fenêtre WINDEV › FEN_Connexion › Informations sur les champs
|
||
Libellé : LIB_Libellé1
|
||
Libellé FR: Serveur WS Com Mobile
|
||
Curseur survol 0
|
||
UI par l'utilisateur Selon fenêtre
|
||
Taux Paral. hauteur 0
|
||
Taux Paral. Y 0
|
||
Épinglé Non
|
||
Masquer lors du scrolling Non
|
||
Ancrage au contenu <Aucun>
|
||
Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité)
|
||
Numéro aide 0
|
||
Opacité 100
|
||
Taille police min 0
|
||
Autorise ChangeGabarit Oui
|
||
Type saisie Texte
|
||
Masque saisie FR: 0
|
||
Mode ellipse <Aucun>
|
||
Unicode Non
|
||
Transforme le & Non
|
||
Alignement sur l'axe secondaire défini par le champ flexbox (auto)
|
||
Facteur de rétrécissement 0
|
||
Facteur d'agrandissement 0
|
||
Mise à blanc Oui
|
||
Texte Markdown Non
|
||
Personnaliser le picto AMI Non
|
||
Indice du picto AMI 1
|
||
Ancrage <Aucun>
|
||
Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000
|
||
Champ de saisie : SAI_BaseLicence
|
||
Libellé FR: Base de données serveur
|
||
Ordre navigation 2
|
||
Curseur survol 0
|
||
UI par l'utilisateur Selon fenêtre
|
||
Bouton Calendrier Non
|
||
Bouton Calculatrice Non
|
||
Bouton Suppression <Aucun>
|
||
Touche TAB Accessible par TAB
|
||
Taux Paral. hauteur 0
|
||
Taux Paral. Y 0
|
||
Épinglé Non
|
||
Masquer lors du scrolling Non
|
||
Ancrage au contenu <Aucun>
|
||
Cadrage horz. Gauche
|
||
Position X interne 11
|
||
12/08/2026 Batik_WS_Com_Mob 85
|
||
|
||
Partie 3 › Fenêtre WINDEV › FEN_Connexion › Informations sur les champs
|
||
Largeur interne 180
|
||
Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité)
|
||
Numéro aide 0
|
||
Opacité 100
|
||
Autorise ChangeGabarit Oui
|
||
Sécurité HTML Oui
|
||
Visualisation markdown Non
|
||
Saisie manuscrite Non
|
||
Taille de saisie 0
|
||
Masque saisie FR: 0
|
||
Borne dans bulle Non
|
||
Borne dans texte d'indication Oui
|
||
Sélection multiple Non
|
||
Mode ellipse <Aucun>
|
||
Lien automatique Non
|
||
Verifier l'orthographe Non
|
||
Unicode Non
|
||
Alignement sur l'axe secondaire défini par le champ flexbox (auto)
|
||
Facteur de rétrécissement 0
|
||
Facteur d'agrandissement 0
|
||
Asc. horizontal Jamais
|
||
Asc. vertical Jamais
|
||
Complétion système de fichier Non
|
||
Saisie invalide Oui, bloquant
|
||
Saisie obligatoire (erreur) : Style Oui
|
||
Saisie obligatoire (erreur) : Texte Non
|
||
Saisie obligatoire (erreur) : Picto Non
|
||
Saisie obligatoire (indication) : Picto Non
|
||
Saisie obligatoire (indication) : Texte Non
|
||
Saisie obligatoire (indication) : Style Oui
|
||
Saisie invalide : Picto Non
|
||
Saisie invalide : Texte Non
|
||
Saisie invalide : Style Oui
|
||
Avec focus Oui
|
||
Historique des saisies Oui
|
||
Valeurs multiples (jetons) Non
|
||
Autoriser les doublons Non
|
||
Jeton supprimable Oui
|
||
Valeur persistante Oui
|
||
Barre d'outils RTF En saisie
|
||
Texte Markdown Non
|
||
Mode menu ctx. <Aucun>
|
||
Gestion Euro Non
|
||
Personnaliser le picto AMI Non
|
||
Indice du picto AMI 1
|
||
Bouton gauche : Nombre d'états 1
|
||
Bouton droit : Nombre d'états 1
|
||
Bouton gauche : Largeur 0
|
||
Bouton droit : Largeur 0
|
||
Bouton gauche : Hauteur 0
|
||
Bouton droit : Hauteur 0
|
||
Bouton gauche : Monochrome Non
|
||
12/08/2026 Batik_WS_Com_Mob 86
|
||
|
||
Partie 3 › Fenêtre WINDEV › FEN_Connexion › Informations sur les champs
|
||
Bouton droit : Monochrome Non
|
||
Ancrage <Aucun>
|
||
Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000
|
||
Champ de saisie : SAI_BaseWSCom
|
||
Libellé FR: Base de données serveur
|
||
Ordre navigation 9
|
||
Curseur survol 0
|
||
UI par l'utilisateur Selon fenêtre
|
||
Bouton Calendrier Non
|
||
Bouton Calculatrice Non
|
||
Bouton Suppression <Aucun>
|
||
Touche TAB Accessible par TAB
|
||
Taux Paral. hauteur 0
|
||
Taux Paral. Y 0
|
||
Épinglé Non
|
||
Masquer lors du scrolling Non
|
||
Ancrage au contenu <Aucun>
|
||
Cadrage horz. Gauche
|
||
Position X interne 14
|
||
Largeur interne 177
|
||
Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité)
|
||
Numéro aide 0
|
||
Opacité 100
|
||
Autorise ChangeGabarit Oui
|
||
Sécurité HTML Oui
|
||
Visualisation markdown Non
|
||
Saisie manuscrite Non
|
||
Taille de saisie 0
|
||
Masque saisie FR: 0
|
||
Borne dans bulle Non
|
||
Borne dans texte d'indication Oui
|
||
Sélection multiple Non
|
||
Mode ellipse <Aucun>
|
||
Lien automatique Non
|
||
Verifier l'orthographe Non
|
||
Unicode Non
|
||
Alignement sur l'axe secondaire défini par le champ flexbox (auto)
|
||
Facteur de rétrécissement 0
|
||
Facteur d'agrandissement 0
|
||
Asc. horizontal Jamais
|
||
Asc. vertical Jamais
|
||
Complétion système de fichier Non
|
||
Saisie invalide Oui, bloquant
|
||
Saisie obligatoire (erreur) : Style Oui
|
||
Saisie obligatoire (erreur) : Texte Non
|
||
Saisie obligatoire (erreur) : Picto Non
|
||
12/08/2026 Batik_WS_Com_Mob 87
|
||
|
||
Partie 3 › Fenêtre WINDEV › FEN_Connexion › Informations sur les champs
|
||
Saisie obligatoire (indication) : Picto Non
|
||
Saisie obligatoire (indication) : Texte Non
|
||
Saisie obligatoire (indication) : Style Oui
|
||
Saisie invalide : Picto Non
|
||
Saisie invalide : Texte Non
|
||
Saisie invalide : Style Oui
|
||
Avec focus Oui
|
||
Historique des saisies Oui
|
||
Valeurs multiples (jetons) Non
|
||
Autoriser les doublons Non
|
||
Jeton supprimable Oui
|
||
Valeur persistante Oui
|
||
Barre d'outils RTF En saisie
|
||
Texte Markdown Non
|
||
Mode menu ctx. <Aucun>
|
||
Gestion Euro Non
|
||
Personnaliser le picto AMI Non
|
||
Indice du picto AMI 1
|
||
Bouton gauche : Nombre d'états 1
|
||
Bouton droit : Nombre d'états 1
|
||
Bouton gauche : Largeur 0
|
||
Bouton droit : Largeur 0
|
||
Bouton gauche : Hauteur 0
|
||
Bouton droit : Hauteur 0
|
||
Bouton gauche : Monochrome Non
|
||
Bouton droit : Monochrome Non
|
||
Ancrage <Aucun>
|
||
Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000
|
||
Champ de saisie : SAI_MPLicence
|
||
Libellé FR: Mot de passe
|
||
Ordre navigation 6
|
||
Curseur survol 0
|
||
UI par l'utilisateur Selon fenêtre
|
||
Bouton Calendrier Non
|
||
Bouton Calculatrice Non
|
||
Bouton Suppression <Aucun>
|
||
Touche TAB Accessible par TAB
|
||
Taux Paral. hauteur 0
|
||
Taux Paral. Y 0
|
||
Épinglé Non
|
||
Masquer lors du scrolling Non
|
||
Ancrage au contenu <Aucun>
|
||
Cadrage horz. Gauche
|
||
Position X interne 197
|
||
Largeur interne 206
|
||
Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité)
|
||
12/08/2026 Batik_WS_Com_Mob 88
|
||
|
||
Partie 3 › Fenêtre WINDEV › FEN_Connexion › Informations sur les champs
|
||
Numéro aide 0
|
||
Opacité 100
|
||
Autorise ChangeGabarit Oui
|
||
Sécurité HTML Oui
|
||
Visualisation markdown Non
|
||
Saisie manuscrite Non
|
||
Taille de saisie 0
|
||
Masque saisie FR: 0
|
||
Borne dans bulle Non
|
||
Borne dans texte d'indication Oui
|
||
Sélection multiple Non
|
||
Mode ellipse <Aucun>
|
||
Lien automatique Non
|
||
Verifier l'orthographe Non
|
||
Unicode Non
|
||
Alignement sur l'axe secondaire défini par le champ flexbox (auto)
|
||
Facteur de rétrécissement 0
|
||
Facteur d'agrandissement 0
|
||
Asc. horizontal Jamais
|
||
Asc. vertical Jamais
|
||
Complétion système de fichier Non
|
||
Saisie invalide Oui, bloquant
|
||
Saisie obligatoire (erreur) : Style Oui
|
||
Saisie obligatoire (erreur) : Texte Non
|
||
Saisie obligatoire (erreur) : Picto Non
|
||
Saisie obligatoire (indication) : Picto Non
|
||
Saisie obligatoire (indication) : Texte Non
|
||
Saisie obligatoire (indication) : Style Oui
|
||
Saisie invalide : Picto Non
|
||
Saisie invalide : Texte Non
|
||
Saisie invalide : Style Oui
|
||
Avec focus Oui
|
||
Historique des saisies Non
|
||
Valeurs multiples (jetons) Non
|
||
Autoriser les doublons Non
|
||
Jeton supprimable Oui
|
||
Valeur persistante Oui
|
||
Barre d'outils RTF En saisie
|
||
Texte Markdown Non
|
||
Mode menu ctx. <Aucun>
|
||
Gestion Euro Non
|
||
Personnaliser le picto AMI Non
|
||
Indice du picto AMI 1
|
||
Bouton gauche : Nombre d'états 1
|
||
Bouton droit : Nombre d'états 1
|
||
Bouton gauche : Largeur 0
|
||
Bouton droit : Largeur 0
|
||
Bouton gauche : Hauteur 0
|
||
Bouton droit : Hauteur 0
|
||
Bouton gauche : Monochrome Non
|
||
Bouton droit : Monochrome Non
|
||
12/08/2026 Batik_WS_Com_Mob 89
|
||
|
||
Partie 3 › Fenêtre WINDEV › FEN_Connexion › Informations sur les champs
|
||
Ancrage <Aucun>
|
||
Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000
|
||
Champ de saisie : SAI_MPLicenceFichiers
|
||
Libellé FR: Mot de passe (Fichiers)
|
||
Ordre navigation 7
|
||
Curseur survol 0
|
||
UI par l'utilisateur Selon fenêtre
|
||
Bouton Calendrier Non
|
||
Bouton Calculatrice Non
|
||
Bouton Suppression <Aucun>
|
||
Touche TAB Accessible par TAB
|
||
Taux Paral. hauteur 0
|
||
Taux Paral. Y 0
|
||
Épinglé Non
|
||
Masquer lors du scrolling Non
|
||
Ancrage au contenu <Aucun>
|
||
Cadrage horz. Gauche
|
||
Position X interne 414
|
||
Largeur interne 206
|
||
Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité)
|
||
Numéro aide 0
|
||
Opacité 100
|
||
Autorise ChangeGabarit Oui
|
||
Sécurité HTML Oui
|
||
Visualisation markdown Non
|
||
Saisie manuscrite Non
|
||
Taille de saisie 0
|
||
Masque saisie FR: 0
|
||
Borne dans bulle Non
|
||
Borne dans texte d'indication Oui
|
||
Sélection multiple Non
|
||
Mode ellipse <Aucun>
|
||
Lien automatique Non
|
||
Verifier l'orthographe Non
|
||
Unicode Non
|
||
Alignement sur l'axe secondaire défini par le champ flexbox (auto)
|
||
Facteur de rétrécissement 0
|
||
Facteur d'agrandissement 0
|
||
Asc. horizontal Jamais
|
||
Asc. vertical Jamais
|
||
Complétion système de fichier Non
|
||
Saisie invalide Oui, bloquant
|
||
Saisie obligatoire (erreur) : Style Oui
|
||
Saisie obligatoire (erreur) : Texte Non
|
||
Saisie obligatoire (erreur) : Picto Non
|
||
Saisie obligatoire (indication) : Picto Non
|
||
Saisie obligatoire (indication) : Texte Non
|
||
12/08/2026 Batik_WS_Com_Mob 90
|
||
|
||
Partie 3 › Fenêtre WINDEV › FEN_Connexion › Informations sur les champs
|
||
Saisie obligatoire (indication) : Style Oui
|
||
Saisie invalide : Picto Non
|
||
Saisie invalide : Texte Non
|
||
Saisie invalide : Style Oui
|
||
Avec focus Oui
|
||
Historique des saisies Non
|
||
Valeurs multiples (jetons) Non
|
||
Autoriser les doublons Non
|
||
Jeton supprimable Oui
|
||
Valeur persistante Oui
|
||
Barre d'outils RTF En saisie
|
||
Texte Markdown Non
|
||
Mode menu ctx. <Aucun>
|
||
Gestion Euro Non
|
||
Personnaliser le picto AMI Non
|
||
Indice du picto AMI 1
|
||
Bouton gauche : Nombre d'états 1
|
||
Bouton droit : Nombre d'états 1
|
||
Bouton gauche : Largeur 0
|
||
Bouton droit : Largeur 0
|
||
Bouton gauche : Hauteur 0
|
||
Bouton droit : Hauteur 0
|
||
Bouton gauche : Monochrome Non
|
||
Bouton droit : Monochrome Non
|
||
Ancrage <Aucun>
|
||
Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000
|
||
Champ de saisie : SAI_MPWSCom
|
||
Libellé FR: Mot de passe
|
||
Ordre navigation 13
|
||
Curseur survol 0
|
||
UI par l'utilisateur Selon fenêtre
|
||
Bouton Calendrier Non
|
||
Bouton Calculatrice Non
|
||
Bouton Suppression <Aucun>
|
||
Touche TAB Accessible par TAB
|
||
Taux Paral. hauteur 0
|
||
Taux Paral. Y 0
|
||
Épinglé Non
|
||
Masquer lors du scrolling Non
|
||
Ancrage au contenu <Aucun>
|
||
Cadrage horz. Gauche
|
||
Position X interne 325
|
||
Largeur interne 298
|
||
Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité)
|
||
Numéro aide 0
|
||
Opacité 100
|
||
12/08/2026 Batik_WS_Com_Mob 91
|
||
|
||
Partie 3 › Fenêtre WINDEV › FEN_Connexion › Informations sur les champs
|
||
Autorise ChangeGabarit Oui
|
||
Sécurité HTML Oui
|
||
Visualisation markdown Non
|
||
Saisie manuscrite Non
|
||
Taille de saisie 0
|
||
Masque saisie FR: 0
|
||
Borne dans bulle Non
|
||
Borne dans texte d'indication Oui
|
||
Sélection multiple Non
|
||
Mode ellipse <Aucun>
|
||
Lien automatique Non
|
||
Verifier l'orthographe Non
|
||
Unicode Non
|
||
Alignement sur l'axe secondaire défini par le champ flexbox (auto)
|
||
Facteur de rétrécissement 0
|
||
Facteur d'agrandissement 0
|
||
Asc. horizontal Jamais
|
||
Asc. vertical Jamais
|
||
Complétion système de fichier Non
|
||
Saisie invalide Oui, bloquant
|
||
Saisie obligatoire (erreur) : Style Oui
|
||
Saisie obligatoire (erreur) : Texte Non
|
||
Saisie obligatoire (erreur) : Picto Non
|
||
Saisie obligatoire (indication) : Picto Non
|
||
Saisie obligatoire (indication) : Texte Non
|
||
Saisie obligatoire (indication) : Style Oui
|
||
Saisie invalide : Picto Non
|
||
Saisie invalide : Texte Non
|
||
Saisie invalide : Style Oui
|
||
Avec focus Oui
|
||
Historique des saisies Non
|
||
Valeurs multiples (jetons) Non
|
||
Autoriser les doublons Non
|
||
Jeton supprimable Oui
|
||
Valeur persistante Oui
|
||
Barre d'outils RTF En saisie
|
||
Texte Markdown Non
|
||
Mode menu ctx. <Aucun>
|
||
Gestion Euro Non
|
||
Personnaliser le picto AMI Non
|
||
Indice du picto AMI 1
|
||
Bouton gauche : Nombre d'états 1
|
||
Bouton droit : Nombre d'états 1
|
||
Bouton gauche : Largeur 0
|
||
Bouton droit : Largeur 0
|
||
Bouton gauche : Hauteur 0
|
||
Bouton droit : Hauteur 0
|
||
Bouton gauche : Monochrome Non
|
||
Bouton droit : Monochrome Non
|
||
Ancrage <Aucun>
|
||
Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000
|
||
12/08/2026 Batik_WS_Com_Mob 92
|
||
|
||
Partie 3 › Fenêtre WINDEV › FEN_Connexion › Informations sur les champs
|
||
Champ de saisie : SAI_NomBaseLicence
|
||
Libellé FR: Nom de la base de données
|
||
Ordre navigation 4
|
||
Curseur survol 0
|
||
UI par l'utilisateur Selon fenêtre
|
||
Bouton Calendrier Non
|
||
Bouton Calculatrice Non
|
||
Bouton Suppression <Aucun>
|
||
Touche TAB Accessible par TAB
|
||
Taux Paral. hauteur 0
|
||
Taux Paral. Y 0
|
||
Épinglé Non
|
||
Masquer lors du scrolling Non
|
||
Ancrage au contenu <Aucun>
|
||
Cadrage horz. Gauche
|
||
Position X interne 322
|
||
Largeur interne 298
|
||
Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité)
|
||
Numéro aide 0
|
||
Opacité 100
|
||
Autorise ChangeGabarit Oui
|
||
Sécurité HTML Oui
|
||
Visualisation markdown Non
|
||
Saisie manuscrite Non
|
||
Taille de saisie 0
|
||
Masque saisie FR: 0
|
||
Borne dans bulle Non
|
||
Borne dans texte d'indication Oui
|
||
Sélection multiple Non
|
||
Mode ellipse <Aucun>
|
||
Lien automatique Non
|
||
Verifier l'orthographe Non
|
||
Unicode Non
|
||
Alignement sur l'axe secondaire défini par le champ flexbox (auto)
|
||
Facteur de rétrécissement 0
|
||
Facteur d'agrandissement 0
|
||
Asc. horizontal Jamais
|
||
Asc. vertical Jamais
|
||
Complétion système de fichier Non
|
||
Saisie invalide Oui, bloquant
|
||
Saisie obligatoire (erreur) : Style Oui
|
||
Saisie obligatoire (erreur) : Texte Non
|
||
Saisie obligatoire (erreur) : Picto Non
|
||
Saisie obligatoire (indication) : Picto Non
|
||
Saisie obligatoire (indication) : Texte Non
|
||
Saisie obligatoire (indication) : Style Oui
|
||
Saisie invalide : Picto Non
|
||
Saisie invalide : Texte Non
|
||
Saisie invalide : Style Oui
|
||
Avec focus Oui
|
||
12/08/2026 Batik_WS_Com_Mob 93
|
||
|
||
Partie 3 › Fenêtre WINDEV › FEN_Connexion › Informations sur les champs
|
||
Historique des saisies Oui
|
||
Valeurs multiples (jetons) Non
|
||
Autoriser les doublons Non
|
||
Jeton supprimable Oui
|
||
Valeur persistante Oui
|
||
Barre d'outils RTF En saisie
|
||
Texte Markdown Non
|
||
Mode menu ctx. <Aucun>
|
||
Gestion Euro Non
|
||
Personnaliser le picto AMI Non
|
||
Indice du picto AMI 1
|
||
Bouton gauche : Nombre d'états 1
|
||
Bouton droit : Nombre d'états 1
|
||
Bouton gauche : Largeur 0
|
||
Bouton droit : Largeur 0
|
||
Bouton gauche : Hauteur 0
|
||
Bouton droit : Hauteur 0
|
||
Bouton gauche : Monochrome Non
|
||
Bouton droit : Monochrome Non
|
||
Ancrage <Aucun>
|
||
Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000
|
||
Champ de saisie : SAI_NomBaseWSCom
|
||
Libellé FR: Nom de la base de données
|
||
Ordre navigation 11
|
||
Curseur survol 0
|
||
UI par l'utilisateur Selon fenêtre
|
||
Bouton Calendrier Non
|
||
Bouton Calculatrice Non
|
||
Bouton Suppression <Aucun>
|
||
Touche TAB Accessible par TAB
|
||
Taux Paral. hauteur 0
|
||
Taux Paral. Y 0
|
||
Épinglé Non
|
||
Masquer lors du scrolling Non
|
||
Ancrage au contenu <Aucun>
|
||
Cadrage horz. Gauche
|
||
Position X interne 325
|
||
Largeur interne 298
|
||
Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité)
|
||
Numéro aide 0
|
||
Opacité 100
|
||
Autorise ChangeGabarit Oui
|
||
Sécurité HTML Oui
|
||
Visualisation markdown Non
|
||
Saisie manuscrite Non
|
||
Taille de saisie 0
|
||
12/08/2026 Batik_WS_Com_Mob 94
|
||
|
||
Partie 3 › Fenêtre WINDEV › FEN_Connexion › Informations sur les champs
|
||
Masque saisie FR: 0
|
||
Borne dans bulle Non
|
||
Borne dans texte d'indication Oui
|
||
Sélection multiple Non
|
||
Mode ellipse <Aucun>
|
||
Lien automatique Non
|
||
Verifier l'orthographe Non
|
||
Unicode Non
|
||
Alignement sur l'axe secondaire défini par le champ flexbox (auto)
|
||
Facteur de rétrécissement 0
|
||
Facteur d'agrandissement 0
|
||
Asc. horizontal Jamais
|
||
Asc. vertical Jamais
|
||
Complétion système de fichier Non
|
||
Saisie invalide Oui, bloquant
|
||
Saisie obligatoire (erreur) : Style Oui
|
||
Saisie obligatoire (erreur) : Texte Non
|
||
Saisie obligatoire (erreur) : Picto Non
|
||
Saisie obligatoire (indication) : Picto Non
|
||
Saisie obligatoire (indication) : Texte Non
|
||
Saisie obligatoire (indication) : Style Oui
|
||
Saisie invalide : Picto Non
|
||
Saisie invalide : Texte Non
|
||
Saisie invalide : Style Oui
|
||
Avec focus Oui
|
||
Historique des saisies Oui
|
||
Valeurs multiples (jetons) Non
|
||
Autoriser les doublons Non
|
||
Jeton supprimable Oui
|
||
Valeur persistante Oui
|
||
Barre d'outils RTF En saisie
|
||
Texte Markdown Non
|
||
Mode menu ctx. <Aucun>
|
||
Gestion Euro Non
|
||
Personnaliser le picto AMI Non
|
||
Indice du picto AMI 1
|
||
Bouton gauche : Nombre d'états 1
|
||
Bouton droit : Nombre d'états 1
|
||
Bouton gauche : Largeur 0
|
||
Bouton droit : Largeur 0
|
||
Bouton gauche : Hauteur 0
|
||
Bouton droit : Hauteur 0
|
||
Bouton gauche : Monochrome Non
|
||
Bouton droit : Monochrome Non
|
||
Ancrage <Aucun>
|
||
Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000
|
||
12/08/2026 Batik_WS_Com_Mob 95
|
||
|
||
Partie 3 › Fenêtre WINDEV › FEN_Connexion › Informations sur les champs
|
||
Champ de saisie : SAI_PortLicence
|
||
Libellé FR: Port
|
||
Ordre navigation 3
|
||
Curseur survol 0
|
||
UI par l'utilisateur Selon fenêtre
|
||
Bouton Calendrier Non
|
||
Bouton Calculatrice Non
|
||
Bouton Suppression <Aucun>
|
||
Touche TAB Accessible par TAB
|
||
Taux Paral. hauteur 0
|
||
Taux Paral. Y 0
|
||
Épinglé Non
|
||
Masquer lors du scrolling Non
|
||
Ancrage au contenu <Aucun>
|
||
Cadrage horz. Gauche
|
||
Position X interne 197
|
||
Largeur interne 117
|
||
Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité)
|
||
Numéro aide 0
|
||
Opacité 100
|
||
Autorise ChangeGabarit Oui
|
||
Sécurité HTML Oui
|
||
Visualisation markdown Non
|
||
Saisie manuscrite Non
|
||
Taille de saisie 0
|
||
Masque saisie FR: 0
|
||
Borne dans bulle Non
|
||
Borne dans texte d'indication Oui
|
||
Sélection multiple Non
|
||
Mode ellipse <Aucun>
|
||
Lien automatique Non
|
||
Verifier l'orthographe Non
|
||
Unicode Non
|
||
Alignement sur l'axe secondaire défini par le champ flexbox (auto)
|
||
Facteur de rétrécissement 0
|
||
Facteur d'agrandissement 0
|
||
Asc. horizontal Jamais
|
||
Asc. vertical Jamais
|
||
Complétion système de fichier Non
|
||
Saisie invalide Oui, bloquant
|
||
Saisie obligatoire (erreur) : Style Oui
|
||
Saisie obligatoire (erreur) : Texte Non
|
||
Saisie obligatoire (erreur) : Picto Non
|
||
Saisie obligatoire (indication) : Picto Non
|
||
Saisie obligatoire (indication) : Texte Non
|
||
Saisie obligatoire (indication) : Style Oui
|
||
Saisie invalide : Picto Non
|
||
Saisie invalide : Texte Non
|
||
Saisie invalide : Style Oui
|
||
Avec focus Oui
|
||
12/08/2026 Batik_WS_Com_Mob 96
|
||
|
||
Partie 3 › Fenêtre WINDEV › FEN_Connexion › Informations sur les champs
|
||
Historique des saisies Oui
|
||
Valeurs multiples (jetons) Non
|
||
Autoriser les doublons Non
|
||
Jeton supprimable Oui
|
||
Valeur persistante Oui
|
||
Barre d'outils RTF En saisie
|
||
Texte Markdown Non
|
||
Mode menu ctx. <Aucun>
|
||
Gestion Euro Non
|
||
Personnaliser le picto AMI Non
|
||
Indice du picto AMI 1
|
||
Bouton gauche : Nombre d'états 1
|
||
Bouton droit : Nombre d'états 1
|
||
Bouton gauche : Largeur 0
|
||
Bouton droit : Largeur 0
|
||
Bouton gauche : Hauteur 0
|
||
Bouton droit : Hauteur 0
|
||
Bouton gauche : Monochrome Non
|
||
Bouton droit : Monochrome Non
|
||
Ancrage <Aucun>
|
||
Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000
|
||
Champ de saisie : SAI_PortWSCom
|
||
Libellé FR: Port
|
||
Ordre navigation 10
|
||
Curseur survol 0
|
||
UI par l'utilisateur Selon fenêtre
|
||
Bouton Calendrier Non
|
||
Bouton Calculatrice Non
|
||
Bouton Suppression <Aucun>
|
||
Touche TAB Accessible par TAB
|
||
Taux Paral. hauteur 0
|
||
Taux Paral. Y 0
|
||
Épinglé Non
|
||
Masquer lors du scrolling Non
|
||
Ancrage au contenu <Aucun>
|
||
Cadrage horz. Gauche
|
||
Position X interne 197
|
||
Largeur interne 117
|
||
Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité)
|
||
Numéro aide 0
|
||
Opacité 100
|
||
Autorise ChangeGabarit Oui
|
||
Sécurité HTML Oui
|
||
Visualisation markdown Non
|
||
Saisie manuscrite Non
|
||
Taille de saisie 0
|
||
12/08/2026 Batik_WS_Com_Mob 97
|
||
|
||
Partie 3 › Fenêtre WINDEV › FEN_Connexion › Informations sur les champs
|
||
Masque saisie FR: 0
|
||
Borne dans bulle Non
|
||
Borne dans texte d'indication Oui
|
||
Sélection multiple Non
|
||
Mode ellipse <Aucun>
|
||
Lien automatique Non
|
||
Verifier l'orthographe Non
|
||
Unicode Non
|
||
Alignement sur l'axe secondaire défini par le champ flexbox (auto)
|
||
Facteur de rétrécissement 0
|
||
Facteur d'agrandissement 0
|
||
Asc. horizontal Jamais
|
||
Asc. vertical Jamais
|
||
Complétion système de fichier Non
|
||
Saisie invalide Oui, bloquant
|
||
Saisie obligatoire (erreur) : Style Oui
|
||
Saisie obligatoire (erreur) : Texte Non
|
||
Saisie obligatoire (erreur) : Picto Non
|
||
Saisie obligatoire (indication) : Picto Non
|
||
Saisie obligatoire (indication) : Texte Non
|
||
Saisie obligatoire (indication) : Style Oui
|
||
Saisie invalide : Picto Non
|
||
Saisie invalide : Texte Non
|
||
Saisie invalide : Style Oui
|
||
Avec focus Oui
|
||
Historique des saisies Oui
|
||
Valeurs multiples (jetons) Non
|
||
Autoriser les doublons Non
|
||
Jeton supprimable Oui
|
||
Valeur persistante Oui
|
||
Barre d'outils RTF En saisie
|
||
Texte Markdown Non
|
||
Mode menu ctx. <Aucun>
|
||
Gestion Euro Non
|
||
Personnaliser le picto AMI Non
|
||
Indice du picto AMI 1
|
||
Bouton gauche : Nombre d'états 1
|
||
Bouton droit : Nombre d'états 1
|
||
Bouton gauche : Largeur 0
|
||
Bouton droit : Largeur 0
|
||
Bouton gauche : Hauteur 0
|
||
Bouton droit : Hauteur 0
|
||
Bouton gauche : Monochrome Non
|
||
Bouton droit : Monochrome Non
|
||
Ancrage <Aucun>
|
||
Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000
|
||
12/08/2026 Batik_WS_Com_Mob 98
|
||
|
||
Partie 3 › Fenêtre WINDEV › FEN_Connexion › Informations sur les champs
|
||
Champ de saisie : SAI_URLLicence
|
||
Libellé FR: URL Web Service Licence
|
||
Ordre navigation 1
|
||
Curseur survol 0
|
||
UI par l'utilisateur Selon fenêtre
|
||
Bouton Calendrier Non
|
||
Bouton Calculatrice Non
|
||
Bouton Suppression <Aucun>
|
||
Touche TAB Accessible par TAB
|
||
Taux Paral. hauteur 0
|
||
Taux Paral. Y 0
|
||
Épinglé Non
|
||
Masquer lors du scrolling Non
|
||
Ancrage au contenu <Aucun>
|
||
Cadrage horz. Gauche
|
||
Position X interne 11
|
||
Largeur interne 609
|
||
Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité)
|
||
Numéro aide 0
|
||
Opacité 100
|
||
Autorise ChangeGabarit Oui
|
||
Sécurité HTML Oui
|
||
Visualisation markdown Non
|
||
Saisie manuscrite Non
|
||
Taille de saisie 0
|
||
Masque saisie FR: 0
|
||
Borne dans bulle Non
|
||
Borne dans texte d'indication Oui
|
||
Sélection multiple Non
|
||
Mode ellipse <Aucun>
|
||
Lien automatique Non
|
||
Verifier l'orthographe Non
|
||
Unicode Non
|
||
Alignement sur l'axe secondaire défini par le champ flexbox (auto)
|
||
Facteur de rétrécissement 0
|
||
Facteur d'agrandissement 0
|
||
Asc. horizontal Jamais
|
||
Asc. vertical Jamais
|
||
Complétion système de fichier Non
|
||
Saisie invalide Oui, bloquant
|
||
Saisie obligatoire (erreur) : Style Oui
|
||
Saisie obligatoire (erreur) : Texte Non
|
||
Saisie obligatoire (erreur) : Picto Non
|
||
Saisie obligatoire (indication) : Picto Non
|
||
Saisie obligatoire (indication) : Texte Non
|
||
Saisie obligatoire (indication) : Style Oui
|
||
Saisie invalide : Picto Non
|
||
Saisie invalide : Texte Non
|
||
Saisie invalide : Style Oui
|
||
Avec focus Oui
|
||
12/08/2026 Batik_WS_Com_Mob 99
|
||
|
||
Partie 3 › Fenêtre WINDEV › FEN_Connexion › Informations sur les champs
|
||
Historique des saisies Oui
|
||
Valeurs multiples (jetons) Non
|
||
Autoriser les doublons Non
|
||
Jeton supprimable Oui
|
||
Valeur persistante Oui
|
||
Barre d'outils RTF En saisie
|
||
Texte Markdown Non
|
||
Mode menu ctx. <Aucun>
|
||
Gestion Euro Non
|
||
Personnaliser le picto AMI Non
|
||
Indice du picto AMI 1
|
||
Bouton gauche : Nombre d'états 1
|
||
Bouton droit : Nombre d'états 1
|
||
Bouton gauche : Largeur 0
|
||
Bouton droit : Largeur 0
|
||
Bouton gauche : Hauteur 0
|
||
Bouton droit : Hauteur 0
|
||
Bouton gauche : Monochrome Non
|
||
Bouton droit : Monochrome Non
|
||
Ancrage <Aucun>
|
||
Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000
|
||
Champ de saisie : SAI_URLWSCom
|
||
Libellé FR: URL Web Service
|
||
Ordre navigation 8
|
||
Curseur survol 0
|
||
UI par l'utilisateur Selon fenêtre
|
||
Bouton Calendrier Non
|
||
Bouton Calculatrice Non
|
||
Bouton Suppression <Aucun>
|
||
Touche TAB Accessible par TAB
|
||
Taux Paral. hauteur 0
|
||
Taux Paral. Y 0
|
||
Épinglé Non
|
||
Masquer lors du scrolling Non
|
||
Ancrage au contenu <Aucun>
|
||
Cadrage horz. Gauche
|
||
Position X interne 14
|
||
Largeur interne 609
|
||
Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité)
|
||
Numéro aide 0
|
||
Opacité 100
|
||
Autorise ChangeGabarit Oui
|
||
Sécurité HTML Oui
|
||
Visualisation markdown Non
|
||
Saisie manuscrite Non
|
||
Taille de saisie 0
|
||
12/08/2026 Batik_WS_Com_Mob 100
|
||
|
||
Partie 3 › Fenêtre WINDEV › FEN_Connexion › Informations sur les champs
|
||
Masque saisie FR: 0
|
||
Borne dans bulle Non
|
||
Borne dans texte d'indication Oui
|
||
Sélection multiple Non
|
||
Mode ellipse <Aucun>
|
||
Lien automatique Non
|
||
Verifier l'orthographe Non
|
||
Unicode Non
|
||
Alignement sur l'axe secondaire défini par le champ flexbox (auto)
|
||
Facteur de rétrécissement 0
|
||
Facteur d'agrandissement 0
|
||
Asc. horizontal Jamais
|
||
Asc. vertical Jamais
|
||
Complétion système de fichier Non
|
||
Saisie invalide Oui, bloquant
|
||
Saisie obligatoire (erreur) : Style Oui
|
||
Saisie obligatoire (erreur) : Texte Non
|
||
Saisie obligatoire (erreur) : Picto Non
|
||
Saisie obligatoire (indication) : Picto Non
|
||
Saisie obligatoire (indication) : Texte Non
|
||
Saisie obligatoire (indication) : Style Oui
|
||
Saisie invalide : Picto Non
|
||
Saisie invalide : Texte Non
|
||
Saisie invalide : Style Oui
|
||
Avec focus Oui
|
||
Historique des saisies Oui
|
||
Valeurs multiples (jetons) Non
|
||
Autoriser les doublons Non
|
||
Jeton supprimable Oui
|
||
Valeur persistante Oui
|
||
Barre d'outils RTF En saisie
|
||
Texte Markdown Non
|
||
Mode menu ctx. <Aucun>
|
||
Gestion Euro Non
|
||
Personnaliser le picto AMI Non
|
||
Indice du picto AMI 1
|
||
Bouton gauche : Nombre d'états 1
|
||
Bouton droit : Nombre d'états 1
|
||
Bouton gauche : Largeur 0
|
||
Bouton droit : Largeur 0
|
||
Bouton gauche : Hauteur 0
|
||
Bouton droit : Hauteur 0
|
||
Bouton gauche : Monochrome Non
|
||
Bouton droit : Monochrome Non
|
||
Ancrage <Aucun>
|
||
Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000
|
||
12/08/2026 Batik_WS_Com_Mob 101
|
||
|
||
Partie 3 › Fenêtre WINDEV › FEN_Connexion › Informations sur les champs
|
||
Champ de saisie : SAI_UserLicence
|
||
Libellé FR: Utilisateur
|
||
Ordre navigation 5
|
||
Curseur survol 0
|
||
UI par l'utilisateur Selon fenêtre
|
||
Bouton Calendrier Non
|
||
Bouton Calculatrice Non
|
||
Bouton Suppression <Aucun>
|
||
Touche TAB Accessible par TAB
|
||
Taux Paral. hauteur 0
|
||
Taux Paral. Y 0
|
||
Épinglé Non
|
||
Masquer lors du scrolling Non
|
||
Ancrage au contenu <Aucun>
|
||
Cadrage horz. Gauche
|
||
Position X interne 11
|
||
Largeur interne 180
|
||
Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité)
|
||
Numéro aide 0
|
||
Opacité 100
|
||
Autorise ChangeGabarit Oui
|
||
Sécurité HTML Oui
|
||
Visualisation markdown Non
|
||
Saisie manuscrite Non
|
||
Taille de saisie 0
|
||
Masque saisie FR: 0
|
||
Borne dans bulle Non
|
||
Borne dans texte d'indication Oui
|
||
Sélection multiple Non
|
||
Mode ellipse <Aucun>
|
||
Lien automatique Non
|
||
Verifier l'orthographe Non
|
||
Unicode Non
|
||
Alignement sur l'axe secondaire défini par le champ flexbox (auto)
|
||
Facteur de rétrécissement 0
|
||
Facteur d'agrandissement 0
|
||
Asc. horizontal Jamais
|
||
Asc. vertical Jamais
|
||
Complétion système de fichier Non
|
||
Saisie invalide Oui, bloquant
|
||
Saisie obligatoire (erreur) : Style Oui
|
||
Saisie obligatoire (erreur) : Texte Non
|
||
Saisie obligatoire (erreur) : Picto Non
|
||
Saisie obligatoire (indication) : Picto Non
|
||
Saisie obligatoire (indication) : Texte Non
|
||
Saisie obligatoire (indication) : Style Oui
|
||
Saisie invalide : Picto Non
|
||
Saisie invalide : Texte Non
|
||
Saisie invalide : Style Oui
|
||
Avec focus Oui
|
||
12/08/2026 Batik_WS_Com_Mob 102
|
||
|
||
Partie 3 › Fenêtre WINDEV › FEN_Connexion › Informations sur les champs
|
||
Historique des saisies Oui
|
||
Valeurs multiples (jetons) Non
|
||
Autoriser les doublons Non
|
||
Jeton supprimable Oui
|
||
Valeur persistante Oui
|
||
Barre d'outils RTF En saisie
|
||
Texte Markdown Non
|
||
Mode menu ctx. <Aucun>
|
||
Gestion Euro Non
|
||
Personnaliser le picto AMI Non
|
||
Indice du picto AMI 1
|
||
Bouton gauche : Nombre d'états 1
|
||
Bouton droit : Nombre d'états 1
|
||
Bouton gauche : Largeur 0
|
||
Bouton droit : Largeur 0
|
||
Bouton gauche : Hauteur 0
|
||
Bouton droit : Hauteur 0
|
||
Bouton gauche : Monochrome Non
|
||
Bouton droit : Monochrome Non
|
||
Ancrage <Aucun>
|
||
Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000
|
||
Champ de saisie : SAI_UserWSCom
|
||
Libellé FR: Utilisateur
|
||
Ordre navigation 12
|
||
Curseur survol 0
|
||
UI par l'utilisateur Selon fenêtre
|
||
Bouton Calendrier Non
|
||
Bouton Calculatrice Non
|
||
Bouton Suppression <Aucun>
|
||
Touche TAB Accessible par TAB
|
||
Taux Paral. hauteur 0
|
||
Taux Paral. Y 0
|
||
Épinglé Non
|
||
Masquer lors du scrolling Non
|
||
Ancrage au contenu <Aucun>
|
||
Cadrage horz. Gauche
|
||
Position X interne 14
|
||
Largeur interne 303
|
||
Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité)
|
||
Numéro aide 0
|
||
Opacité 100
|
||
Autorise ChangeGabarit Oui
|
||
Sécurité HTML Oui
|
||
Visualisation markdown Non
|
||
Saisie manuscrite Non
|
||
Taille de saisie 0
|
||
12/08/2026 Batik_WS_Com_Mob 103
|
||
|
||
Partie 3 › Fenêtre WINDEV › FEN_Connexion › Informations sur les champs
|
||
Masque saisie FR: 0
|
||
Borne dans bulle Non
|
||
Borne dans texte d'indication Oui
|
||
Sélection multiple Non
|
||
Mode ellipse <Aucun>
|
||
Lien automatique Non
|
||
Verifier l'orthographe Non
|
||
Unicode Non
|
||
Alignement sur l'axe secondaire défini par le champ flexbox (auto)
|
||
Facteur de rétrécissement 0
|
||
Facteur d'agrandissement 0
|
||
Asc. horizontal Jamais
|
||
Asc. vertical Jamais
|
||
Complétion système de fichier Non
|
||
Saisie invalide Oui, bloquant
|
||
Saisie obligatoire (erreur) : Style Oui
|
||
Saisie obligatoire (erreur) : Texte Non
|
||
Saisie obligatoire (erreur) : Picto Non
|
||
Saisie obligatoire (indication) : Picto Non
|
||
Saisie obligatoire (indication) : Texte Non
|
||
Saisie obligatoire (indication) : Style Oui
|
||
Saisie invalide : Picto Non
|
||
Saisie invalide : Texte Non
|
||
Saisie invalide : Style Oui
|
||
Avec focus Oui
|
||
Historique des saisies Oui
|
||
Valeurs multiples (jetons) Non
|
||
Autoriser les doublons Non
|
||
Jeton supprimable Oui
|
||
Valeur persistante Oui
|
||
Barre d'outils RTF En saisie
|
||
Texte Markdown Non
|
||
Mode menu ctx. <Aucun>
|
||
Gestion Euro Non
|
||
Personnaliser le picto AMI Non
|
||
Indice du picto AMI 1
|
||
Bouton gauche : Nombre d'états 1
|
||
Bouton droit : Nombre d'états 1
|
||
Bouton gauche : Largeur 0
|
||
Bouton droit : Largeur 0
|
||
Bouton gauche : Hauteur 0
|
||
Bouton droit : Hauteur 0
|
||
Bouton gauche : Monochrome Non
|
||
Bouton droit : Monochrome Non
|
||
Ancrage <Aucun>
|
||
Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000
|
||
12/08/2026 Batik_WS_Com_Mob 104
|
||
|
||
Partie 3 › Fenêtre WINDEV › FEN_Connexion › Code
|
||
FEN_Connexion
|
||
Code
|
||
Déclarations globales de FEN_Connexion
|
||
PROCÉDURE FEN_Connexion()
|
||
FEN_Connexion
|
||
Code des champs
|
||
Initialisation de BTN_Valider
|
||
// Version 1
|
||
// Description
|
||
// Bouton simple
|
||
Clic sur BTN_Valider
|
||
SeConnecter()
|
||
Initialisation de LIB_Libellé
|
||
// Version 1
|
||
// Description
|
||
// Libellé pour écrire un titre
|
||
Initialisation de LIB_Libellé1
|
||
// Version 1
|
||
// Description
|
||
// Libellé pour écrire un titre
|
||
Initialisation de SAI_BaseLicence
|
||
// Version 1
|
||
// Description
|
||
// Champ de saisie pour un texte simple sur une ligne
|
||
Initialisation de SAI_BaseWSCom
|
||
// Version 1
|
||
// Description
|
||
// Champ de saisie pour un texte simple sur une ligne
|
||
Initialisation de SAI_MPLicence
|
||
12/08/2026 Batik_WS_Com_Mob 105
|
||
|
||
Partie 3 › Fenêtre WINDEV › FEN_Connexion › Code des champs
|
||
// Version 1
|
||
// Description
|
||
// Champ de saisie pour un texte simple sur une ligne
|
||
Initialisation de SAI_MPLicenceFichiers
|
||
// Version 1
|
||
// Description
|
||
// Champ de saisie pour un texte simple sur une ligne
|
||
Initialisation de SAI_MPWSCom
|
||
// Version 1
|
||
// Description
|
||
// Champ de saisie pour un texte simple sur une ligne
|
||
Initialisation de SAI_NomBaseLicence
|
||
// Version 1
|
||
// Description
|
||
// Champ de saisie pour un texte simple sur une ligne
|
||
Initialisation de SAI_NomBaseWSCom
|
||
// Version 1
|
||
// Description
|
||
// Champ de saisie pour un texte simple sur une ligne
|
||
Initialisation de SAI_PortLicence
|
||
// Version 1
|
||
// Description
|
||
// Champ de saisie pour un texte simple sur une ligne
|
||
Initialisation de SAI_PortWSCom
|
||
// Version 1
|
||
// Description
|
||
// Champ de saisie pour un texte simple sur une ligne
|
||
Initialisation de SAI_URLLicence
|
||
// Version 1
|
||
// Description
|
||
// Champ de saisie pour un texte simple sur une ligne
|
||
Initialisation de SAI_URLWSCom
|
||
// Version 1
|
||
// Description
|
||
// Champ de saisie pour un texte simple sur une ligne
|
||
Initialisation de SAI_UserLicence
|
||
12/08/2026 Batik_WS_Com_Mob 106
|
||
|
||
Partie 3 › Fenêtre WINDEV › FEN_Connexion › Code des champs
|
||
// Version 1
|
||
// Description
|
||
// Champ de saisie pour un texte simple sur une ligne
|
||
Initialisation de SAI_UserWSCom
|
||
// Version 1
|
||
// Description
|
||
// Champ de saisie pour un texte simple sur une ligne
|
||
FEN_Connexion
|
||
Procédures
|
||
Procédure locale SeConnecter
|
||
PROCÉDURE SeConnecter()
|
||
LIB_DEBUG.gcnxD_ServeurLicence..Provider =hAccèsHFClientServeur
|
||
LIB_DEBUG.gcnxD_ServeurLicence..BaseDeDonnées = SAI_NomBaseLicence
|
||
| LIB_DEBUG.gcnxD_ServeurLicence..MotDePasse | = SAI_MPLicence | |
|
||
| ------------------------------------------- | --------------- | --- |
|
||
LIB_DEBUG.gcnxD_ServeurLicence..Serveur = SAI_BaseLicence+":"+SAI_PortLicence
|
||
| LIB_DEBUG.gcnxD_ServeurLicence..Utilisateur | = SAI_UserLicence | |
|
||
| -------------------------------------------- | ----------------- | --- |
|
||
| LIB_DEBUG.gsaPortWSCOM | = SAI_PortWSCom | |
|
||
| LIB_DEBUG.gsaServeurWSCOM | = SAI_BaseWSCom | |
|
||
LIB_DEBUG.gcnxD_ServeurWSCom..Provider =hAccèsHFClientServeur
|
||
| LIB_DEBUG.gcnxD_ServeurWSCom..BaseDeDonnées | = SAI_NomBaseWSCom | |
|
||
| ------------------------------------------- | ------------------ | --- |
|
||
| LIB_DEBUG.gcnxD_ServeurWSCom..MotDePasse | = SAI_MPWSCom | |
|
||
LIB_DEBUG.gcnxD_ServeurWSCom..Serveur = SAI_BaseWSCom+":"+SAI_PortWSCom
|
||
| LIB_DEBUG.gcnxD_ServeurWSCom..Utilisateur | = SAI_UserWSCom | |
|
||
| ----------------------------------------- | ---------------- | --- |
|
||
| WS_LICENCE..Adresse | = SAI_URLLicence | |
|
||
| WS_COM_MOBILE..Adresse | = SAI_URLWSCom | |
|
||
D_OuvreConnexionHFSQLLicence(SAI_MPLicenceFichiers)
|
||
D_RecupIdentiteLicence()
|
||
SI D_OuvreConnexionHFSQL() ALORS
|
||
Ouvre(FEN_Principal)
|
||
FIN
|
||
| 12/08/2026 | Batik_WS_Com_Mob | 107 |
|
||
| ---------- | ---------------- | --- |
|
||
|
||
Partie 3 › Fenêtre WINDEV › FEN_Log › Image
|
||
FEN_Log
|
||
Image
|
||
FEN_Log
|
||
Informations générales
|
||
FEN_Log
|
||
Fichier physique D:\Projets Windev\Batik\Nouvelle Version\WebService\Batik_WS_Com_Mob\FEN_Log.wdw
|
||
Créé par susana@applilogik.fr
|
||
Date de création 15/01/2026 10:20:07
|
||
Dernière modification par susana@applilogik.fr
|
||
Date dernière modification 15/01/2026 10:22:29
|
||
Titre FR: Log
|
||
Type fenêtre Fenêtre libre
|
||
12/08/2026 Batik_WS_Com_Mob 108
|
||
|
||
Partie 3 › Fenêtre WINDEV › FEN_Log › Informations générales
|
||
| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | |
|
||
| ------------------------ | ------------ | ----------------------------- | --------- | --------------- | --- |
|
||
| Position X | 0 Position Y | | 0 Largeur | 800 Hauteur | 599 |
|
||
| Visible | | Barre de titre | | Menu système | |
|
||
| Icône réduction | | Icône agrandissement | | Icône aide ctx. | |
|
||
| Barre de message | | Détourer le fond | | Mode 9 images | |
|
||
| Redimensionnable | | Avec grip | | Grip dans image | |
|
||
| Déplace/fond | | Sauve position | | Ascenseur auto. | |
|
||
| Gestion grande police | | Thème XP | | | |
|
||
Ctx. HFSQL indép.
|
||
| Etat initial | | Actif | | | |
|
||
| ------------------------------- | --- | ----------------------------------- | ---------------- | --- | --- |
|
||
| Curseur survol | | 0 | | | |
|
||
| Copie d'écran | | Oui | | | |
|
||
| Unité des tailles | | Plateforme unique desktop OU mobile | | | |
|
||
| Ancrage au contenu | | <Aucun> | | | |
|
||
| Opacité | | 100 | | | |
|
||
| Titre personnalisé | | Oui | | | |
|
||
| Titre perso. : hauteur | | 30 | | | |
|
||
| Titre perso. : Affiche le titre | | Oui | | | |
|
||
| Pos. Menu Perso | | Non | | | |
|
||
| Icône de fermeture | | Oui | | | |
|
||
| Type cadre | | Double | | | |
|
||
| Transparence Vista | | Non | | | |
|
||
| Transparence gérée par Vista | | Non | | | |
|
||
| Appliquer le gabarit du projet | | <Défaut> | | | |
|
||
| Grisé : Utiliser couleur perso. | | Non | | | |
|
||
| Grisé : Algo pour images | | <Défaut> | | | |
|
||
| Style du menu | | Office XP | | | |
|
||
| Mode bulle d'aide | | Non | | | |
|
||
| Mode Bulle : Point chaud | | Haut gauche | | | |
|
||
| Mode Bulle : Décalage X | | 0 | | | |
|
||
| Mode Bulle : Décalage Y | | 0 | | | |
|
||
| Valide auto. | | 0 | | | |
|
||
| Lib. + tps restant | | Oui | | | |
|
||
| Pos. X Menu | | 6 | | | |
|
||
| Pos. Y Menu | | 28 | | | |
|
||
| Texte Markdown | | Non | | | |
|
||
| Mode menu ctx. | | <Aucun> | | | |
|
||
| M.C.U. | | Oui | | | |
|
||
| Anim. Ouverture | | 0 | | | |
|
||
| Anim. Fermeture | | 0 | | | |
|
||
| Durée Anim. Ouverture | | 100 | | | |
|
||
| Durée Anim. Fermeture | | 50 | | | |
|
||
| Adapte Taille contenu | | Non | | | |
|
||
| Assombri quand inactif | | Oui | | | |
|
||
| Déplace souris sur bouton par | | Non | | | |
|
||
| Compact. barres outils | | Non | | | |
|
||
| 12/08/2026 | | | Batik_WS_Com_Mob | | 109 |
|
||
|
||
Partie 3 › Fenêtre WINDEV › FEN_Log › Informations générales
|
||
Statistiques de la fenêtre
|
||
| Champ de saisie | | | 1 | | |
|
||
| --------------- | --- | --- | --- | --- | --- |
|
||
Nombre d'éléments dans la fenêtre : 1
|
||
FEN_Log
|
||
Informations sur les champs
|
||
Fenêtre : FEN_Log
|
||
Champ de saisie
|
||
euqitamotua tnemecaffE
|
||
euqitamotua eisias niF
|
||
reihcif eétsissa eisiaS
|
||
| | | | | eriotagilbo eisiaS .zroH tnemeliféD .trev tnemeliféD | |
|
||
| --- | --- | --- | --- | ---------------------------------------------------- | --- |
|
||
latnoziroh .csA
|
||
essap ed toM
|
||
| | | | | cnalb à esiM ediv is LLUN | lacitrev .csA |
|
||
| --- | --- | --- | ---------------------------------------------- | ------------------------- | ------------- |
|
||
| | | | laitini tatE BAT ehcuoT eisias epyT FTR tamroF | | |
|
||
X noitisoP Y noitisoP engilitluM
|
||
ruegraL ruetuaH
|
||
elbisiV
|
||
nalP
|
||
| SAI_Log | 10 16 778 | 546 0 | Actif Texte | Non | |
|
||
| ------- | --------- | ----- | ----------- | --- | --- |
|
||
Fenêtre : FEN_Log
|
||
Champ de saisie : SAI_Log
|
||
| Ordre navigation | | 1 | | | |
|
||
| ------------------------- | --- | ------------------ | ---------------- | --- | --- |
|
||
| Curseur survol | | 0 | | | |
|
||
| UI par l'utilisateur | | Selon fenêtre | | | |
|
||
| Bouton Calendrier | | Non | | | |
|
||
| Bouton Calculatrice | | Non | | | |
|
||
| Bouton Suppression | | <Aucun> | | | |
|
||
| Touche TAB | | Accessible par TAB | | | |
|
||
| Taux Paral. hauteur | | 0 | | | |
|
||
| Taux Paral. Y | | 0 | | | |
|
||
| Épinglé | | Non | | | |
|
||
| Masquer lors du scrolling | | Non | | | |
|
||
| Ancrage au contenu | | <Aucun> | | | |
|
||
| Cadrage horz. | | Gauche | | | |
|
||
| Position X interne | | 11 | | | |
|
||
| Largeur interne | | 777 | | | |
|
||
| 12/08/2026 | | | Batik_WS_Com_Mob | | 110 |
|
||
|
||
Partie 3 › Fenêtre WINDEV › FEN_Log › Informations sur les champs
|
||
Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité)
|
||
Numéro aide 0
|
||
Opacité 100
|
||
Autorise ChangeGabarit Oui
|
||
Sécurité HTML Oui
|
||
Visualisation markdown Non
|
||
Saisie manuscrite Non
|
||
Taille de saisie 0
|
||
Masque saisie FR: 0
|
||
Borne dans bulle Non
|
||
Borne dans texte d'indication Oui
|
||
Sélection multiple Non
|
||
Mode ellipse <Aucun>
|
||
Lien automatique Non
|
||
Verifier l'orthographe Non
|
||
Unicode Non
|
||
Alignement sur l'axe secondaire défini par le champ flexbox (auto)
|
||
Facteur de rétrécissement 0
|
||
Facteur d'agrandissement 0
|
||
Asc. horizontal Jamais
|
||
Asc. vertical Automatique
|
||
Complétion système de fichier Non
|
||
Saisie invalide Oui, bloquant
|
||
Saisie obligatoire (erreur) : Style Oui
|
||
Saisie obligatoire (erreur) : Texte Non
|
||
Saisie obligatoire (erreur) : Picto Non
|
||
Saisie obligatoire (indication) : Picto Non
|
||
Saisie obligatoire (indication) : Texte Non
|
||
Saisie obligatoire (indication) : Style Oui
|
||
Saisie invalide : Picto Non
|
||
Saisie invalide : Texte Non
|
||
Saisie invalide : Style Oui
|
||
Avec focus Oui
|
||
Historique des saisies Non
|
||
Valeurs multiples (jetons) Non
|
||
Autoriser les doublons Non
|
||
Jeton supprimable Oui
|
||
Valeur persistante Non
|
||
Barre d'outils RTF En saisie
|
||
Texte Markdown Non
|
||
Mode menu ctx. <Aucun>
|
||
Gestion Euro Non
|
||
Personnaliser le picto AMI Non
|
||
Indice du picto AMI 1
|
||
Bouton gauche : Nombre d'états 1
|
||
Bouton droit : Nombre d'états 1
|
||
Bouton gauche : Largeur 0
|
||
Bouton droit : Largeur 0
|
||
Bouton gauche : Hauteur 0
|
||
Bouton droit : Hauteur 0
|
||
Bouton gauche : Monochrome Non
|
||
Bouton droit : Monochrome Non
|
||
12/08/2026 Batik_WS_Com_Mob 111
|
||
|
||
Partie 3 › Fenêtre WINDEV › FEN_Log › Informations sur les champs
|
||
Ancrage Largeur et hauteur
|
||
Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000
|
||
FEN_Log
|
||
Code
|
||
Déclarations globales de FEN_Log
|
||
PROCÉDURE FEN_Log()
|
||
Fermeture de FEN_Log
|
||
SI OuiNon("Voulez-vous fermer l'application") = Oui ALORS
|
||
FinProgramme()
|
||
SINON
|
||
RepriseSaisie(FEN_Log)
|
||
FIN
|
||
FEN_Log
|
||
Code des champs
|
||
Initialisation de SAI_Log
|
||
// Version 1
|
||
// Description
|
||
// Champ de saisie pour un texte multiligne simple, sans mise en forme
|
||
12/08/2026 Batik_WS_Com_Mob 112
|
||
|
||
Partie 4 › Collection de procédures
|
||
Partie 4
|
||
Collection de
|
||
procédures
|
||
| 12/08/2026 | Batik_WS_Com_Mob | 113 |
|
||
| ---------- | ---------------- | --- |
|
||
|
||
Partie 4 › Collection de procédures
|
||
LIB_GestionTableParamètres
|
||
Code
|
||
Procédure globale ParamApplication_Ecrit
|
||
PROCÉDURE ParamApplication_Ecrit(saCle est une chaîne ANSI,saValeurParDefaut est une chaîne ANSI="",
|
||
saDescription est une chaîne ANSI="")
|
||
HRAZ(TOSRV)
|
||
TOSRV.TS_JSON="{""sType"":""A"",""sCLE"":"""+ saCle +""",""sValeur"":""" + saValeurParDefaut +
|
||
""",""bCrypte"":0,""sDescript"":"""+saDescription+"""}"
|
||
TOSRV.TS_CMD =cCMD_ParamAppliEcrit
|
||
HAjoute(TOSRV)
|
||
Procédure globale ParamApplication_Lit
|
||
PROCÉDURE ParamApplication_Lit(saCle est une chaîne ANSI,saValeurParDefaut est une chaîne ANSI="",
|
||
saDescription est une chaîne ANSI="")
|
||
SI PAS HLitRecherchePremier(gsdParamApplication,PAP_Code,saCle) ALORS
|
||
ParamApplication_Ecrit(saCle,saValeurParDefaut,saDescription)
|
||
TraceINFO("PARAMETRE CREATION : " + saCle + " = ["+gsdParamApplication.PAP_Valeur +"]")
|
||
RENVOYER saValeurParDefaut
|
||
SINON
|
||
TraceINFO("PARAMETRE LECTURE : " + saCle + " = ["+gsdParamApplication.PAP_Valeur +"]")
|
||
FIN
|
||
RENVOYER gsdParamApplication.PAP_Valeur
|
||
Procédure globale ParamApplication_Lit_Booleen
|
||
PROCÉDURE ParamApplication_Lit_Booleen(saCle est une chaîne ANSI,bValeurParDefaut est un booléen=Faux,
|
||
saDescription est une chaîne ANSI="")
|
||
bRep est un booléen = ParamApplication_Lit(saCle,(bValeurParDefaut ? "1" SINON "0") ,saDescription)=
|
||
"1"
|
||
RENVOYER bRep
|
||
Procédure globale Parametre_Ecrit
|
||
PROCÉDURE PRIVÉ Parametre_Ecrit(saCle est une chaîne ANSI,saValeur est une chaîne ANSI)
|
||
SI PAS HLitRecherchePremier(PARAMETRES,CLE,saCle) ALORS
|
||
HRAZ(PARAMETRES)
|
||
PARAMETRES.CLE=saCle
|
||
FIN
|
||
PARAMETRES.VALTEXT=saValeur
|
||
HEnregistre(PARAMETRES)
|
||
Procédure globale Parametre_Lit
|
||
12/08/2026 Batik_WS_Com_Mob 114
|
||
|
||
Partie 4 › Collection de procédures › LIB_GestionTableParamètres › Code
|
||
PROCÉDURE PRIVÉ Parametre_Lit(saCle est une chaîne ANSI,saValeurParDefaut est une chaîne ANSI="")
|
||
SI PAS HLitRecherchePremier(PARAMETRES,CLE,saCle) ALORS
|
||
HRAZ(PARAMETRES)
|
||
PARAMETRES.CLE=saCle
|
||
PARAMETRES.VALTEXT=saValeurParDefaut
|
||
HAjoute(PARAMETRES)
|
||
TraceINFO("PARAMETRE CREATION : " + saCle + " = ["+PARAMETRES.VALTEXT +"]")
|
||
SINON
|
||
TraceINFO("PARAMETRE LECTURE : " + saCle + " = ["+PARAMETRES.VALTEXT +"]")
|
||
FIN
|
||
RENVOYER PARAMETRES.VALTEXT
|
||
Procédure globale Parametre_Lit_Booleen
|
||
PROCÉDURE Parametre_Lit_Booleen(saCle est une chaîne ANSI,bValeurParDefaut est un booléen=Faux)
|
||
bRep est un booléen = Parametre_Lit(saCle,(bValeurParDefaut ? "1" SINON "0") )="1"
|
||
RENVOYER bRep
|
||
12/08/2026 Batik_WS_Com_Mob 115
|
||
|
||
Partie 4 › Collection de procédures › LIB_WS › Code
|
||
LIB_WS
|
||
Code
|
||
Déclaration de LIB_WS
|
||
ST_PARAM_INFO est une Structure
|
||
saCMD est une chaîne ANSI
|
||
saDATA est une chaîne ANSI
|
||
FIN
|
||
ST_REP_INFO est une Structure
|
||
saCodeErreur est une chaîne ANSI
|
||
saDATA est une chaîne ANSI
|
||
nNumRec est un entier
|
||
saDate est une chaîne ANSI
|
||
FIN
|
||
ST_JSON_Type_RDV est une Structure
|
||
envoi_mobile est un booléen
|
||
present_devis est un booléen
|
||
valider_rdv est un booléen
|
||
saisir_temps_obligatoire est un booléen
|
||
FIN
|
||
12/08/2026 Batik_WS_Com_Mob 116
|
||
|
||
Partie 4 › Collection de procédures › LIB_GENERALE › Code
|
||
LIB_GENERALE
|
||
Code
|
||
Déclaration de LIB_GENERALE
|
||
Procédure globale CalculToken
|
||
PROCÉDURE CalculToken()
|
||
sMessage est un Buffer = HasardCryptoBuffer(20)
|
||
bufCle est un Buffer = HashChaîne(HA_MD5_128, gcCLE_CRYPT_TOKEN)
|
||
bufCrypte est un Buffer = CrypteStandard(sMessage, bufCle, crypteAES128)
|
||
sChaîneCryptée est une chaîne = "#"+BufferVersHexa(bufCrypte,SansRegroupement,SansLigne)+"#"
|
||
RENVOYER sChaîneCryptée
|
||
Procédure globale ChaineHasard
|
||
PROCÉDURE PRIVÉE ChaineHasard(nNbCaracteres est un entier)
|
||
// Initialise le générateur de nombres aléatoires
|
||
InitHasard()
|
||
sChaîneAléatoire est une chaîne
|
||
// Génère la chaîne aléatoire
|
||
BOUCLE (nNbCaracteres)
|
||
// Génère un nombre au hasard dans l'intervalle 65-122 (A-z)
|
||
nCaractère est un entier = Hasard(65,122)
|
||
// On ne prend pas les caractères compris entre 91 et 96
|
||
TANTQUE (91 <= nCaractère <= 96)
|
||
nCaractère = Hasard(65,122)
|
||
FIN
|
||
// Complète la chaîne
|
||
sChaîneAléatoire += Caract(nCaractère)
|
||
FIN
|
||
sChaîneAléatoire = Majuscule(sChaîneAléatoire)
|
||
RENVOYER sChaîneAléatoire
|
||
Procédure globale EnNomDeFichier
|
||
PROCÉDURE EnNomDeFichier(saNom chaîne ANSI)
|
||
saNomFic est chaîne ANSI =Majuscule(SansEspace(saNom,sscTout))
|
||
12/08/2026 Batik_WS_Com_Mob 117
|
||
|
||
Partie 4 › Collection de procédures › LIB_GENERALE › Code
|
||
saNomFic=Remplace(saNomFic,["/","\",":","?","*","""","<",">","|","'"],"")
|
||
saNomFic=SansAccent(saNomFic)
|
||
RENVOYER saNomFic
|
||
Procédure globale HashMotDePasse
|
||
PROCÉDURE HashMotDePasse(saLogin,saPass)
|
||
RENVOYER HashChaîne(HA_HMAC_SHA_256,saLogin+RC+saPass,gcCLE_HASH_PASS)
|
||
12/08/2026 Batik_WS_Com_Mob 118
|
||
|
||
Partie 4 › Collection de procédures › LIB_COMMUNE › Code
|
||
LIB_COMMUNE
|
||
Code
|
||
Déclaration de LIB_COMMUNE
|
||
CONSTANT
|
||
gsCleCryptage =""
|
||
cTrace_Info =0
|
||
cTrace_Debug =1
|
||
cTrace_Erreur =2
|
||
FIN
|
||
gnNiveauTraceMini est un entier = cTrace_Info
|
||
gsaCumulTrace est une chaîne ANSI
|
||
gbTraceBufferReception est un booléen
|
||
//gnNbJoursLog est un entier
|
||
Procédure globale InfoWS
|
||
PROCÉDURE PRIVÉ InfoWS()
|
||
saREP est une chaîne ANSI
|
||
saREP="-----------------------------------------------"
|
||
saREP+=RC+"Executable :" + ExeInfo(exeNom) + " version :" + ExeInfo(exeVersion)
|
||
saREP+=RC+"Date serveur :" + DateVersChaîne(DateHeureSys(),"JJ/MM/AAAA HH:mm:SS")
|
||
saREP+=RC+"Analyse :" + Remplace(HInfoAnalyse(),RC," N° :")
|
||
saREP+=RC+"Rep Données :" + fRepDonnées()
|
||
<COMPILE SI Configuration="Webservice">
|
||
saREP+=RC+"Rep Web :" + fRepWeb()
|
||
saREP+=RC+"Ini :" + NomDuFichierIni()
|
||
<FIN>
|
||
saREP+=RC+"IP Client :" + WebserviceAdresseIPClient(Vrai)
|
||
saREP+=RC+"-----------------------------------------------"
|
||
RENVOYER saREP
|
||
Procédure globale LitConfigurationINI
|
||
PROCÉDURE RESTREINT LitConfigurationINI()
|
||
saFicIni est une chaîne = NomDuFichierIni()
|
||
SI PAS fFichierExiste(saFicIni) ALORS
|
||
INIEcrit("DEBUG","NIVEAU","0",saFicIni)
|
||
FIN
|
||
// Lit la valeur du niveau de trace par défaut
|
||
gnNiveauTraceMini = Val( INILit("DEBUG", "NIVEAU", "0",saFicIni) )
|
||
gbTraceBufferReception = Val(INILit("DEBUG","TRACE BUFFER","0",saFicIni))=1
|
||
gnNbJoursLog = Val( INILit("LOG", "NB JOURS", "10",saFicIni) )
|
||
Procédure globale NomDuFichierIni
|
||
PROCÉDURE PRIVÉ NomDuFichierIni()
|
||
RENVOYER ComplèteRep(fRepDonnées()) + "Config\" + gcVersionNom +".ini"
|
||
Procédure globale ParametreSQLCorrect
|
||
12/08/2026 Batik_WS_Com_Mob 119
|
||
|
||
Partie 4 › Collection de procédures › LIB_COMMUNE › Code
|
||
PROCÉDURE PRIVÉ ParametreSQLCorrect(LOCAL saParam chaîne ANSI)
|
||
//Vérifie si la chaine ne contient pas d'instruction SQL injectées
|
||
//Test à minima
|
||
SI saParam="" ALORS
|
||
RENVOYER Vrai
|
||
FIN
|
||
tabChaine est un tableau de chaînes = ["SELECT","INSERT","UPDATE","DELETE","WHERE","INNER"]
|
||
SI Contient(saParam,tabChaine,SansCasse) ALORS RENVOYER Faux
|
||
RENVOYER Vrai
|
||
Procédure globale Tesla
|
||
PROCÉDURE Tesla() //T'es là
|
||
RENVOYER "OUI"
|
||
Procédure globale TraceCUMUL
|
||
PROCÉDURE RESTREINT TraceCUMUL(s)
|
||
//Stock un message de trace pour l'écrire quand la trace sera ouverte
|
||
saTxt est une chaîne ANSI = DateVersChaîne(DateHeureSys(),"JJ/MM/AA HH:mm:SS")+ TAB + cTrace_Info +
|
||
TAB + Remplace(s,TAB,"<TAB>")
|
||
gsaCumulTrace += [RC] + saTxt
|
||
Procédure globale TraceDEBUG
|
||
PROCÉDURE RESTREINT TraceDEBUG(s)
|
||
saTxt est une chaîne ANSI = DateVersChaîne(DateHeureSys(),"JJ/MM/AA HH:mm:SS")+ TAB + cTrace_Debug +
|
||
TAB + Remplace(s,TAB,"<TAB>")
|
||
SI gnNiveauTraceMini <= cTrace_Debug ALORS
|
||
SI gsaCumulTrace<>"" ALORS
|
||
Trace(gsaCumulTrace)
|
||
gsaCumulTrace=""
|
||
FIN
|
||
Trace(saTxt)
|
||
SINON
|
||
gsaCumulTrace += RC + saTxt
|
||
FIN
|
||
Procédure globale TraceERREUR
|
||
PROCÉDURE RESTREINT TraceERREUR(s)
|
||
//EN cas d'erreur, on trace le contenu du Cumul de trace de tout niveau
|
||
SI gsaCumulTrace<>"" ALORS
|
||
Trace(gsaCumulTrace)
|
||
gsaCumulTrace=""
|
||
FIN
|
||
Trace(DateVersChaîne(DateHeureSys(),"JJ/MM/AA HH:mm:SS")+ TAB + cTrace_Erreur + TAB + Remplace(s,
|
||
TAB,"<TAB>"))
|
||
Procédure globale TraceINFO
|
||
PROCÉDURE RESTREINT TraceINFO(s)
|
||
saTxt est une chaîne ANSI = DateVersChaîne(DateHeureSys(),"JJ/MM/AA HH:mm:SS")+ TAB + cTrace_Info +
|
||
TAB + Remplace(s,TAB,"<TAB>")
|
||
SI gnNiveauTraceMini <= cTrace_Info ALORS
|
||
12/08/2026 Batik_WS_Com_Mob 120
|
||
|
||
Partie 4 › Collection de procédures › LIB_COMMUNE › Code
|
||
Trace(saTxt)
|
||
SINON
|
||
gsaCumulTrace += RC + saTxt
|
||
FIN
|
||
Procédure globale TraceTOUT
|
||
//Trace quelque soit le niveau de trace courant
|
||
PROCÉDURE RESTREINT TraceTOUT(s)
|
||
Trace(DateVersChaîne(DateHeureSys(),"JJ/MM/AA HH:mm:SS")+ TAB + cTrace_Info + TAB + Remplace(s,TAB,
|
||
"<TAB>"))
|
||
12/08/2026 Batik_WS_Com_Mob 121
|
||
|
||
Partie 4 › Collection de procédures › LIB_ProcéduresGlobales › Code
|
||
LIB_ProcéduresGlobales
|
||
Code
|
||
Procédure globale ConnexionValide
|
||
// Résumé : Vérifie si la session est déjà ouverte en comparant le dernier token mémorisé à celui
|
||
présenté
|
||
// Syntaxe :
|
||
//[ <Résultat> = ] ConnexionValide (<stID> est ST_MOB_IDENTITE)
|
||
//
|
||
// Paramètres :
|
||
// stID (ST_MOB_IDENTITE) : Token reçu dans la commande de WS
|
||
// Valeur de retour :
|
||
// multi-valeur : <indiquez ici le rôle de la valeur de retour>
|
||
PROCÉDURE ConnexionValide(stID est un ST_MOB_IDENTITE)
|
||
TraceINFO("Client : " + stID.saIdClient + " IdMob:" + stID.saIdMob + " NumPort:"+stID.saNumPort)
|
||
gstContexte.saNumPort = stID.saNumPort
|
||
gstContexte.saIdMobile=stID.saIdMob
|
||
gstContexte.saIdClient=stID.sAIdClient
|
||
gstContexte.saBaseData=stID.sABaseData
|
||
gstContexte.saBaseSync=stID.sABaseSync
|
||
SI PAS OuvreConnexionsHF() ALORS
|
||
RENVOYER (Faux,cERR_SRV)
|
||
SINON
|
||
//Si le contexte de la session s'est ré-initialisé, il faut re-vérifier la licence (toute les 1h
|
||
mini)
|
||
dhLimite est une DateHeure = gstContexte.dhAuthentification
|
||
dhLimite..Heure +=1
|
||
SI (PAS gstContexte.bAuthentifié) _OU_ dhLimite < DateHeureSys() ALORS
|
||
gstContexte.bAuthentifié = Faux
|
||
gstContexte.dhAuthentification=DateHeureSys()
|
||
stDMD est un ST_WS_VERIF_LM
|
||
sAJson est une chaîne ANSI
|
||
stDMD.saCodeClient =stID.saIdClient
|
||
stDMD.saIdMobile =stID.saIdMob
|
||
stDMD.saLicence =stID.saLicence
|
||
InitialiseContexteUtilisateur(stID.nIdUser)
|
||
Sérialise(stDMD,sAJson,psdJSON)
|
||
<COMPILE SI Configuration<>"WS_COM_MOBILE" ET Configuration<>"Debug WS_COM_MOBILE">
|
||
stRep est un ST_REP_CLIENT = WS_LICENCE.LicenceVerifie(sAJson)
|
||
SI ErreurDétectée() ALORS
|
||
TraceINFO("Problème de communication avec le serveur de Licence.")
|
||
12/08/2026 Batik_WS_Com_Mob 122
|
||
|
||
Partie 4 › Collection de procédures › LIB_ProcéduresGlobales › Code
|
||
TraceINFO(ErreurInfo(errComplet))
|
||
RENVOYER (Faux,cERR_SRV)
|
||
FIN
|
||
SI stRep.saEtatReponse..Valeur<>cREP_LIC_OK ALORS
|
||
TraceERREUR("ERREUR ConnexionValide : Code erreur = " +stRep.saEtatReponse..Valeur )
|
||
TraceERREUR("Pour :" + sAJson)
|
||
RENVOYER (Faux,stRep.saEtatReponse..Valeur)
|
||
SINON
|
||
TraceDEBUG("Licence Validée par le serveur de Licence")
|
||
gstContexte.bAuthentifié =Vrai
|
||
RENVOYER (Vrai,cRep_OK)
|
||
FIN
|
||
<SINON>
|
||
gstContexte.bAuthentifié =Vrai
|
||
RENVOYER (Vrai,cRep_OK)
|
||
<FIN>
|
||
SINON
|
||
InitialiseContexteUtilisateur(stID.nIdUser)
|
||
TraceDEBUG("Reconnexion n° :" + gstContexte.nNbConnexions )
|
||
RENVOYER (Vrai,cRep_OK)
|
||
FIN
|
||
FIN
|
||
Procédure globale DonneGuidIdColb
|
||
PROCÉDURE DonneGuidIdColb(LOCAL saCle est une chaîne ANSI)
|
||
TraceINFO("Recherche GUID Colb :"+saCle)
|
||
SI SansEspace(saCle) = "" ALORS
|
||
RENVOYER ""
|
||
FIN
|
||
SI gtbaGUIDCollaborateur[saCle]..Existe = Vrai ALORS
|
||
RENVOYER gtbaGUIDCollaborateur[saCle]
|
||
SINON
|
||
SI gtbaGUIDCollaborateur[Val(saCle)]..Existe = Vrai ALORS
|
||
RENVOYER gtbaGUIDCollaborateur[Val(saCle)]
|
||
FIN
|
||
FIN
|
||
RENVOYER ""
|
||
Procédure globale DonneIdParametre
|
||
PROCÉDURE DonneIdParametre(LOCAL saCle est une chaîne ANSI)
|
||
nIdParam est un entier sur 8 octets = 0
|
||
SI saCle <> "" _ET_ gtbaCleParametre[saCle]..Existe = Vrai _ET_ gtbaCleParametre[saCle] > 0 ALORS
|
||
nIdParam = gtbaCleParametre[saCle]
|
||
FIN
|
||
RENVOYER nIdParam
|
||
Procédure globale DonneLibParametre
|
||
PROCÉDURE DonneLibParametre(LOCAL saCle est une chaîne ANSI)
|
||
SI SansEspace(saCle) = "" ALORS
|
||
RENVOYER ""
|
||
12/08/2026 Batik_WS_Com_Mob 123
|
||
|
||
Partie 4 › Collection de procédures › LIB_ProcéduresGlobales › Code
|
||
FIN
|
||
SI saCle <> "" _ET_ gtbaLibParametre[saCle]..Existe = Vrai _ET_ gtbaLibParametre[saCle] <> "" ALORS
|
||
RENVOYER gtbaLibParametre[saCle]
|
||
SINON
|
||
SI Val(saCle) > 0 _ET_ gtbaLibParametre[Val(saCle)]..Existe = Vrai _ET_ gtbaLibParametre[Val(saCle)
|
||
] <> "" ALORS
|
||
RENVOYER gtbaLibParametre[Val(saCle)]
|
||
FIN
|
||
FIN
|
||
RENVOYER ""
|
||
Procédure globale DonneListeConfigMail
|
||
PROCÉDURE DonneListeConfigMail(LOCAL nIdUser est un entier sur 8 octets = 0)
|
||
ParamEmailConfig est un tableau associatif de STParamEnvoiEmailPerso
|
||
ParamEmailPerso est un tableau de STParamEnvoiEmailPerso
|
||
sMsg est une chaîne Unicode
|
||
stParametreEmail est une STParamEnvoiEmailPerso
|
||
n est un entier
|
||
SI nIdUser <= 0 ALORS RENVOYER (sMsg,ParamEmailConfig)
|
||
saRQSoc est une chaîne ANSI = [
|
||
SELECT SO_Parametres, SO_PKID
|
||
FROM Societe_Collaborateur
|
||
INNER JOIN societe ON societe.SO_PKID = Societe_Collaborateur.SC_IDCSociete
|
||
INNER JOIN Utilisateur on Utilisateur.UT_IDCollaborateur = Societe_Collaborateur.SC_IDCollaborateur
|
||
WHERE Utilisateur.UT_PKID =
|
||
]
|
||
saRQSoc += nIdUser
|
||
sdRqSoc est une Source de Données
|
||
SI PAS HExécuteRequêteSQL(sdRqSoc,gcnxReplica,saRQSoc) ALORS
|
||
sMsg = "Configuration de mail introuvable"
|
||
TraceINFO(sMsg +RC+HErreurInfo(errComplet))
|
||
SINON
|
||
POUR TOUT sdRqSoc
|
||
Désérialise(stParametreEmail,sdRqSoc.SO_Parametres,psdJSON)
|
||
AjouterListe(sdRqSoc.SO_PKID)
|
||
RempliListe(sdRqSoc.SO_PKID)
|
||
FIN
|
||
FIN
|
||
AjoutConfigPerso()
|
||
RENVOYER (sMsg, ParamEmailConfig)
|
||
PROCÉDURE INTERNE AjouterListe(LOCAL nIdSoc est un entier sur 8 octets = 0)
|
||
SI nIdUser > 0 _ET_ nIdSoc > 0 _ET_ (stParametreEmail.Compte.sEmail <> "" OU stParametreEmail.
|
||
Compte.sCompte <> "") ALORS
|
||
sCode est une chaîne ANSI = "EMAIL_ENVOI_"+nIdSoc
|
||
SI PAS ParamEmailConfig[sCode]..Existe ALORS
|
||
stParametreEmail.SMTP.sMdp = Décrypte(stParametreEmail.SMTP.sMdp,gsCleMdp)
|
||
ParamEmailConfig[sCode] = stParametreEmail
|
||
12/08/2026 Batik_WS_Com_Mob 124
|
||
|
||
Partie 4 › Collection de procédures › LIB_ProcéduresGlobales › Code
|
||
FIN
|
||
// Conserver les paramètres de la société login et mot de passe ne peuvent etre changés
|
||
| | ParamEmailConfig[sCode].Compte | | | | | = stParametreEmail.Compte | |
|
||
| --- | ------------------------------ | --- | --- | --- | --- | ------------------------- | --- |
|
||
ParamEmailConfig[sCode].SMTP.bEnCopieCachee = stParametreEmail.SMTP.bEnCopieCachee
|
||
ParamEmailConfig[sCode].SMTP.bufSignature = stParametreEmail.SMTP.bufSignature
|
||
ParamEmailConfig[sCode].SMTP.tabCC_CopieEmail = stParametreEmail.SMTP.
|
||
tabCC_CopieEmail
|
||
FIN
|
||
FIN
|
||
PROCÉDURE INTERNE RempliListe(LOCAL nIdSoc est un entier sur 8 octets = 0)
|
||
| bAncienVersion | | est un booléen | | = Faux | | | |
|
||
| -------------- | --- | ------------------- | --- | ----------------------- | --- | --- | --- |
|
||
| sCode | | est une chaîne ANSI | | = "EMAIL_ENVOI_"+nIdSoc | | | |
|
||
SI nIdUser > 0 _ET_ nIdSoc > 0 ALORS
|
||
| | saRQColP | | est une chaîne ANSI | | = [ | | |
|
||
| --- | -------- | --- | ------------------- | --- | --- | --- | --- |
|
||
SELECT PU_Valeur FROM ParametreUtilisateur WHERE ParametreUtilisateur.PU_Code = '
|
||
]
|
||
saRQColP += sCode +"' AND "
|
||
saRQColP += "ParametreUtilisateur.PU_IDUtilisateur = "+nIdUser
|
||
| | sdRqColP | est une Source de Données | | | | | |
|
||
| --- | -------- | ------------------------- | --- | --- | --- | --- | --- |
|
||
SI PAS HExécuteRequêteSQL(sdRqColP,gcnxReplica,saRQColP) ALORS
|
||
sMsg = "Configuration de mail de la société introuvable dans la fiche collaborateur"
|
||
TraceINFO(sMsg +RC+HErreurInfo(errComplet))
|
||
SINON
|
||
SI sdRqColP.PU_Valeur <> "" ALORS
|
||
SI ParamEmailConfig[sCode]..Existe ALORS
|
||
Désérialise(stParametreEmail,sdRqColP.PU_Valeur,psdJSON)
|
||
Ajouterliste(nIdSoc)
|
||
FIN
|
||
FIN
|
||
FIN
|
||
FIN
|
||
FIN
|
||
PROCÉDURE INTERNE AjoutConfigPerso()
|
||
SI nIdUser <= 0 ALORS RETOUR
|
||
| sCode | | | est une chaîne ANSI | | | | |
|
||
| ------------- | --- | --------------------- | ----------------------------- | --- | --- | --- | --- |
|
||
| stParamRecep | | est STParamEnvoiEmail | | | | | |
|
||
| stParamAncien | | | est un STParamEnvoiEmailPerso | | | | |
|
||
| saRQColP | | est une chaîne ANSI | | = [ | | | |
|
||
SELECT PU_Valeur FROM ParametreUtilisateur WHERE ParametreUtilisateur.PU_Code =
|
||
'EMAIL_ENVOI' AND ParametreUtilisateur.PU_IDUtilisateur =
|
||
]
|
||
saRQColP += nIdUser
|
||
sdRqColP est une Source de Données
|
||
SI PAS HExécuteRequêteSQL(sdRqColP,gcnxReplica,saRQColP) ALORS
|
||
sMsg =
|
||
"Configuration de mail de personnel introuvable dans la fiche paramètres utilisateur"
|
||
TraceINFO(sMsg +RC+HErreurInfo(errComplet))
|
||
SINON
|
||
SI sdRqColP.PU_Valeur <> "" ALORS
|
||
QUAND EXCEPTION DANS
|
||
Désérialise(ParamEmailPerso,sdRqColP.PU_Valeur,psdJSON)
|
||
FAIRE
|
||
| | | bufCle | est un Buffer | | | = HashChaîne(HA_MD5_128,gsCleMdp) | |
|
||
| ---------- | --- | --------- | ------------- | ---------------- | --- | --------------------------------- | --- |
|
||
| | | bufCrypte | est un Buffer | | | = sdRqColP.PU_Valeur | |
|
||
| 12/08/2026 | | | | Batik_WS_Com_Mob | | | 125 |
|
||
|
||
Partie 4 › Collection de procédures › LIB_ProcéduresGlobales › Code
|
||
bufRep est un Buffer = DécrypteStandard(bufCrypte, bufCle,
|
||
crypteAES128)
|
||
Désérialise(stParamRecep,bufRep,psdJSON)
|
||
FIN
|
||
SI ParamEmailPerso..Occurrence <= 0 _ET_ stParamRecep.sLogin <> "" ALORS
|
||
stParamAncien.SMTP = stParamRecep
|
||
stParamAncien.Compte.sEmail = stParamRecep.sLogin
|
||
stParamAncien.Compte.sCompte = ""
|
||
TableauAjoute(ParamEmailPerso,stParamAncien)
|
||
FIN
|
||
POUR TOUT stParam,n de ParamEmailPerso
|
||
SI stParam.SMTP.sLogin <> "" ALORS
|
||
sCode = "EMAIL_ENVOI_Perso_"+n
|
||
SI PAS ParamEmailConfig[sCode]..Existe ALORS
|
||
stParam.SMTP.sMdp = Décrypte(stParam.SMTP.sMdp,gsCleMdp)
|
||
ParamEmailConfig[sCode] = stParam
|
||
FIN
|
||
FIN
|
||
FIN
|
||
FIN
|
||
FIN
|
||
FIN
|
||
Procédure globale InitGUIDCollaborateurs
|
||
PROCÉDURE InitGUIDCollaborateurs()
|
||
TableauSupprimeTout(gtbaGUIDCollaborateur)
|
||
QUAND EXCEPTION DANS
|
||
sd est une Source de Données
|
||
HExécuteRequêteSQL(sd, gcnxReplica,hRequêteDéfaut,"SELECT CO_PKID,GUID FROM Collaborateur")
|
||
POUR TOUT sd
|
||
gtbaGUIDCollaborateur[sd.CO_PKID] = sd.GUID
|
||
gtbaGUIDCollaborateur[sd.GUID] = sd.CO_PKID
|
||
FIN
|
||
TraceINFO("TBA Colbs Taille : "+gtbaGUIDCollaborateur..Occurrence)
|
||
FAIRE
|
||
RENVOYER Faux
|
||
FIN
|
||
RENVOYER Vrai
|
||
Procédure globale InitialisationParametres
|
||
PROCÉDURE InitialisationParametres()
|
||
//
|
||
//si gstContexte.bParamChargés alors
|
||
//
|
||
// Désérialise(gstParam,gstContexte.sParamJson,psdJSON)
|
||
// renvoyer Vrai
|
||
//FIN
|
||
InitGUIDCollaborateurs()
|
||
12/08/2026 Batik_WS_Com_Mob 126
|
||
|
||
Partie 4 › Collection de procédures › LIB_ProcéduresGlobales › Code
|
||
QUAND EXCEPTION DANS
|
||
//Paramètres Métiers
|
||
sd est une Source de Données
|
||
HExécuteRequêteSQL(sd, gcnxReplica,hRequêteDéfaut,
|
||
"SELECT PA_PKID,PA_CLE,PA_Categorie,PA_Libelle FROM ParametreMetier WHERE PA_Categorie IN ('"+
|
||
cParam_Civilite+"','"+cParam_TypeDossier+"','"+...
|
||
cParam_StatutDossier+"','"+cparam_TypeLieu+"','"+cParam_RoleContact+"','"+cParam_TypeInter+"','"+
|
||
cParam_EtatInter+"','"+cParam_TypeRDV+"','"+cParam_StatusRDV+"','"+cParam_TypeDoc+
|
||
"') ORDER BY PA_CLE,PA_Categorie")
|
||
POUR TOUT sd
|
||
gtbaCleParametre[sd.PA_CLE] = sd.PA_PKID
|
||
gtbaLibParametre[sd.PA_CLE] = sd.PA_Libelle
|
||
gtbaLibParametre[sd.PA_PKID] = sd.PA_Libelle
|
||
SELON sd.PA_Categorie
|
||
CAS cParam_Civilite
|
||
| | gstParametres.TbaCivilite[sd.PA_CLE] | | =sd.PA_Libelle | | | |
|
||
| --- | ------------------------------------- | --- | -------------- | --- | --- | --- |
|
||
CAS cParam_TypeDossier
|
||
| | gstParametres.TbaTypeDossier[sd.PA_CLE] | | =sd.PA_Libelle | | | |
|
||
| --- | ---------------------------------------- | --- | -------------- | --- | --- | --- |
|
||
CAS cParam_StatutDossier
|
||
| | gstParametres.TbaStatutDossier[sd.PA_CLE] | | =sd.PA_Libelle | | | |
|
||
| --- | ------------------------------------------ | --- | -------------- | --- | --- | --- |
|
||
CAS cparam_TypeLieu
|
||
| | gstParametres.TbaTypeLieu[sd.PA_CLE] | | =sd.PA_Libelle | | | |
|
||
| --- | ------------------------------------- | --- | -------------- | --- | --- | --- |
|
||
CAS cParam_RoleContact
|
||
| | gstParametres.TbaRoleCntctLieu[sd.PA_CLE] | | = sd.PA_Libelle | | | |
|
||
| --- | ----------------------------------------- | --- | --------------- | --- | --- | --- |
|
||
| | gstParametres.TbaRoleContact[sd.PA_CLE] | | = sd.PA_Libelle | | | |
|
||
CAS cParam_TypeInter
|
||
| | gstParametres.TbaTypeInter[sd.PA_CLE] | | =sd.PA_Libelle | | | |
|
||
| --- | -------------------------------------- | --- | -------------- | --- | --- | --- |
|
||
CAS cParam_EtatInter
|
||
| | gstParametres.TbaEtatInter[sd.PA_CLE] | | =sd.PA_Libelle | | | |
|
||
| --- | -------------------------------------- | --- | -------------- | --- | --- | --- |
|
||
CAS cParam_TypeRDV
|
||
| | gstParametres.TbaTypActivite[sd.PA_CLE] | | =sd.PA_Libelle | | | |
|
||
| --- | ---------------------------------------- | --- | -------------- | --- | --- | --- |
|
||
CAS cParam_StatusRDV
|
||
| | gstParametres.TbaStatutRDV[sd.PA_CLE] | | =sd.PA_Libelle | | | |
|
||
| --- | -------------------------------------- | --- | -------------- | --- | --- | --- |
|
||
CAS cParam_TypeDoc
|
||
| | gstParametres.TbaCategorieDoc[sd.PA_CLE] | | =sd.PA_Libelle | | | |
|
||
| --- | ----------------------------------------- | --- | -------------- | --- | --- | --- |
|
||
FIN
|
||
FIN
|
||
// Sérialise(gstParam,gstContexte.sParamJson,psdJSON)
|
||
FAIRE
|
||
RENVOYER Faux
|
||
FIN
|
||
gstContexte.bParamChargés=Vrai
|
||
RENVOYER Vrai
|
||
Procédure globale SerialiseContexte
|
||
PROCÉDURE SerialiseContexte()
|
||
| 12/08/2026 | | Batik_WS_Com_Mob | | | | 127 |
|
||
| ---------- | --- | ---------------- | --- | --- | --- | --- |
|
||
|
||
Partie 4 › Collection de procédures › LIB_ProcéduresGlobales › Code
|
||
sBuf est une chaîne ANSI
|
||
Sérialise(gstContexte,sBuf,psdJSON)
|
||
RENVOYER sBuf
|
||
Procédure globale TraceRequete
|
||
PROCÉDURE TraceRequete(saSQL est une chaîne ANSI)
|
||
TraceINFO (RC + "SQL " + Répète("-",40)+ RC+ Remplace(saSQL,[RC,TAB]," ")+ RC + Répète("-",40) + " SQL"
|
||
+ RC)
|
||
12/08/2026 Batik_WS_Com_Mob 128
|
||
|
||
Partie 4 › Collection de procédures › LIB_WS_MOB › Code
|
||
LIB_WS_MOB
|
||
Code
|
||
Déclaration de LIB_WS_MOB
|
||
CONSTANT
|
||
cCMD_ServiceActif="WOUF"
|
||
cCMD_ServiceInfo ="INFO"
|
||
// //Commandes destinées au Service
|
||
// cCMD_ListeDocDmd = "S.DOC.LS"
|
||
// cCMD_DocVersSRV = "S.DOC.EC"
|
||
// cCMD_EcritNote = "S.NTE.EC"
|
||
// cCMD_EcritDocNote = "S.DNT.EC"
|
||
// cCMD_TempsEcrit = "S.TPS.EC"
|
||
// cCMD_TempsSupprime = "S.TPS.SU"
|
||
// cCMD_CREcrit = "S.RPT.EC"
|
||
//
|
||
// //Commandes interprétées par ce WebService
|
||
// cCMD_RechercheRDV ="W.RDV.RC"
|
||
// cCMD_ListeRDV ="W.RDV.LS"
|
||
// cCMD_ListeDOC ="W.DOC.LS"
|
||
// cCMD_ListeTEMPS ="W.TPS.LS"
|
||
// cCMD_LitParam ="W.PRM.LI" //Lit les paramètres métiers
|
||
// cCMD_LitContexte ="W.CTX.LI" //Lit le contexte utilisateur
|
||
cRep_OK ="R"
|
||
cErreur ="E"
|
||
FIN
|
||
ST_MOB_IDENTITE est une Structure
|
||
saLicence est une chaîne ANSI
|
||
saIdMob est une chaîne ANSI
|
||
saNumPort est une chaîne ANSI
|
||
nIdUser est un entier sur 8 octets
|
||
nIdColb est un entier sur 8 octets
|
||
saBaseData est une chaîne ANSI
|
||
saBaseSync est une chaîne ANSI
|
||
saIdClient est une chaîne ANSI
|
||
FIN
|
||
ST_MOB_DATA est une Structure
|
||
saCMD est une chaîne ANSI
|
||
saJSON est une chaîne ANSI
|
||
FIN
|
||
Procédure globale InitTraceLog
|
||
PROCÉDURE InitTraceLog(stID est un ST_MOB_IDENTITE)
|
||
SI gstContexte.saFichierLog="" ALORS
|
||
gstContexte.saFichierLog =ComplèteRep(fRepDonnées()) + "Trace_" + stID.saIdClient + "_" + DateSys(
|
||
) + ".txt"
|
||
TraceDébut(trFichier, gstContexte.saFichierLog )
|
||
12/08/2026 Batik_WS_Com_Mob 129
|
||
|
||
Partie 4 › Collection de procédures › LIB_WS_MOB › Code
|
||
TraceINFO("Init après Connexion : "+gcVersionNom+" " + ExeInfo(exeNom) + " " + ExeInfo(exeVersion)
|
||
)
|
||
TraceINFO("WebService : " + gcVersionNom + " Version : " + gcVersionWS)
|
||
TraceINFO("Client :" + WebserviceAdresseIPClient( ))
|
||
SINON
|
||
TraceDébut(trFichier, gstContexte.saFichierLog )
|
||
FIN
|
||
SI LIB_COMMUNE.gsaCumulTrace<>"" ALORS
|
||
Trace(LIB_COMMUNE.gsaCumulTrace)
|
||
LIB_COMMUNE.gsaCumulTrace=""
|
||
FIN
|
||
TraceINFO("Niveau Trace " + LIB_COMMUNE.gnNiveauTraceMini )
|
||
//Purge des anciens log
|
||
suLstLog est une chaîne Unicode = fListeFichier(ComplèteRep(fRepDonnées()) + "Trace_*.txt",
|
||
frInformationComplète + frNonRécursif + fCheminUnicode )
|
||
POUR TOUTE CHAÎNE sasufic DE suLstLog SÉPARÉE PAR RC
|
||
SI DateDifférence(Gauche(ExtraitChaîne(sasufic,3,TAB),8),DateSys) > gnNbJoursLog ALORS
|
||
fSupprime(ExtraitChaîne(sasufic,1,TAB))
|
||
FIN
|
||
FIN
|
||
Procédure globale MOB_CMD
|
||
PROCÉDURE MOB_CMD(LOCAL stID est un ST_MOB_IDENTITE, LOCAL stData est une ST_MOB_DATA, LOCAL
|
||
bufDocument est un Buffer)
|
||
InitTraceLog(stID)
|
||
TraceDEBUG("MOB_IDENTITE : User = " + stID.nIdUser +" IdMob = " +stID.saIdMob +" Licence = " + stID.
|
||
saLicence )
|
||
TraceDEBUG("MOB_CMD : CMD = " + stData.saCMD +" JSON = " + stData.saJSON+" Taille buf :"+Taille(
|
||
bufDocument))
|
||
bufRep est un Buffer
|
||
bCnxOK est un booléen
|
||
sErr est une chaîne
|
||
(bCnxOK,sErr)=ConnexionValide(stID)
|
||
SI PAS bCnxOK ALORS
|
||
bufRep= cErreur + sErr
|
||
TraceDEBUG("Pb Connexion refusée")
|
||
RENVOYER bufRep
|
||
SINON
|
||
TraceINFO("Connecté")
|
||
FIN
|
||
SELON stData.saCMD
|
||
CAS cCMD_NoteEcrit,cCMD_DocNoteEcrit,cCMD_TempsEcrit,cCMD_TempsSupprime,cCMD_CREcrit,
|
||
cCMD_CREcrit_V2,cCMD_ListeDocDmd,cCMD_RdvEcrit,cCMD_TempsEcrit_V2,cCMD_RDVValidation,
|
||
cCMD_RDVAnnulation,cCMD_DocRpRecup
|
||
//Le contenu JSON de stData est transmis au serveur BO sans traitement.
|
||
//Le type de données transmise est identifié par la commande stData.saCMD
|
||
HRAZ(TOSRV)
|
||
TOSRV.TS_CMD = stData.saCMD
|
||
TOSRV.TS_Date = DateHeureSys()
|
||
TOSRV.TS_JSON = stData.saJSON
|
||
TOSRV.TS_Lu=0
|
||
12/08/2026 Batik_WS_Com_Mob 130
|
||
|
||
Partie 4 › Collection de procédures › LIB_WS_MOB › Code
|
||
TOSRV.TS_Mobile = gstContexte.saIdMobile
|
||
TOSRV.TS_Buffer = bufDocument //Utilisé pour transférer l'image de la signature
|
||
HAjoute(TOSRV)
|
||
bufRep= "R"
|
||
CAS cCMD_RdvAPlanifierEcrit
|
||
bufRep=ControleRdvAPlanifier(stData)
|
||
SI bufRep="R" ALORS
|
||
HRAZ(TOSRV)
|
||
TOSRV.TS_CMD = cCMD_RdvAPlanifierEcrit//stData.saCMD
|
||
TOSRV.TS_Date = DateHeureSys()
|
||
TOSRV.TS_JSON = stData.saJSON
|
||
TOSRV.TS_Lu = 0
|
||
TOSRV.TS_Mobile = gstContexte.saIdMobile
|
||
TOSRV.TS_Buffer = bufDocument //Utilisé pour transférer l'image de la signature
|
||
HAjoute(TOSRV)
|
||
FIN
|
||
CAS cCMD_ListeDOC
|
||
bufRep=ListeReferenceDOC(stData)
|
||
CAS cCMD_ListeRDV
|
||
bufRep=ConstruitListeIntervention(Vrai,stData)
|
||
CAS cCMD_ListeRDV_V2
|
||
bufRep=ConstruitListeIntervention_V2(Vrai,stData)
|
||
CAS cCMD_LitINTER
|
||
bufRep=RecupereUneIntervention(stData)
|
||
CAS cCMD_LitINTER_V2
|
||
bufRep=RecupereUneIntervention_V2(stData)
|
||
CAS cCMD_RechercheRDV
|
||
bufRep=RechercheInterventions(stData)
|
||
CAS cCMD_ListeNonPlanifié
|
||
bufRep=ConstruitListeIntervention(Faux,stData)
|
||
CAS cCMD_ListeTEMPS
|
||
bufRep=ListeTempsPasse(stData)//ListeTemps(stData)
|
||
CAS cCMD_LitParam //Appelé par la fonction RécupContexte du mobile
|
||
bufRep=RecupListeParamMetiers()
|
||
CAS cCMD_LitParam_V2 //Appelé par la fonction RécupContexte du mobile
|
||
bufRep=RecupListeParamMetiers_V2(stID.nIdUser)
|
||
CAS cCMD_LitContexte
|
||
bufRep=RecupereContexte(stData)
|
||
CAS cCMD_IdClbRdvDroitC
|
||
bufRep=RecupererIdClbRDVDroitConsultation()
|
||
CAS cCMD_ListeRDV_Clb
|
||
bufRep=RecupererRDVAutreClb(stData)
|
||
CAS cCMD_ListeCh_Rapport
|
||
bufRep=RecupererChampRapportInter(stData)
|
||
CAS cCMD_RecupImgRapport
|
||
RecupererImgRp()// Recuperation des images rapport
|
||
bufRep= "R"
|
||
CAS cCMD_Creation_Rapport
|
||
RecupererImgRp()// Recuperation des images rapport
|
||
TraceINFO("json" + stData.saJSON )
|
||
bufRep= CreationRapport(stID,stData)
|
||
CAS cCMD_ListeCh_Mail
|
||
RecupererImgRp()// Recuperation des images rapport
|
||
TraceINFO("json" + stData.saJSON )
|
||
bufRep= RecupererChampMailModele(stData)
|
||
CAS cCMD_Cr_Structure_Mail
|
||
RecupererImgRp()// Recuperation des images rapport
|
||
TraceINFO("json" + stData.saJSON )
|
||
bufRep= CreationModeleMail(stData)
|
||
12/08/2026 Batik_WS_Com_Mob 131
|
||
|
||
Partie 4 › Collection de procédures › LIB_WS_MOB › Code
|
||
CAS cCMD_Envoyer_Mail
|
||
RecupererImgRp()// Recuperation des images rapport
|
||
TraceINFO("json" + stData.saJSON )
|
||
bufRep= CreationETEnvoiEmail(stID,stData)
|
||
AUTRE CAS
|
||
bufRep= cErreur + stData.saCMD +"?"
|
||
FIN
|
||
RENVOYER bufRep
|
||
Procédure globale MOB_EnvoieDoc
|
||
PROCÉDURE MOB_EnvoieDoc(stID est un ST_MOB_IDENTITE, saJSON est une chaîne ANSI, bufDocument est un
|
||
Buffer )
|
||
InitTraceLog(stID)
|
||
TraceDEBUG("MOB_EnvoieDoc :" + saJSON)
|
||
SI bufDocument="" ALORS RENVOYER "1"
|
||
saRep est une chaîne ANSI
|
||
bCnxOK est un booléen
|
||
sErr est une chaîne
|
||
(bCnxOK,sErr)=ConnexionValide(stID)
|
||
SI PAS bCnxOK ALORS
|
||
saRep= cErreur + sErr
|
||
TraceDEBUG("Pb Connexion refusée")
|
||
RENVOYER saRep
|
||
SINON
|
||
TraceINFO("Connecté")
|
||
FIN
|
||
HRAZ(TOSRV)
|
||
TOSRV.TS_CMD = cCMD_DocEcrit
|
||
TOSRV.TS_Date = DateHeureSys()
|
||
TOSRV.TS_JSON = saJSON
|
||
TOSRV.TS_Buffer = bufDocument
|
||
HAjoute(TOSRV)
|
||
saRep=cRep_OK
|
||
RENVOYER saRep
|
||
Procédure globale MOB_RecupDoc
|
||
PROCÉDURE MOB_RecupDoc(stID est un ST_MOB_IDENTITE, nID_TOMOB est un entier sur 8 octet)
|
||
InitTraceLog(stID)
|
||
bufRep est un Buffer
|
||
bCnxOK est un booléen
|
||
sErr est une chaîne
|
||
(bCnxOK,sErr)=ConnexionValide(stID)
|
||
SI PAS bCnxOK ALORS
|
||
bufRep= cErreur + sErr
|
||
TraceDEBUG("Pb Connexion refusée")
|
||
RENVOYER bufRep
|
||
SINON
|
||
TraceINFO("Connecté")
|
||
FIN
|
||
12/08/2026 Batik_WS_Com_Mob 132
|
||
|
||
Partie 4 › Collection de procédures › LIB_WS_MOB › Code
|
||
QUAND EXCEPTION DANS
|
||
SI HLitRecherchePremier(TOMOB,IDTOMOB,nID_TOMOB) ALORS
|
||
bufRep = TOMOB.TM_Buffer
|
||
TOMOB.TM_Lu=Vrai
|
||
HModifie(TOMOB)
|
||
RENVOYER bufRep
|
||
SINON
|
||
bufRep="R0000"
|
||
RENVOYER bufRep
|
||
FIN
|
||
FAIRE
|
||
bufRep="E"+ExceptionInfo(errComplet)
|
||
TraceINFO(bufRep)
|
||
RENVOYER bufRep
|
||
FIN
|
||
Procédure globale MOB_RecupDocID
|
||
PROCÉDURE MOB_RecupDocID(stID est un ST_MOB_IDENTITE)
|
||
InitTraceLog(stID)
|
||
//Donne au mobile demandeur l'ID et la description JSON du premier document non lu à récupérer
|
||
saRep est une chaîne ANSI
|
||
bCnxOK est un booléen
|
||
sErr est une chaîne
|
||
(bCnxOK,sErr)=ConnexionValide(stID)
|
||
SI PAS bCnxOK ALORS
|
||
saRep= cErreur + sErr
|
||
TraceDEBUG("Pb Connexion refusée")
|
||
RENVOYER saRep
|
||
SINON
|
||
TraceINFO("Connecté")
|
||
FIN
|
||
TraceINFO("MOB_RecupDocID " +stID.saIdMob)
|
||
QUAND EXCEPTION DANS
|
||
//Réalise une purge des documents non lu à destination des mobiles
|
||
d est une DateHeure
|
||
d..Jour -= 1
|
||
rqPurge est une Requête SQL =
|
||
[
|
||
DELETE FROM TOMOB WHERE TM_Date < {pDate} AND TM_CMD='DOC'
|
||
]
|
||
rqPurge.pDate=d
|
||
HExécuteRequête(rqPurge)
|
||
SI HLitRecherchePremier(TOMOB,TM_MobileTM_CMD,[stID.saIdMob,"DOC",Faux]) ALORS
|
||
saRep ="R" + TOMOB.IDTOMOB + RC +TOMOB.TM_JSON
|
||
12/08/2026 Batik_WS_Com_Mob 133
|
||
|
||
Partie 4 › Collection de procédures › LIB_WS_MOB › Code
|
||
RENVOYER saRep
|
||
SINON
|
||
saRep="V" //Vide
|
||
RENVOYER saRep
|
||
FIN
|
||
FAIRE
|
||
saRep="E"+ExceptionInfo(errComplet)
|
||
TraceINFO(saRep)
|
||
RENVOYER saRep
|
||
FIN
|
||
Procédure globale MOB_RecupValide
|
||
PROCÉDURE MOB_RecupValide(stID est un ST_MOB_IDENTITE,nIdToMob est un entier sur 8 octets)
|
||
InitTraceLog(stID)
|
||
saRep est une chaîne ANSI
|
||
bCnxOK est un booléen
|
||
sErr est une chaîne
|
||
(bCnxOK,sErr)=ConnexionValide(stID)
|
||
SI PAS bCnxOK ALORS
|
||
saRep= cErreur + sErr
|
||
TraceDEBUG("Pb Connexion refusée")
|
||
RENVOYER saRep
|
||
SINON
|
||
TraceINFO("Connecté")
|
||
FIN
|
||
SI HLitRecherchePremier(TOMOB,IDTOMOB,nIdToMob) ALORS
|
||
HSupprime(TOMOB)
|
||
FIN
|
||
saRep="R"
|
||
PurgeTOMOB_24h()
|
||
RENVOYER saRep
|
||
12/08/2026 Batik_WS_Com_Mob 134
|
||
|
||
Partie 4 › Collection de procédures › LIB_Traitements › Code
|
||
LIB_Traitements
|
||
Code
|
||
Procédure globale AjouterDonnesBDDansChampRapport
|
||
PROCÉDURE AjouterDonnesBDDansChampRapport(nIdInter est un entier sur 8 octets, tbRubASaisir est un
|
||
tableau de STJSONMembreRubRapport)
|
||
saRQ est une chaîne = [
|
||
SELECT
|
||
Intervention.IN_Titre AS IN_Titre,
|
||
Intervention.IN_RefInterne AS IN_RefInterne,
|
||
Intervention.CreationDate AS IN_CreationDate,
|
||
Intervention.IN_NumDevis,
|
||
Intervention.IN_DateDevis,
|
||
Intervention.IN_NumFacture,
|
||
Intervention.IN_DateFacture,
|
||
Intervention.IN_RefExterne AS IN_RefExterne,
|
||
Intervention.IN_Description AS IN_Description,
|
||
Intervention.IN_DureePrevue,
|
||
CONCAT(Collaborateur.CO_Prenom, ' ', Collaborateur.CO_Nom) AS IN_CO_Nom,
|
||
PA_TypeInter.PA_Libelle as IN_PA_Type,
|
||
Lieu.LI_CodeLieu AS LI_CodeLieu,
|
||
(
|
||
CASE WHEN AdLieu.AD_Adresse IS NOT NULL AND AdLieu.AD_Adresse <> '' THEN CONCAT(AdLieu.AD_Adresse,
|
||
' CHAR(13) ') ELSE '' END +
|
||
CASE WHEN AdLieu.AD_CodePostal IS NOT NULL AND AdLieu.AD_CodePostal <> '' THEN
|
||
CONCAT(AdLieu.AD_CodePostal, ' ') ELSE '' END +
|
||
CASE WHEN AdLieu.AD_Ville IS NOT NULL AND AdLieu.AD_Ville <> '' THEN AdLieu.AD_Ville ELSE '' END
|
||
) AS LI_Adresse,
|
||
Lieu.LI_CodeAcces AS LI_CodeAcces,
|
||
Client.CL_Nom AS CL_Nom,
|
||
CONCAT(AdClient.AD_Adresse, ' ', AdClient.AD_CodePostal, ' ',AdClient.AD_Ville) AS AD_Presentation,
|
||
Societe.SO_Nom
|
||
FROM
|
||
Intervention LEFT OUTER JOIN (Lieu LEFT OUTER JOIN Adresse AdLieu ON Lieu.LI_IDAdresse =
|
||
AdLieu.AD_PKID ) ON Intervention.IN_IDLieu = Lieu.LI_PKID,
|
||
Intervention INNER JOIN
|
||
(Dossier LEFT OUTER JOIN (Client LEFT OUTER JOIN Adresse AdClient ON Client.CL_IDAdressePrincipale
|
||
= AdClient.AD_PKID) ON Dossier.DO_IDClient = Client.CL_PKID ) ON Intervention.IN_IDDossier =
|
||
Dossier.DO_PKID ,
|
||
Intervention LEFT OUTER JOIN Collaborateur ON Intervention.IN_IDSuiviPar=Collaborateur.CO_PKID,
|
||
Intervention LEFT OUTER JOIN Societe ON Intervention.IN_IDSociete = Societe.SO_PKID,
|
||
Intervention LEFT OUTER JOIN ParametreMetier PA_TypeInter ON Intervention.IN_CleType =
|
||
PA_TypeInter.PA_CLE
|
||
WHERE
|
||
IN_PKID={pIdInter}
|
||
]
|
||
12/08/2026 Batik_WS_Com_Mob 135
|
||
|
||
Partie 4 › Collection de procédures › LIB_Traitements › Code
|
||
saRQ=Remplace(saRQ,"{pIdInter}",nIdInter )
|
||
sARQAdresseClient est une chaîne ANSI = [
|
||
SELECT CONCAT(AdLieu.AdClient.AD_Adresse, ' ',AdLieu.AD_CodePostal, ' ', AdLieu.AD_Ville, ' ') AS
|
||
Adresse
|
||
FROM Client
|
||
INNER JOIN Intervention on Intervention.IN_IDClient = Client.CL_PKID
|
||
LEFT JOIN Client_Adresse on Client_Adresse.CA_IDClient = Client.CL_PKID
|
||
INNER JOIN Adresse AdLieu on adlieu.AD_PKID = Client_Adresse.CA_IDAdresse
|
||
WHERE Intervention.IN_PKID = {pIdInter}
|
||
]
|
||
sARQAdresseClient=Remplace(sARQAdresseClient,"{pIdInter}",nIdInter )
|
||
sARQDossier est une chaîne ANSI = [
|
||
SELECT Dossier.DO_Titre as DOSSIER_TITRE , dossier.DO_RefExterne as DOSSIER_REFEXT ,
|
||
dossier.DO_NumDossier as DOSSIER_NUM, Dossier.DO_DateDebut as DOSSIER_DATE,
|
||
PA_StatutDossier.PA_Libelle as DOSSIER_STATUT
|
||
FROM Dossier
|
||
INNER JOIN Intervention on Intervention.IN_IDDossier = Dossier.DO_PKID
|
||
LEFT OUTER JOIN ParametreMetier PA_StatutDossier ON Dossier.DO_CleStatut = PA_StatutDossier.PA_CLE
|
||
WHERE Intervention.IN_PKID = {pIdInter}
|
||
]
|
||
sARQDossier=Remplace(sARQDossier,"{pIdInter}",nIdInter )
|
||
saRqCR est une chaîne ANSI = [
|
||
SELECT
|
||
CompteRendu.CR_PKID,
|
||
CompteRendu.CR_DateHeureDebut,
|
||
CompteRendu.CR_DateHeureFin,
|
||
CompteRendu.CR_NoteCollaborateur,
|
||
CompteRendu.CR_NomSignataire,
|
||
CompteRendu.CR_NomSignataireTech,
|
||
CompteRendu.CR_NoteSignataire,
|
||
CompteRendu.CR_DevisConforme,
|
||
CompteRendu.CR_AvecReserve,
|
||
CompteRendu.CR_ReserveCommentaire,
|
||
CompteRendu.CR_DateHeureSignature,
|
||
CompteRendu.CR_Signature,
|
||
CompteRendu.CR_SignatureTech,
|
||
CompteRendu.CR_IDTypeSignataire,
|
||
CompteRendu.GUID,
|
||
ParametreMetier.PA_Libelle AS CR_PA_Type
|
||
FROM CompteRendu
|
||
INNER JOIN RDV_Collaborateur ON RDV_Collaborateur.RVC_PKID = CR_IDRdv
|
||
INNER JOIN RDV_Planning ON RDV_Planning.GUID = RDV_Collaborateur.RVC_GUID_RDV
|
||
LEFT OUTER JOIN ParametreMetier ON ParametreMetier.PA_CLE = CompteRendu.CR_CleTypeSignataire and
|
||
CompteRendu.CR_CleTypeSignataire <> ''
|
||
WHERE
|
||
RDV_Collaborateur.Archive=0
|
||
AND RDV_Planning.Archive = 0
|
||
AND RDV_Planning.RV_IdInter = {p_IdInter}
|
||
]
|
||
saRqCR = Remplace(saRqCR,"{p_IdInter}",nIdInter)
|
||
saRQRDV est une chaîne ANSI = [
|
||
SELECT
|
||
RDV_Planning.GUID,
|
||
RDV_Collaborateur.RVC_DateDeb,
|
||
RDV_Collaborateur.RVC_DateFin,
|
||
RDV_Planning.RV_Objet,
|
||
12/08/2026 Batik_WS_Com_Mob 136
|
||
|
||
Partie 4 › Collection de procédures › LIB_Traitements › Code
|
||
RDV_Planning.RV_Description,
|
||
RDV_Planning.RV_Groupe,
|
||
RDV_Collaborateur.RVC_PKID,
|
||
CONCAT(Collaborateur.CO_Prenom, ' ', Collaborateur.CO_Nom) AS PL_CO_NOM
|
||
FROM RDV_Planning
|
||
INNER JOIN RDV_Collaborateur ON RDV_Collaborateur.RVC_GUID_RDV = RDV_Planning.GUID
|
||
LEFT OUTER JOIN Collaborateur ON RDV_Collaborateur.RVC_GUID_Colb = Collaborateur.GUID
|
||
WHERE
|
||
RDV_Planning.Archive=0 AND RDV_Collaborateur.Archive = 0
|
||
AND RDV_Planning.RV_IdInter = {p_IdInter}
|
||
ORDER BY RDV_Collaborateur.RVC_DateDeb
|
||
]
|
||
saRQRDV = Remplace(saRQRDV,"{p_IdInter}",nIdInter)
|
||
sdRReqInter est une Source de Données
|
||
sdRReqClient est une Source de Données
|
||
sdRReqDossier est une Source de Données
|
||
sdRReqCR est une Source de Données
|
||
sdReqRDV est une Source de Données
|
||
y est un entier
|
||
y = TableauCherche(tbRubASaisir,tcLinéaire,"GroupeApp",cRub_Inter)
|
||
SI y > 0 _ET_ PAS HExécuteRequêteSQL(sdRReqInter,hRequêteDéfaut,saRQ) ALORS // ne pas exécuter la req
|
||
pour rien
|
||
FIN
|
||
y = 0
|
||
y = TableauCherche(tbRubASaisir,tcLinéaire,"GroupeApp",cRub_Client)
|
||
SI y > 0 _ET_ PAS HExécuteRequêteSQL(sdRReqClient,hRequêteDéfaut,sARQAdresseClient) ALORS
|
||
// ne pas exécuter la req pour rien
|
||
FIN
|
||
y = 0
|
||
y = TableauCherche(tbRubASaisir,tcLinéaire,"GroupeApp",cRub_Dossier)
|
||
SI y > 0 _ET_ PAS HExécuteRequêteSQL(sdRReqDossier,hRequêteDéfaut,sARQDossier) ALORS
|
||
// ne pas exécuter la req pour rien
|
||
FIN
|
||
y = 0
|
||
y = TableauCherche(tbRubASaisir,tcLinéaire,"GroupeApp",cRub_CR)
|
||
SI y > 0 _ET_ PAS HExécuteRequêteSQL(sdRReqCR,hRequêteDéfaut,saRqCR) ALORS // ne pas exécuter la req
|
||
pour rien
|
||
FIN
|
||
y = 0
|
||
y = TableauCherche(tbRubASaisir,tcLinéaire,"GroupeApp",cRub_RDV)
|
||
SI y > 0 _ET_ PAS HExécuteRequêteSQL(sdReqRDV,hRequêteDéfaut,saRQRDV) ALORS // ne pas exécuter la req
|
||
pour rien
|
||
FIN
|
||
POUR TOUT stEle DE tbRubASaisir
|
||
SI stEle:TypeMembre = "Tableau" OU stEle:GroupeApp DANS (cRub_Inter, cRub_Dossier, cRub_Client)
|
||
ALORS
|
||
SELON stEle:GroupeApp
|
||
CAS cRub_Inter
|
||
QUAND EXCEPTION DANS
|
||
12/08/2026 Batik_WS_Com_Mob 137
|
||
|
||
Partie 4 › Collection de procédures › LIB_Traitements › Code
|
||
SI "IN_Description" = stEle.MembreMob ALORS
|
||
stEle:ListeDonnesBD = RTFVersTexte({sdRReqInter+"."+stEle.MembreMob})
|
||
SINON
|
||
stEle:ListeDonnesBD = Remplace({sdRReqInter+"."+stEle.MembreMob},"CHAR(13)",
|
||
RC,MotComplet)
|
||
FIN
|
||
FAIRE
|
||
stEle:ListeDonnesBD = ""
|
||
FIN
|
||
CAS cRub_Dossier
|
||
QUAND EXCEPTION DANS
|
||
stEle:ListeDonnesBD = {sdRReqDossier+"."+stEle.MembreMob}
|
||
FAIRE
|
||
stEle:ListeDonnesBD = ""
|
||
FIN
|
||
CAS cRub_Client
|
||
tbClientAd est un tableau de ST_ClientAd
|
||
stUnCliAd est un ST_ClientAd
|
||
POUR TOUT sdRReqClient
|
||
stUnCliAd.sAAdresse = sdRReqClient.Adresse
|
||
TableauAjoute(tbClientAd,stUnCliAd)
|
||
FIN
|
||
sJson est une chaîne ANSI
|
||
Sérialise(tbClientAd,sJson,psdJSON)
|
||
stEle:ListeDonnesBD = sJson
|
||
stEle:Type = "Tableau"
|
||
CAS cRub_CR
|
||
tbCrest un tableau de ST_CR_Rp
|
||
stUnCr est un ST_CR_Rp
|
||
POUR TOUT sdRReqCR
|
||
stUnCr.saGuidCR = sdRReqCR.GUID
|
||
stUnCr.saDebut = sdRReqCR.CR_DateHeureDebut
|
||
stUnCr.saFin = sdRReqCR.CR_DateHeureFin
|
||
stUnCr.saSignataire = sdRReqCR.cR_NomSignataire
|
||
stUnCr.saNomCollaborateur = sdRReqCR.CR_NomSignataireTech
|
||
TableauAjoute(tbCr,stUnCr)
|
||
FIN
|
||
sJson est une chaîne ANSI
|
||
Sérialise(tbCr,sJson,psdJSON)
|
||
stEle:ListeDonnesBD = sJson
|
||
TraceINFO("Donnees CR "+sJson)
|
||
CAS cRub_RDV
|
||
bDouble est un booléen
|
||
tbRDV est un tableau de ST_RDV_Rp
|
||
stUnRDV est un ST_RDV_Rp
|
||
POUR TOUT sdReqRDV
|
||
stUnRDV:saGuid = sdReqRDV.GUID
|
||
stUnRDV:saCollaborateurs = sdReqRDV.PL_CO_NOM
|
||
stUnRDV:saDateDebut = sdReqRDV.RVC_DateDeb
|
||
stUnRDV:saDateFin = sdReqRDV.RVC_DateFin
|
||
stUnRDV:saObjet = sdReqRDV.RV_Objet
|
||
stUnRDV:saNote = RTFVersTexte(sdReqRDV.RV_Description)
|
||
bDouble = Faux
|
||
SI sdReqRDV.RV_Groupe ALORS
|
||
12/08/2026 Batik_WS_Com_Mob 138
|
||
|
||
Partie 4 › Collection de procédures › LIB_Traitements › Code
|
||
POUR TOUT stRDV DE tbRDV
|
||
SI stRDV:saGuid = sdReqRDV.GUID ALORS
|
||
stRDV:saCollaborateurs += RC + stUnRDV:saCollaborateurs
|
||
bDouble = Vrai
|
||
SORTIR
|
||
FIN
|
||
FIN
|
||
SI PAS bDouble ALORS
|
||
TableauAjoute(tbRDV,stUnRDV)
|
||
FIN
|
||
SINON
|
||
TableauAjoute(tbRDV,stUnRDV)
|
||
FIN
|
||
FIN
|
||
sJson est une chaîne ANSI
|
||
Sérialise(tbRDV,sJson,psdJSON)
|
||
stEle:ListeDonnesBD = sJson
|
||
AUTRE CAS
|
||
FIN
|
||
FIN
|
||
FIN
|
||
Procédure globale CelluleAvecPlusiersRub
|
||
PROCÉDURE CelluleAvecPlusiersRub(unTerme est un STJSONMembreRubRapport, TexteInitial est une chaîne
|
||
ANSI, tabListeRubCol est un tableau de entiers)
|
||
nNbTermeCellule est un entier
|
||
POUR TOUT stTerme DE unTerme.ListeMembre
|
||
SI Contient(TexteInitial,stTerme:Rubrique,MotComplet+SansCasse) ALORS
|
||
nNbTermeCellule += 1
|
||
TableauAjoute(tabListeRubCol,stTerme:Ordre)
|
||
FIN
|
||
FIN
|
||
SI nNbTermeCellule > 1 ALORS
|
||
RENVOYER Vrai
|
||
SINON
|
||
RENVOYER Faux
|
||
FIN
|
||
Procédure globale ChargeListeRubDoc
|
||
PROCÉDURE ChargeListeRubDoc()
|
||
gtbListeRubDoc est un tableau de STJSONMembreRubRapport
|
||
sReqRub est une chaîne ANSI =
|
||
[
|
||
SELECT * FROM RubriquesDocument ORDER BY RD_IdRubParent ASC
|
||
]
|
||
stUnRub est un STJSONMembreRubRapport dynamique
|
||
n est un entier
|
||
ReqRub est une Source de Données
|
||
SI HExécuteRequêteSQL(ReqRub,gcnxReplica,sReqRub) ALORS
|
||
POUR TOUT ReqRub
|
||
stUnRub = allouer un STJSONMembreRubRapport
|
||
12/08/2026 Batik_WS_Com_Mob 139
|
||
|
||
Partie 4 › Collection de procédures › LIB_Traitements › Code
|
||
stUnRub.nIdRub = ReqRub.RD_PKID
|
||
stUnRub.Nom = ReqRub.RD_Nom
|
||
stUnRub.Description = ReqRub.RD_Description
|
||
stUnRub.Rubrique = ReqRub.RD_Rubrique
|
||
stUnRub.Ordre = ReqRub.RD_Ordre
|
||
stUnRub.MembreMob = ReqRub.RD_MembreMob
|
||
stUnRub.MasqueSaisie = ReqRub.RD_MasqueSaisie
|
||
stUnRub.EnvoiMob = ReqRub.RD_EnvoiMob
|
||
stUnRub.Modifiable = ReqRub.RD_Modifiable
|
||
stUnRub.BD = ReqRub.RD_BD
|
||
stUnRub.GroupeApp = ReqRub.RD_Groupe
|
||
stUnRub.TypeMembre = ReqRub.RD_TypeMembre
|
||
stUnRub.Type = ReqRub.RD_TypeMembre
|
||
SI ReqRub.RD_IdRubParent > 0 ALORS
|
||
n = TableauCherche(gtbListeRubDoc,tcLinéairePremier,"nIdRub",ReqRub.RD_IdRubParent)
|
||
SI n > 0 ALORS
|
||
TableauAjoute(gtbListeRubDoc[n].ListeMembre,stUnRub)
|
||
FIN
|
||
SINON
|
||
TableauAjoute(gtbListeRubDoc,stUnRub)
|
||
FIN
|
||
FIN
|
||
FIN
|
||
RENVOYER gtbListeRubDoc
|
||
Procédure globale ConstructionTbRubBaseRapport
|
||
PROCÉDURE ConstructionTbRubBaseRapport(TermeRapport est un STJSONRubriqueRapport, tabToutesRub est un
|
||
tableau de STJSONMembreRubRapport, LeDoc est un Document,bSujetEmail est un booléen = Faux)
|
||
k est un entier
|
||
ListeMembreNull est un tableau de STJSONListeMembre
|
||
MonDoc est un Document = LeDoc
|
||
POUR i = 1 _À_ TermeRapport.ListeTerme..Occurrence
|
||
k = 0
|
||
stUnTerme est un STJSONMembreRubRapport = TermeRapport.ListeTerme[i]
|
||
SI stUnTerme.Rubrique <> "" ALORS
|
||
tabFragments est tableau de docFragment = DocRecherche(MonDoc,stUnTerme.Rubrique,MotComplet+
|
||
SansCasse)
|
||
SI tabFragments.Occurrence > 0 ALORS
|
||
POUR b = 1 _À_ tabFragments.Occurrence
|
||
stUnTerme.Ordre = tabFragments[b].PositionFin
|
||
stUnTerme.Ordre = tabFragments[b].PositionFin
|
||
SI bSujetEmail ALORS
|
||
// si c'est dans le sujet un transforme le numéro d'ordre en décimal afin que le sujet
|
||
soit demande et traite avant le corps de
|
||
l'email
|
||
stUnTerme.Ordre ="0."+tabFragments[b].PositionFin
|
||
FIN
|
||
k = TableauAjoute(tabToutesRub,stUnTerme)
|
||
tabToutesRub[k].ListeMembre = ListeMembreNull
|
||
// toujours car pas tous les termes son requis
|
||
FIN
|
||
FIN
|
||
SI stUnTerme.ListeMembre..Occurrence > 0 _ET_ k <= 0 ALORS
|
||
POUR c = 1 _À_ stUnTerme.ListeMembre..Occurrence
|
||
12/08/2026 Batik_WS_Com_Mob 140
|
||
|
||
Partie 4 › Collection de procédures › LIB_Traitements › Code
|
||
tabFragment2 est tableau de docFragment = DocRecherche(MonDoc,stUnTerme.ListeMembre[c]
|
||
.Rubrique,MotComplet+SansCasse)
|
||
SI tabFragment2.Occurrence > 0 ALORS
|
||
POUR l = 1 _À_ tabFragment2.Occurrence
|
||
stUnTerme2 est un STJSONMembreRubRapport = stUnTerme.Listemembre[c]
|
||
stUnTerme2.Ordre = tabFragment2[l].PositionFin
|
||
k = TableauAjoute(tabToutesRub,stUnTerme2)
|
||
tabToutesRub[k].ListeMembre = ListeMembreNull
|
||
FIN
|
||
FIN
|
||
FIN
|
||
FIN
|
||
FIN
|
||
FIN
|
||
TableauTrie(tabToutesRub,ttMembre+tccRespecteNumérique,"+Ordre")
|
||
Procédure globale ConstructionTbRubEnvoyerMob
|
||
PROCÉDURE ConstructionTbRubEnvoyerMob(tbTermeRapport est un STJSONRubriqueRapport, tbToutesRub est
|
||
un tableau de STJSONMembreRubRapport, tbRubASaisir est un tableau de STJSONMembreRubRapport, MonDoc est
|
||
un Document, bToutesRub est un booléen = Faux, tbMotCleSpec est un tableau de STJSONMembreRubRapport =
|
||
Null)
|
||
sGroupe est une chaîne ANSI
|
||
n est un entier
|
||
= -1
|
||
h est un entier
|
||
POUR TOUT stEle DE tbToutesRub
|
||
SI (stEle:EnvoiMob OU bToutesRub ) ALORS
|
||
SI Contient(stEle:Rubrique, "$TAB") OU Contient(stEle:Rubrique, "$UN") OU Contient(stEle.
|
||
Rubrique,".UNIQUE") ALORS
|
||
SI sGroupe <> stEle:GroupeApp OU h <= 0 ALORS
|
||
n = TableauCherche(tbTermeRapport.ListeTerme,tcLinéaire,"GroupeApp;TypeMembre",stEle:
|
||
GroupeApp,"Tableau")
|
||
SI n > 0 ALORS
|
||
stUnTermeGr est un STJSONMembreRubRapport = tbTermeRapport.ListeTerme[n]
|
||
stUnTermeGr.Ordre = stEle:Ordre
|
||
TableauSupprimeTout(stUnTermeGr.ListeMembre)
|
||
TableauAjoute(stUnTermeGr:ListeMembre,stEle)
|
||
h = TableauAjoute(tbRubASaisir,stUnTermeGr)
|
||
FIN
|
||
SINON
|
||
SI h > 0 ALORS
|
||
stUnTermeRec est un STJSONMembreRubRapport = tbRubASaisir[h]
|
||
n = 0
|
||
POUR TOUT stElem2 DE tbRubASaisir[h]:ListeMembre
|
||
SI stElem2.Rubrique = stEle:Rubrique ALORS
|
||
n += 1
|
||
SORTIR
|
||
FIN
|
||
FIN
|
||
//TableauCherche(stUnTermeRec.ListeMembre,tcLinéairePremier,"Rubrique",stEle:Rubri
|
||
que)
|
||
SI n <= 0 ALORS
|
||
12/08/2026 Batik_WS_Com_Mob 141
|
||
|
||
Partie 4 › Collection de procédures › LIB_Traitements › Code
|
||
TableauAjoute(tbRubASaisir[h].ListeMembre,stEle)
|
||
SINON
|
||
n = TableauCherche(tbTermeRapport.ListeTerme,tcLinéaire,
|
||
"GroupeApp;TypeMembre",stEle:GroupeApp,"Tableau")
|
||
SI n > 0 ALORS
|
||
stUnTermeGr est un STJSONMembreRubRapport = tbTermeRapport.ListeTerme[n]
|
||
stUnTermeGr.Ordre = stEle:Ordre
|
||
TableauSupprimeTout(stUnTermeGr.ListeMembre)
|
||
TableauAjoute(stUnTermeGr:ListeMembre,stEle)
|
||
h = TableauAjoute(tbRubASaisir,stUnTermeGr)
|
||
FIN
|
||
FIN
|
||
FIN
|
||
FIN
|
||
sGroupe = stEle:GroupeApp
|
||
SINON
|
||
SI ChaîneOccurrence(stEle.Rubrique,".LISTE") > 0 ALORS
|
||
h = 0
|
||
n = TableauCherche(tbTermeRapport.ListeTerme,tcLinéaire,"GroupeApp;TypeMembre",stEle
|
||
:GroupeApp,"Tableau")
|
||
SI n > 0 ALORS
|
||
stUnTermeGr est un STJSONMembreRubRapport = tbTermeRapport.ListeTerme[n]
|
||
POUR TOUT stElem2 DE tbTermeRapport.ListeTerme[n]:ListeMembre
|
||
SI stElem2.MembreMob <> "" ALORS
|
||
SI h <= 0 ALORS
|
||
stUnTermeGr.Ordre = stEle:Ordre
|
||
TableauSupprimeTout(stUnTermeGr.ListeMembre)
|
||
stUnTermeGr.ListeMembre.Ajoute(stElem2)
|
||
h = TableauAjoute(tbRubASaisir,stUnTermeGr)
|
||
SINON
|
||
tbRubASaisir[h].ListeMembre.Ajoute(stElem2)
|
||
FIN
|
||
FIN
|
||
FIN
|
||
FIN
|
||
SINON
|
||
TableauAjoute(tbRubASaisir,stEle)
|
||
FIN
|
||
h = 0
|
||
sGroupe = ""
|
||
FIN
|
||
SINON
|
||
h = 0
|
||
sGroupe = ""
|
||
FIN
|
||
FIN
|
||
k est un entier
|
||
SI tbMotCleSpec<> Null ALORS
|
||
POUR TOUT stEleCle DE tbMotCleSpec
|
||
tabFragments est tableau de docFragment = DocRecherche(MonDoc,stEleCle.Rubrique,MotComplet+
|
||
SansCasse)
|
||
SI tabFragments.Occurrence > 0 ALORS
|
||
POUR b = 1 _À_ tabFragments.Occurrence
|
||
stEleCle.Ordre = tabFragments[b].PositionFin
|
||
k = TableauAjoute(tbRubASaisir,stEleCle)
|
||
TableauSupprimeTout(tbRubASaisir[k].ListeMembre)
|
||
// toujours car pas tous les termes son requis
|
||
FIN
|
||
FIN
|
||
FIN
|
||
12/08/2026 Batik_WS_Com_Mob 142
|
||
|
||
Partie 4 › Collection de procédures › LIB_Traitements › Code
|
||
FIN
|
||
TableauTrie(tbRubASaisir,ttMembre+tccRespecteNumérique,"+Ordre")
|
||
bufResp est un Buffer
|
||
Sérialise(tbRubASaisir,bufResp,psdJSON)
|
||
TraceINFO("TabRubMob "+bufResp+RC)
|
||
Procédure globale ConstruireListeChampModeleEmail
|
||
PROCÉDURE ConstruireListeChampModeleEmail(stParam est un STJSONInfoModeleMailMob, bufRes est un Buffer)
|
||
| nIdModeleMail | est un entier sur 8 octets | | = stParam.nIdModele | |
|
||
| ----------------- | ---------------------------------------- | --- | ------------------- | --- |
|
||
| nIdInter | est un entier sur 8 octets | | = stParam.nIdInter | |
|
||
| CorpEmailDoc | est un Document | | | |
|
||
| SujetEmailDoc | est un Document | | | |
|
||
| TermeRapportEmail | est un STJSONRubriqueRapport | | | |
|
||
| TermeRapport | est un STJSONRubriqueRapport | | | |
|
||
| vRub | est un Variant | | | |
|
||
| tabToutesRub | est un tableau de STJSONMembreRubRapport | | | |
|
||
| tabRubMobile | est un tableau de STJSONMembreRubRapport | | | |
|
||
| saSujetEmail | est une chaîne ANSI | | | |
|
||
| tbMotCleSpec | est un tableau de STJSONMembreRubRapport | | | |
|
||
TermeRapportEmail.ListeTerme = ChargeListeRubDoc()
|
||
| saRQModeleMail | est une chaîne ANSI | = [ | | |
|
||
| -------------- | ------------------- | --- | --- | --- |
|
||
SELECT * FROM MailModele WHERE MM_PKID =
|
||
]
|
||
saRQModeleMail += nIdModeleMail
|
||
sdRqModele est une Source de Données
|
||
SI PAS HExécuteRequêteSQL(sdRqModele,gcnxReplica,saRQModeleMail) ALORS
|
||
RENVOYER "Modèle introuvable"
|
||
SINON
|
||
CorpEmailDoc = sdRqModele.MM_MsgDoc
|
||
| SujetEmailDoc = sdRqModele.MM_Sujet | | | | |
|
||
| ----------------------------------- | --- | --- | --- | --- |
|
||
SI sdRqModele.MM_Extra <> "" ALORS
|
||
Désérialise(tbMotCleSpec,sdRqModele.MM_Extra,psdJSON)
|
||
POUR TOUT stUnMot DE tbMotCleSpec
|
||
SI stUnMot:TypeMembre <> "" ALORS
|
||
stUnMot:Type = stUnMot:TypeMembre //Pour compatibilite dans le mobile
|
||
FIN
|
||
FIN
|
||
FIN
|
||
FIN
|
||
| //saRQRub | est une chaîne ANSI | = [ | | |
|
||
| --------- | ------------------- | --- | --- | --- |
|
||
// SELECT * FROM ParametreSysteme WHERE PAS_Code = 'RUBRIQUE_RAPPORT_INTERVENTION'
|
||
//]
|
||
//
|
||
//sdRpRub est une source de données
|
||
//HExécuteRequêteSQL(sdRpRub,gcnxReplica,saRQRub)
|
||
//vRub = JSONVersVariant(sdRpRub.PAS_Valeur)
|
||
//
|
||
//SI vRub<>Null ALORS
|
||
// Désérialise(TermeRapport,sdRpRub.PAS_Valeur,psdJSON)
|
||
// TableauTrie(TermeRapport:ListeTerme,ttMembre,"Groupe;Ordre")
|
||
//FIN
|
||
SI TermeRapport.ListeTerme..Occurrence > 0 ALORS
|
||
TableauTrie(TermeRapport:ListeTerme,ttMembre,"Groupe;Ordre")
|
||
| 12/08/2026 | | Batik_WS_Com_Mob | | 143 |
|
||
| ---------- | --- | ---------------- | --- | --- |
|
||
|
||
Partie 4 › Collection de procédures › LIB_Traitements › Code
|
||
FIN
|
||
//MotCleModeleEmail_Rub_Rapport(TermeRapportEmail,TermeRapport)
|
||
SI TermeRapportEmail.ListeTerme..Occurrence > 0 ALORS
|
||
ConstructionTbRubBaseRapport(TermeRapportEmail,tabToutesRub,SujetEmailDoc,Vrai)
|
||
ConstructionTbRubBaseRapport(TermeRapportEmail,tabToutesRub,CorpEmailDoc)
|
||
ConstructionTbRubEnvoyerMob(TermeRapportEmail, tabToutesRub ,tabRubMobile,CorpEmailDoc,Vrai,
|
||
tbMotCleSpec)
|
||
AjouterDonnesBDDansChampRapport(nIdInter, tabRubMobile)
|
||
SI PAS EnvoiRubMob(tabRubMobile) ALORS
|
||
TraiteEmailBuffer(tabToutesRub,tabRubMobile,SujetEmailDoc)
|
||
TraiteEmailBuffer(tabToutesRub,tabRubMobile,CorpEmailDoc)
|
||
SupprimerToutesRubRapportMob(tabToutesRub,SujetEmailDoc)
|
||
SupprimerToutesRubRapportMob(tabToutesRub,CorpEmailDoc)
|
||
saSujetEmail = DocVersTexte(SujetEmailDoc)
|
||
stStructureMail est un ST_ModeleMailComplet
|
||
stStructureMail.saType = cCorpsModeleMail
|
||
stStructureMail.saSujet = saSujetEmail
|
||
stStructureMail.tbDestCC = stParam.stCompteMail.SMTP.tabCC_CopieEmail
|
||
DocHtmlCorps est un htmlDocument = DocVersHTML(CorpEmailDoc)
|
||
SI stParam.stCompteMail <> Null _ET_ stParam.stCompteMail.SMTP.bufSignature <> "" ALORS
|
||
DocHtmlCorps..ContenuHTML= DocHtmlCorps..ContenuHTML + ChaîneVersUTF8(stParam.stCompteMail
|
||
.SMTP.bufSignature)
|
||
FIN
|
||
bufCorpsHTML est un Buffer = DocHtmlCorps
|
||
//manque recherche contact
|
||
Sérialise(stStructureMail,bufRes,psdJSON)
|
||
bufRes+=cBufferHorsSer+bufCorpsHTML
|
||
RENVOYER ""
|
||
SINON
|
||
tabRubMobileEnvoyer est un tableau de STJSONMembreRubRapport
|
||
POUR TOUT stEle DE tabRubMobile
|
||
SI stEle:EnvoiMob ALORS
|
||
TableauAjoute(tabRubMobileEnvoyer,stEle)
|
||
FIN
|
||
FIN
|
||
TableauTrie(tabRubMobileEnvoyer,ttMembre,"Groupe;Ordre")
|
||
stModeleMail est un ST_ModeleMailRub
|
||
stModeleMail.saType = cRubriquesModeleMail
|
||
stModeleMail.Listerub = tabRubMobileEnvoyer
|
||
Sérialise(stModeleMail,bufRes,psdJSON)
|
||
RENVOYER ""
|
||
FIN
|
||
SINON
|
||
RENVOYER "E"
|
||
FIN
|
||
Procédure globale ConstruireModeleMailAvecInfoMob
|
||
12/08/2026 Batik_WS_Com_Mob 144
|
||
|
||
Partie 4 › Collection de procédures › LIB_Traitements › Code
|
||
PROCÉDURE ConstruireModeleMailAvecInfoMob(stParam est un STJSONInfoModeleMailMob, bufRes est un Buffer)
|
||
| nIdModeleMail | est un entier sur 8 octets | | = stParam.nIdModele | |
|
||
| ----------------- | ---------------------------------------- | --- | ------------------- | --- |
|
||
| nIdInter | est un entier sur 8 octets | | = stParam.nIdInter | |
|
||
| CorpEmailDoc | est un Document | | | |
|
||
| SujetEmailDoc | est un Document | | | |
|
||
| TermeRapportEmail | est un STJSONRubriqueRapport | | | |
|
||
| TermeRapport | est un STJSONRubriqueRapport | | | |
|
||
| tabToutesRub | est un tableau de STJSONMembreRubRapport | | | |
|
||
| tabRubMobile | est un tableau de STJSONMembreRubRapport | | | |
|
||
| saSujetEmail | est une chaîne ANSI | | | |
|
||
sResRepTemp est une chaîne ANSI
|
||
<COMPILE SI Configuration = "WS_COM_MOBILE" OU Configuration = "Debug WS_COM_MOBILE">
|
||
| sResRepTemp = ComplèteRep(fRepExe())+"TEMP\" | | | | |
|
||
| -------------------------------------------- | --- | --- | --- | --- |
|
||
<SINON>
|
||
| sResRepTemp = ComplèteRep(fRepWeb())+"TEMP\" | | | | |
|
||
| -------------------------------------------- | --- | --- | --- | --- |
|
||
<FIN>
|
||
CheminImg est une chaîne ANSI = ComplèteRep(sResRepTemp+stParam.nIdInter)
|
||
SI PAS RechercheListeRubModeleMail(nIdModeleMail,CorpEmailDoc,SujetEmailDoc,TermeRapportEmail,
|
||
TermeRapport) ALORS
|
||
RENVOYER "Modèle introuvable"
|
||
FIN
|
||
SI TermeRapportEmail.ListeTerme..Occurrence > 0 ALORS
|
||
ConstructionTbRubBaseRapport(TermeRapportEmail,tabToutesRub,SujetEmailDoc,Vrai)
|
||
ConstructionTbRubBaseRapport(TermeRapportEmail,tabToutesRub,CorpEmailDoc)
|
||
ConstructionTbRubEnvoyerMob(TermeRapportEmail, tabToutesRub ,tabRubMobile,CorpEmailDoc,Vrai)
|
||
AjouterDonnesBDDansChampRapport(nIdInter, tabRubMobile)
|
||
TraiteDocumentRapportMob(tabRubMobile,stParam.ListeMob,SujetEmailDoc,CheminImg)
|
||
TraiteDocumentRapportMob(tabRubMobile,stParam.ListeMob,CorpEmailDoc,CheminImg)
|
||
SupprimerToutesRubRapportMob(tabToutesRub,SujetEmailDoc)
|
||
SupprimerToutesRubRapportMob(tabToutesRub,CorpEmailDoc)
|
||
// TraiteEmailBuffer(tabRubMobile,stParam.ListeMob,SujetEmailDoc)
|
||
// TraiteEmailBuffer(tabRubMobile,stParam.ListeMob,CorpEmailDoc)
|
||
//
|
||
// SupprimerToutesRubRapportMob(tabToutesRub,SujetEmailDoc)
|
||
// SupprimerToutesRubRapportMob(tabToutesRub,CorpEmailDoc)
|
||
| saSujetEmail = UTF8VersUnicode(DocVersTexte(SujetEmailDoc)) | | | | |
|
||
| ------------------------------------------------------------ | ------------------ | --- | --- | --- |
|
||
| stStructureMail est un ST_ModeleMailComplet | | | | |
|
||
| stStructureMail.saType | = cCorpsModeleMail | | | |
|
||
| stStructureMail.saSujet | = saSujetEmail | | | |
|
||
stStructureMail.tbDestCC = stParam.stCompteMail.SMTP.tabCC_CopieEmail
|
||
//stStructureMail.bufCorpsHTML = fChargeBuffer(sResRepTemp)
|
||
DocHtmlCorps est un htmlDocument = DocVersHTML(CorpEmailDoc)
|
||
SI stParam.stCompteMail <> Null _ET_ stParam.stCompteMail.SMTP.bufSignature <> "" ALORS
|
||
DocHtmlCorps..ContenuHTML= DocHtmlCorps..ContenuHTML + ChaîneVersUTF8(stParam.stCompteMail.SMTP
|
||
.bufSignature)
|
||
FIN
|
||
bufCorpsHTML est un Buffer = DocHtmlCorps
|
||
//manque recherche contact
|
||
Sérialise(stStructureMail,bufRes,psdJSON)
|
||
bufRes+=cBufferHorsSer+bufCorpsHTML
|
||
//TraceINFO("res 1 "+bufRes)
|
||
| 12/08/2026 | | Batik_WS_Com_Mob | | 145 |
|
||
| ---------- | --- | ---------------- | --- | --- |
|
||
|
||
Partie 4 › Collection de procédures › LIB_Traitements › Code
|
||
RENVOYER ""
|
||
SINON
|
||
RENVOYER "E"
|
||
FIN
|
||
Procédure globale ConstruitListeIntervention
|
||
PROCÉDURE ConstruitListeIntervention(bAvecRDV est un booléen,stData est une ST_MOB_DATA)
|
||
tblRDV est un tableau de ST_RDV_INTER
|
||
sErreur est une chaîne
|
||
bufRes est un Buffer
|
||
bAvecNonPlanifie est un booléen
|
||
SI bAvecRDV ALORS
|
||
TraceINFO("Ajout des Interventions Planifiées")
|
||
SI ParamApplication_Lit_Booleen(cParam_Mobile_Inter_Non_Planifiées,Faux) ALORS
|
||
TraceINFO("Ajout des Interventions non planifiées")
|
||
bAvecNonPlanifie = Vrai
|
||
FIN
|
||
TraceINFO("Liste RDV")
|
||
sErreur = ListeRDV(stData,tblRDV,bAvecNonPlanifie)
|
||
TraceINFO(sErreur)
|
||
SI sErreur<>"" ALORS
|
||
RENVOYER sErreur
|
||
FIN
|
||
SINON
|
||
TraceINFO("Sans Interventions Planifiées")
|
||
FIN
|
||
//SI ParamApplication_Lit_Booleen(cParam_Mobile_Inter_Non_Planifiées,Faux) alors
|
||
// TraceINFO("Ajout des Interventions non planifiées")
|
||
// sErreur = RechercheInterventionsNonPlannifiées(tblRDV)
|
||
// SI sErreur<>"" ALORS
|
||
// RENVOYER sErreur
|
||
// FIN
|
||
//sinon
|
||
// TraceINFO("Sans Interventions non planifiées")
|
||
//fin
|
||
Sérialise(tblRDV,bufRes,psdJSON)
|
||
bufRes="R" + bufRes
|
||
RENVOYER bufRes
|
||
Procédure globale ConstruitListeIntervention_V2
|
||
PROCÉDURE ConstruitListeIntervention_V2(bAvecRDV est un booléen,stData est une ST_MOB_DATA)
|
||
tbLRDV est un tableau de ST_RDV_INTER_V2
|
||
sErreur est une chaîne
|
||
bufRes est un Buffer
|
||
bAvecNonPlanifie est un booléen
|
||
SI bAvecRDV ALORS
|
||
TraceINFO("Ajout des Interventions Planifiées")
|
||
SI ParamApplication_Lit_Booleen(cParam_Mobile_Inter_Non_Planifiées,Faux) ALORS
|
||
TraceINFO("Ajout des Interventions non planifiées")
|
||
bAvecNonPlanifie = Vrai
|
||
FIN
|
||
sErreur = ListeRDV_V2(stData,tbLRDV,bAvecNonPlanifie)
|
||
SI sErreur<>"" ALORS
|
||
RENVOYER sErreur
|
||
12/08/2026 Batik_WS_Com_Mob 146
|
||
|
||
Partie 4 › Collection de procédures › LIB_Traitements › Code
|
||
FIN
|
||
SINON
|
||
TraceINFO("Sans Interventions Planifiées")
|
||
FIN
|
||
//SI ParamApplication_Lit_Booleen(cParam_Mobile_Inter_Non_Planifiées,Faux) alors
|
||
// TraceINFO("Ajout des Interventions non planifiées")
|
||
// sErreur = RechercheInterventionsNonPlannifiées(tblRDV)
|
||
// SI sErreur<>"" ALORS
|
||
// RENVOYER sErreur
|
||
// FIN
|
||
//sinon
|
||
// TraceINFO("Sans Interventions non planifiées")
|
||
//fin
|
||
Sérialise(tbLRDV,bufRes,psdJSON)
|
||
bufRes="R" + bufRes
|
||
RENVOYER bufRes
|
||
Procédure globale ConstruitResultatRechercheInterventions
|
||
PROCÉDURE ConstruitResultatRechercheInterventions(saRQ est une chaîne ANSI)
|
||
bufRes est un Buffer
|
||
QUAND EXCEPTION DANS
|
||
sd est une Source de Données
|
||
saLstIdInter est une chaîne ANSI
|
||
tbaIndice est un tableau associatif (*, *, wlEntier) d'entiers
|
||
n est un entier
|
||
ChronoDébut()
|
||
// TraceRequete(saRQ)
|
||
SI PAS HExécuteRequêteSQL(sd,gcnxReplica,hRequêteDéfaut,saRQ) ALORS
|
||
bufRes="E"+ErreurInfo(errComplet)
|
||
TraceDEBUG("bufREs : " + bufRes)
|
||
TraceINFO("ConstruitResultatRechercheInterventions :"+ saRQ)
|
||
RENVOYER bufRes
|
||
FIN
|
||
nb est un entier = HNbEnr(sd)
|
||
TraceINFO("Requête ok, durée : " + ChronoValeur() + "ms, nb="+nb )
|
||
tblINT est un tableau de ST_INTER
|
||
SI nb>0 ALORS
|
||
POUR TOUT sd
|
||
saLstIdInter+= [","] + sd.IN_PKID
|
||
//Construction de la réponse (tableau)
|
||
xt est un ST_INTER
|
||
//Sous ensemble Intervention
|
||
xt.saCli_Nom =sd.CL_Nom
|
||
xt.nInt_PKID =sd.IN_PKID
|
||
SI sd.IN_CleType <> "" _ET_ gstParametres.TbaTypeInter[sd.IN_CleType]..Existe = Vrai ALORS
|
||
12/08/2026 Batik_WS_Com_Mob 147
|
||
|
||
Partie 4 › Collection de procédures › LIB_Traitements › Code
|
||
xt.saInt_Typ = gstParametres.TbaTypeInter[sd.IN_CleType]
|
||
FIN
|
||
SI sd.IN_CleEtat <> "" _ET_ gstParametres.TbaEtatInter[sd.IN_CleEtat]..Existe = Vrai ALORS
|
||
xt.saInt_Etat = gstParametres.TbaEtatInter[sd.IN_CleEtat]
|
||
FIN
|
||
xt.saInt_Descrip =RTFVersTexte(sd.IN_Description)
|
||
xt.saInt_Note =sd.IN_NoteInterne
|
||
xt.saInt_Tit =sd.IN_Titre
|
||
xt.saInt_RfI =sd.IN_RefInterne
|
||
xt.saInt_RfE =sd.IN_RefExterne
|
||
xt.saLieu_CodeLieu =sd.LI_CodeLieu
|
||
xt.nInt_IDSociete =sd.IN_IDSociete
|
||
xt.saDmd_Nom =sd.PE_Nom
|
||
xt.saDmd_Prenom =sd.PE_Prenom
|
||
xt.stLieu_Ad.nID =sd.AdLieu_PKID
|
||
xt.stLieu_Ad.saEtiq =sd.AdLieu_Etiquette
|
||
xt.stLieu_Ad.saLig =sd.AD_Adresse
|
||
xt.stLieu_Ad.saCP =sd.AdLieu_CodePostal
|
||
xt.stLieu_Ad.saVil =sd.AdLieu_Ville
|
||
n=TableauAjoute(tblINT,xt)
|
||
tbaIndice[sd.IN_PKID]=n
|
||
//Tableau d'indice permettant de retrouver l'intervention dans tblINTER par son PKID
|
||
FIN
|
||
TraceINFO("Tableau Inter, durée : " + ChronoValeur() + "ms" )
|
||
sdPers est une Source de Données
|
||
saRQ=[
|
||
SELECT
|
||
Intervention_Personne.IP_Etage AS IP_Etage,
|
||
Intervention_Personne.IP_Lot AS IP_Lot,
|
||
Intervention_Personne.IP_IDPersonne AS IP_IDPersonne,
|
||
Personne.PE_IDCivilite AS PE_IDCivilite,
|
||
Personne.PE_Nom AS PE_Nom,
|
||
Personne.PE_Prenom AS PE_Prenom,
|
||
Personne.PE_TelFixe AS PE_TelFixe,
|
||
Personne.PE_TelMobile AS PE_TelMobile,
|
||
Personne.PE_Email AS PE_Email,
|
||
Personne.PE_CleRole AS PE_CleRole,
|
||
Personne.PE_Note AS PE_Note,
|
||
Intervention_Personne.IP_IDIntervention AS IP_IDIntervention,
|
||
Intervention_Personne.IP_IDLieu AS IP_IDLieu,
|
||
Intervention_Personne.IP_IDClient AS IP_IDClient,
|
||
Lieu_Personne.LIP_Etage AS LIP_Etage,
|
||
Lieu_Personne.LIP_Lot AS LIP_Lot,
|
||
Lieu_Personne.LIP_EtiquetteAdresse AS LIP_EtiquetteAdresse
|
||
FROM Intervention_Personne INNER JOIN Personne ON (Personne.PE_PKID =
|
||
Intervention_Personne.IP_IDPersonne)
|
||
LEFT OUTER JOIN Lieu_Personne ON (Lieu_Personne.LIP_IDLieu=Intervention_Personne.IP_IDLieu
|
||
AND Lieu_Personne.LIP_IDPersonne=Intervention_Personne.IP_IDPersonne)
|
||
WHERE Intervention_Personne.IP_IDIntervention IN ({Liste_IDIntervention})
|
||
ORDER BY
|
||
IP_IDIntervention ASC
|
||
]
|
||
TraceINFO("Liste ID Inter : " +saLstIdInter)
|
||
saRQ=Remplace(saRQ,"{Liste_IDIntervention}",saLstIdInter)
|
||
SI PAS HExécuteRequêteSQL(sdPers,gcnxReplica,hRequêteDéfaut,saRQ) ALORS
|
||
bufRes="E"+ErreurInfo(errComplet)
|
||
TraceDEBUG("bufREs : " + bufRes)
|
||
12/08/2026 Batik_WS_Com_Mob 148
|
||
|
||
Partie 4 › Collection de procédures › LIB_Traitements › Code
|
||
RENVOYER bufRes
|
||
FIN
|
||
TraceINFO("Requete Personnes Intrv, durée : " + ChronoValeur() + "ms" )
|
||
stPer est un ST_PERSONNE_LIEU
|
||
POUR TOUT sdPers
|
||
stPer.nID = sdPers.IP_IDPersonne
|
||
stPer.saNom = sdPers.PE_Nom
|
||
stPer.saPren = sdPers.PE_Prenom
|
||
stPer.saTFix = sdPers.PE_TelFixe
|
||
stPer.saTMob = sdPers.PE_TelMobile
|
||
SI sdPers.PE_CleRole <> "" _ET_ gstParametres.TbaRoleContact[sdPers.PE_CleRole]..Existe =
|
||
Vrai ALORS
|
||
stPer.saRole = gstParametres.TbaRoleContact[sdPers.PE_CleRole]
|
||
FIN
|
||
stPer.saEtage = sdPers.IP_Etage<>"" ? sdPers.IP_Etage SINON sdPers.LIP_Etage
|
||
stPer.saLot = sdPers.IP_Lot<>"" ? sdPers.IP_Lot SINON sdPers.LIP_Lot
|
||
stPer.saEtiquette = sdPers.LIP_EtiquetteAdresse
|
||
stPer.saNote = sdPers.PE_Note
|
||
stPer.bDonneurOrdre = sdPers.IP_IDClient<>0 _ET_ sdPers.IP_IDlieu=0
|
||
n=tbaIndice[sdPers.IP_IDIntervention]
|
||
tblINT[n].tblPerLieu.Ajoute(stPer)
|
||
FIN
|
||
tblINT[n].tblPerLieu.Trie(ttMembre,"saRole")
|
||
//Ajout du tableau des Notes Internes
|
||
sdNote est une Source de Données
|
||
saRQ = [
|
||
SELECT MI_Message,MessageInterne.CreationDate,UT_Nom , UT_Prenom
|
||
,MI_IDTypeMessage,MI_IDIntervention,MessageInterne.GUID as MI_GUID
|
||
,MessageInterne.CreationUser
|
||
FROM MessageInterne INNER JOIN Utilisateur ON
|
||
MessageInterne.CreationUser=Utilisateur.UT_PKID
|
||
WHERE MI_IDIntervention IN ({Liste_IDIntervention}) AND MessageInterne.MI_IDTypeMessage <
|
||
10
|
||
ORDER BY MessageInterne.CreationDate DESC
|
||
]
|
||
saRQ=Remplace(saRQ,"{Liste_IDIntervention}",saLstIdInter)
|
||
SI PAS HExécuteRequêteSQL(sdNote,gcnxReplica,hRequêteDéfaut,saRQ) ALORS
|
||
TraceERREUR("Erreur lecture des Notes Internes " + HErreurInfo(hErrComplet))
|
||
SINON
|
||
stN est un ST_NOTE
|
||
POUR TOUT sdNote
|
||
stN.nIdInter =sdNote.MI_IDIntervention
|
||
stN.saNote =sdNote.MI_Message
|
||
stN.saAuteur =sdNote.UT_Prenom + [" "] + sdNote.UT_Nom
|
||
stN.saDate =sdNote.CreationDate
|
||
stN.saGuid =sdNote.MI_GUID
|
||
//stN.nIdAuteur =sdNote.CreationUser
|
||
stN.nIdUsr =sdNote.CreationUser
|
||
//stN.saType =sdNote.MI_IDTypeMessage //toujours à 0
|
||
n=tbaIndice[sdNote.MI_IDIntervention]
|
||
tblINT[n].tblNote.Ajoute(stN)
|
||
FIN
|
||
FIN
|
||
FIN
|
||
12/08/2026 Batik_WS_Com_Mob 149
|
||
|
||
Partie 4 › Collection de procédures › LIB_Traitements › Code
|
||
Sérialise(tblINT,bufRes,psdJSON)
|
||
HAnnuleDéclaration(sd)
|
||
TraceINFO("Fin traitement ok, durée : " + ChronoFin() + "ms" + RC + tblINT..Occurrence +
|
||
" Interventions renvoyées." )
|
||
bufRes ="R" + bufRes
|
||
TraceINFO("bufREs : " + bufRes)
|
||
RENVOYER bufRes
|
||
FAIRE
|
||
bufRes ="E" + ExceptionInfo(errComplet)
|
||
TraceDEBUG("bufREs : " + bufRes)
|
||
RENVOYER bufRes
|
||
FIN
|
||
Procédure globale ConstruitTableauInterventions
|
||
PROCÉDURE ConstruitTableauInterventions(saRQ est une chaîne ANSI,saRqCR est une chaîne ANSI ,bAvecRDV
|
||
est un booléen,tblRDV est un tableau de ST_RDV_INTER)
|
||
QUAND EXCEPTION DANS
|
||
nNbInter est un entier
|
||
sRes est une chaîne ANSI
|
||
saLstIdInter est une chaîne ANSI
|
||
saLstIdRDV est une chaîne ANSI
|
||
tbaIdInter est un tableau associatif (*, *, wlEntier_8) d'entiers
|
||
tbaIdRDV est un tableau associatif (*, *, wlEntier_8) d'entiers
|
||
n est un entier
|
||
tbaCompteRendu est un tableau associatif de STCompteRenduRqListe
|
||
saCle est une chaîne ANSI
|
||
sdSDCR est une Source de Données
|
||
SI saRqCR <> "" ALORS
|
||
TraceRequete(saRqCR)
|
||
SI PAS HExécuteRequêteSQL(sdSDCR,gcnxReplica,hRequêteDéfaut,saRqCR) ALORS
|
||
sRes="E"+HErreurInfo(errComplet)
|
||
TraceERREUR("ConstruitTableauInterventionsAvecCopmteRendu : " + sRes)
|
||
RENVOYER sRes
|
||
FIN
|
||
FIN
|
||
POUR TOUT sdSDCR
|
||
stCpR est une STCompteRenduRqListe
|
||
stCpR.saCR_GUID = sdSDCR.CR_GUID
|
||
stCpR.saDateHeureDebut = sdSDCR.CR_DateHeureDebut
|
||
stCpR.saDateHeureFin = sdSDCR.CR_DateHeureFin
|
||
stCpR.saNoteCollaborateur = sdSDCR.CR_NoteCollaborateur
|
||
stCpR.saNoteSignataire = sdSDCR.CR_NoteSignataire
|
||
stCpR.saDateHeureSignature = sdSDCR.CR_DateHeureSignature
|
||
stCpR.nIN_PKID = sdSDCR.CR_IDIntervention
|
||
stCpR.saNomSignataire = sdSDCR.CR_NomSignataire
|
||
stCpR.saPL_GUID = sdSDCR.CR_IDRdv
|
||
stCpR.nPL_IDCollaborateur = sdSDCR.PL_IDCollaborateur
|
||
stCpR.nPL_IDCollaborateur = sdSDCR.CR_CreationUser
|
||
stCpR.bufCR_Signature = "coucou"
|
||
stCpR.nRDV_PKID = sdSDCR.CR_IDRdv
|
||
stCpR.nIdGroupe = sdSDCR.PL_IDGroupe
|
||
SI stCpR.nRDV_PKID > 0 ET stCpR.saDateHeureDebut <> "" ET stCpR.saDateHeureFin <> "" ALORS
|
||
12/08/2026 Batik_WS_Com_Mob 150
|
||
|
||
Partie 4 › Collection de procédures › LIB_Traitements › Code
|
||
SI stCpR.nIdGroupe > 0 ALORS
|
||
tbaCompteRendu[stCpR.nIdGroupe] = stCpR
|
||
SINON
|
||
tbaCompteRendu[stCpR.nRDV_PKID] = stCpR
|
||
FIN
|
||
FIN
|
||
FIN
|
||
sd est une Source de Données
|
||
TraceRequete(saRQ)
|
||
SI PAS HExécuteRequêteSQL(sd,gcnxReplica,hRequêteDéfaut,saRQ) ALORS
|
||
sRes="E"+HErreurInfo(errComplet)
|
||
TraceERREUR("ConstruitTableauInterventions : " + sRes)
|
||
RENVOYER sRes
|
||
FIN
|
||
POUR TOUT sd
|
||
xt est un ST_RDV_INTER
|
||
saLstIdInter+= [","] + sd.IN_PKID
|
||
SI bAvecRDV ALORS
|
||
saLstIdRDV += [","] + sd.PL_PKID
|
||
| | xt.stRDV.nPKID | = sd.PL_PKID | | |
|
||
| --- | ------------------------- | ------------------------- | ---- | --- |
|
||
| | xt.stRDV.saGUID | = sd.PL_GUID | | |
|
||
| | xt.stRDV.nIDCollaborateur | = sd.PL_IDCollaborateur | | |
|
||
| | xt.stRDV.nIDIntervention | = sd.PL_IDIntervention | | |
|
||
| | xt.stRDV.nIDTypeActivite | = sd.PL_IDTypeActivite | | |
|
||
| | xt.stRDV.saObjet | = sd.PL_Objet | | |
|
||
xt.stRDV.saDescription = sd.PL_Description//RTFVersTexte(sd.PL_Description )
|
||
| | xt.stRDV.saDateDebut | = sd.PL_DateDebut | | |
|
||
| --- | ---------------------- | ----------------------------------------- | --- | --- |
|
||
| | xt.stRDV.saDateFin | = sd.PL_DateFin | | |
|
||
| | xt.stRDV.nIDStatut | = sd.PL_IDStatut | | |
|
||
| | xt.stRDV.saStatut | = sd.saStatutRDV | | |
|
||
| | xt.stRDV.nIDLieu | = sd.PL_IDLieu | | |
|
||
| | xt.stRDV.bGrouper | = sd.PL_Grouper | | |
|
||
| | xt.stRDV.nIDGroupe | = sd.PL_IDGroupe | | |
|
||
| | xt.stRDV.nIDDossier | = sd.PL_IDDossier | | |
|
||
| | xt.stRDV.bPrive | = sd.PL_Prive | | |
|
||
| | xt.stRDV.bSuperposable | = sd.PL_Superposable | | |
|
||
| | xt.stRDV.nIDEquipe | = sd.PL_IDEquipe | | |
|
||
| | xt.stRDV.nIDSociete | = sd.PL_IDSociete | | |
|
||
| | xt.saRDV_TypAct | = DonneLibParametre(sd.PL_IDTypeActivite) | | |
|
||
| | xt.saRDV_Statut | = DonneLibParametre(sd.PL_IDStatut) | | |
|
||
| | xt.saRDV_Lieu | = sd.LI_CodeLieu | | |
|
||
SI sd.PL_IDGroupe > 0 ALORS
|
||
saCle = sd.PL_IDGroupe
|
||
SINON
|
||
saCle = sd.PL_PKID
|
||
FIN
|
||
SI tbaCompteRendu[saCle]..Existe ALORS
|
||
| 12/08/2026 | | Batik_WS_Com_Mob | | 151 |
|
||
| ---------- | --- | ---------------- | --- | --- |
|
||
|
||
Partie 4 › Collection de procédures › LIB_Traitements › Code
|
||
xt.stRDV.stCompteRendu.saGuidCR = tbaCompteRendu[saCle].saCR_GUID
|
||
xt.stRDV.stCompteRendu.saDebut = tbaCompteRendu[saCle].saDateHeureDebut
|
||
xt.stRDV.stCompteRendu.saFin = tbaCompteRendu[saCle].saDateHeureFin
|
||
xt.stRDV.stCompteRendu.saNoteCollab = tbaCompteRendu[saCle].saNoteCollaborateur
|
||
xt.stRDV.stCompteRendu.saNoteClient = tbaCompteRendu[saCle].saNoteSignataire
|
||
xt.stRDV.stCompteRendu.saDateSignature = tbaCompteRendu[saCle].saDateHeureSignature
|
||
xt.stRDV.stCompteRendu.nIdInter = tbaCompteRendu[saCle].nIN_PKID
|
||
xt.stRDV.stCompteRendu.saSignataire = tbaCompteRendu[saCle].saNomSignataire
|
||
xt.stRDV.stCompteRendu.saGuidRDV = sd.PL_GUID
|
||
xt.stRDV.stCompteRendu.nIdCollab = tbaCompteRendu[saCle].nPL_IDCollaborateur
|
||
xt.stRDV.stCompteRendu.nIdUser = tbaCompteRendu[saCle].nCR_CreationUser
|
||
xt.stRDV.stCompteRendu.bufImgSignature = "coucou"
|
||
SINON
|
||
xt.stRDV.stCompteRendu.saGuidCR = ""
|
||
xt.stRDV.stCompteRendu.saDebut = ""
|
||
xt.stRDV.stCompteRendu.saFin = ""
|
||
xt.stRDV.stCompteRendu.saNoteCollab = ""
|
||
xt.stRDV.stCompteRendu.saNoteClient = ""
|
||
xt.stRDV.stCompteRendu.saDateSignature = ""
|
||
xt.stRDV.stCompteRendu.nIdInter = sd.IN_PKID
|
||
xt.stRDV.stCompteRendu.saSignataire = ""
|
||
xt.stRDV.stCompteRendu.saGuidRDV = sd.PL_GUID
|
||
xt.stRDV.stCompteRendu.nIdCollab = sd.PL_IDCollaborateur
|
||
xt.stRDV.stCompteRendu.nIdUser = ""
|
||
xt.stRDV.stCompteRendu.bufImgSignature = ""
|
||
FIN
|
||
FIN
|
||
//Sous ensemble Intervention
|
||
xt.stINTER.nDos_IDCli = sd.DO_IDClient
|
||
xt.stINTER.saDos_Type = DonneLibParametre(sd.DO_IDTypeDossier)
|
||
xt.stINTER.saDos_Tit = sd.DO_Titre
|
||
xt.stINTER.saDos_Etat = DonneLibParametre(sd.DO_IDStatut)
|
||
xt.stINTER.saDos_RfI = sd.DO_RefInterne
|
||
xt.stINTER.saDos_RfE = sd.DO_RefExterne
|
||
xt.stINTER.saCli_Nom = sd.CL_Nom
|
||
xt.stINTER.saCli_Tel = sd.CL_Tel
|
||
xt.stINTER.saCli_Fax = sd.CL_Fax
|
||
xt.stINTER.stCli_Ad.nID = sd.AdClient_PKID
|
||
xt.stINTER.stCli_Ad.saEtiq = sd.AdClient_Etiquette
|
||
xt.stINTER.stCli_Ad.saLig = sd.AdClient_Ligne_1 + [RC] +sd.AdClient_Ligne_2 + [RC]
|
||
+sd.AdClient_Ligne_3 + [RC] +sd.AdClient_Ligne_4+ [RC] +sd.AdClient_Ligne_5
|
||
xt.stINTER.stCli_Ad.saCP = sd.AdClient_CodePostal
|
||
xt.stINTER.stCli_Ad.saVil = sd.AdClient_Ville
|
||
xt.stINTER.nInt_PKID = sd.IN_PKID
|
||
xt.stINTER.saInt_Typ = DonneLibParametre(sd.IN_IDTypeIntervention)
|
||
xt.stINTER.saInt_Etat = DonneLibParametre(sd.IN_IDEtatIntervention)
|
||
xt.stINTER.nInt_IDSuiv = sd.IN_IDSuiviPar
|
||
xt.stINTER.saNomSuiviPar = sd.NomSuiviPar
|
||
xt.stINTER.saPrenomSuiviPar = sd.PrenomSuiviPar
|
||
xt.stINTER.saTelSuiviPar = sd.TelMobSuiviPar
|
||
xt.stINTER.nInt_IDDos = sd.IN_IDDossier
|
||
xt.stINTER.nInt_IDCli = sd.IN_IDClient
|
||
xt.stINTER.nInt_IDLieu = sd.IN_IDLieu
|
||
xt.stINTER.nInt_IDSociete = sd.IN_IDSociete
|
||
xt.stINTER.saSoc_Nom = sd.SO_Nom
|
||
xt.stINTER.saInt_Descrip = RTFVersTexte(sd.IN_Description)
|
||
xt.stINTER.bInt_AtTVA = sd.IN_AttestationTVAPresente
|
||
xt.stINTER.saInt_Note = sd.IN_NoteInterne
|
||
12/08/2026 Batik_WS_Com_Mob 152
|
||
|
||
Partie 4 › Collection de procédures › LIB_Traitements › Code
|
||
xt.stINTER.saInt_Tit = sd.IN_Titre
|
||
xt.stINTER.saInt_RfI = sd.IN_RefInterne
|
||
xt.stINTER.saInt_RfE = sd.IN_RefExterne
|
||
xt.stINTER.saInt_NumDevis = sd.IN_NumDevis
|
||
xt.stINTER.saInt_DateDevis = DateVersChaîne(sd.IN_DateDevis,"JJ/MM/AA")
|
||
xt.stINTER.nLieu_PKID = sd.LI_PKID
|
||
xt.stINTER.saLieu_CodeLieu = sd.LI_CodeLieu
|
||
xt.stINTER.nLieu_IDAdresse = sd.LI_IDAdresse
|
||
xt.stINTER.saLieu_Type = DonneLibParametre(sd.LI_IDType)
|
||
xt.stINTER.saLieu_CodeAcces = sd.LI_CodeAcces
|
||
xt.stINTER.bLieu_Badge = sd.LI_Badge
|
||
xt.stINTER.bLieu_Interphone = sd.LI_Interphone
|
||
xt.stINTER.saLieu_Note = sd.LI_Note
|
||
xt.stINTER.stLieu_Ad.nID = sd.AdLieu_PKID
|
||
xt.stINTER.stLieu_Ad.saEtiq = sd.AdLieu_Etiquette
|
||
xt.stINTER.stLieu_Ad.saLig = sd.AdLieu_Ligne_1 + [RC] + sd.AdLieu_Ligne_2 + [
|
||
RC] + sd.AdLieu_Ligne_3 + [RC] + sd.AdLieu_Ligne_4 + [RC] + sd.AdLieu_Ligne_5
|
||
xt.stINTER.stLieu_Ad.saCP = sd.AdLieu_CodePostal
|
||
xt.stINTER.stLieu_Ad.saVil = sd.AdLieu_Ville
|
||
nNbInter = TableauAjoute(tblRDV,xt)
|
||
SI bAvecRDV ALORS
|
||
tbaIdRDV[sd.PL_PKID]=nNbInter
|
||
FIN
|
||
tbaIdInter[sd.IN_PKID]=nNbInter
|
||
//Tableau d'indice permettant de retrouver l'intervention dans tblINTER par son PKID
|
||
FIN
|
||
SI nNbInter>0 ET bAvecRDV ALORS
|
||
//Construction de la liste des Contacts RDV
|
||
saRQ2 est une chaîne ANSI=[
|
||
SELECT
|
||
Planning_RDV_Personne.PRP_PKID AS PRP_PKID,
|
||
Planning_RDV_Personne.PRP_IDRdv AS PRP_IDRdv,
|
||
Personne.PE_IDCivilite AS PE_IDCivilite,
|
||
Personne.PE_Nom AS PE_Nom,
|
||
Personne.PE_Prenom AS PE_Prenom,
|
||
Personne.PE_Email AS PE_Email,
|
||
Personne.PE_TelFixe AS PE_TelFixe,
|
||
Personne.PE_TelMobile AS PE_TelMobile,
|
||
Personne.PE_IDRole,
|
||
Personne.PE_Note AS PE_Note,
|
||
Intervention_Personne.IP_IDPersonne AS IP_IDPersonne,
|
||
Intervention_Personne.IP_IDIntervention AS IP_IDIntervention,
|
||
Intervention_Personne.IP_IDLieu AS IP_IDLieu,
|
||
Intervention_Personne.IP_IDClient AS IP_IDClient,
|
||
Intervention_Personne.IP_Etage AS IP_Etage,
|
||
Intervention_Personne.IP_Lot AS IP_Lot,
|
||
Lieu_Personne.LIP_Etage AS LIP_Etage,
|
||
Lieu_Personne.LIP_Lot AS LIP_Lot,
|
||
Lieu_Personne.LIP_EtiquetteAdresse AS LIP_EtiquetteAdresse
|
||
FROM
|
||
Planning_RDV_Personne INNER JOIN Personne ON (Personne.PE_PKID =
|
||
Planning_RDV_Personne.PRP_IDPersonne)
|
||
INNER JOIN Planning_RDV ON (Planning_RDV.PL_PKID=Planning_RDV_Personne.PRP_IDRdv)
|
||
INNER JOIN Intervention_Personne ON (Intervention_Personne.IP_IDPersonne=Personne.PE_PKID
|
||
AND Intervention_Personne.IP_IDIntervention=Planning_RDV.PL_IDIntervention)
|
||
INNER JOIN Lieu_Personne ON
|
||
(Lieu_Personne.LIP_IDPersonne=Intervention_Personne.IP_IDPersonne AND
|
||
Lieu_Personne.LIP_IDLieu=Intervention_Personne.IP_IDLieu)
|
||
12/08/2026 Batik_WS_Com_Mob 153
|
||
|
||
Partie 4 › Collection de procédures › LIB_Traitements › Code
|
||
WHERE Planning_RDV_Personne.PRP_IDRdv IN ({pListeIdRdv})
|
||
]
|
||
saRQ2=Remplace(saRQ2,"{pListeIdRdv}",saLstIdRDV)
|
||
TraceRequete(saRQ2)
|
||
sdCnt est une Source de Données
|
||
SI PAS HExécuteRequêteSQL(sdCnt,gcnxReplica,hRequêteDéfaut,saRQ2) ALORS
|
||
sRes="E"+HErreurInfo(errComplet)
|
||
TraceERREUR("ConstruitTableauInterventions : " + sRes)
|
||
RENVOYER sRes
|
||
FIN
|
||
POUR TOUT sdCnt
|
||
stContact est un ST_RDV_CONTACT
|
||
| | stContact.nIdRdvCnt | = sdCnt.PRP_PKID | | |
|
||
| --- | ------------------------------------------------------------- | -------------------- | --- | --- |
|
||
| | //stContact.nId | =sdCnt.IP_IDPersonne | | |
|
||
| | stContact.saCivilite = DonneLibParametre(sdCnt.PE_IDCivilite) | | | |
|
||
| | stContact.saNom | = sdCnt.PE_Nom | | |
|
||
| | stContact.saPrenom | = sdCnt.PE_Prenom | | |
|
||
| | stContact.saEmail = sdCnt.PE_Email | | | |
|
||
| | stContact.saRole = DonneLibParametre(sdCnt.PE_IDRole) | | | |
|
||
stContact.saEtage = sdCnt.IP_Etage<>"" ? sdCnt.IP_Etage SINON sdCnt.LIP_Etage
|
||
stContact.saLot = sdCnt.IP_Lot<>"" ? sdCnt.IP_Lot SINON sdCnt.LIP_Lot
|
||
stContact.saEtiquette= sdCnt.LIP_EtiquetteAdresse
|
||
| | stContact.saNote = sdCnt.PE_Note | | | |
|
||
| --- | -------------------------------- | --- | --- | --- |
|
||
stContact.bDonneurOrdre = sdCnt.IP_IDClient<>0 _ET_ sdCnt.IP_IDlieu=0
|
||
//Ajout des téléphones dans un tableau (structure prête pour le multitéléphone)
|
||
stTel est un ST_TELEPHONE
|
||
SI sdCnt.PE_TelFixe<>"" ALORS
|
||
| | stTel.saTelNum | = sdCnt.PE_TelFixe | | |
|
||
| --- | -------------- | ------------------- | --- | --- |
|
||
| | stTel.saTelLib | = "Tél 1" | | |
|
||
stContact.tbLTEL.Ajoute(stTel)
|
||
FIN
|
||
SI sdCnt.PE_TelMobile<>"" ALORS
|
||
| | stTel.saTelNum | = sdCnt.PE_TelMobile | | |
|
||
| --- | -------------- | --------------------- | --- | --- |
|
||
| | stTel.saTelLib | = "Tél 2" | | |
|
||
stContact.tbLTEL.Ajoute(stTel)
|
||
FIN
|
||
n=tbaIdRDV[sdCnt.PRP_IDRdv]
|
||
tblRDV[n].stRDV.tblContact.Ajoute(stContact)
|
||
FIN
|
||
//Construction de la liste des Contacts Intervention/Lieu
|
||
FIN
|
||
SI nNbInter>0 ALORS
|
||
sdPers est une Source de Données
|
||
| saRQ3 | est une chaîne ANSI | = [ | | |
|
||
| ----- | ------------------- | --- | --- | --- |
|
||
SELECT
|
||
Intervention_Personne.IP_Etage AS IP_Etage,
|
||
Intervention_Personne.IP_Lot AS IP_Lot,
|
||
Intervention_Personne.IP_IDPersonne AS IP_IDPersonne,
|
||
Intervention_Personne.IP_EstDemandeur AS IP_EstDemandeur,
|
||
Personne.PE_IDCivilite AS PE_IDCivilite,
|
||
Personne.PE_Nom AS PE_Nom,
|
||
Personne.PE_Prenom AS PE_Prenom,
|
||
Personne.PE_TelFixe AS PE_TelFixe,
|
||
Personne.PE_TelMobile AS PE_TelMobile,
|
||
Personne.PE_IDRole AS PE_IDRole,
|
||
Personne.PE_Note AS PE_Note,
|
||
Intervention_Personne.IP_IDIntervention AS IP_IDIntervention,
|
||
Intervention_Personne.IP_IDLieu AS IP_IDLieu,
|
||
Intervention_Personne.IP_IDClient AS IP_IDClient,
|
||
Lieu_Personne.LIP_Etage AS LIP_Etage,
|
||
| 12/08/2026 | | Batik_WS_Com_Mob | | 154 |
|
||
| ---------- | --- | ---------------- | --- | --- |
|
||
|
||
Partie 4 › Collection de procédures › LIB_Traitements › Code
|
||
Lieu_Personne.LIP_Lot AS LIP_Lot,
|
||
Lieu_Personne.LIP_EtiquetteAdresse AS LIP_EtiquetteAdresse
|
||
FROM Intervention_Personne INNER JOIN Personne ON (Personne.PE_PKID =
|
||
Intervention_Personne.IP_IDPersonne)
|
||
LEFT OUTER JOIN Lieu_Personne ON (Lieu_Personne.LIP_IDLieu=Intervention_Personne.IP_IDLieu
|
||
AND Lieu_Personne.LIP_IDPersonne=Intervention_Personne.IP_IDPersonne)
|
||
WHERE Intervention_Personne.IP_IDIntervention IN ({Liste_IDIntervention})
|
||
ORDER BY
|
||
IP_IDIntervention ASC
|
||
]
|
||
saRQ3=Remplace(saRQ3,"{Liste_IDIntervention}",saLstIdInter)
|
||
TraceRequete(saRQ3)
|
||
SI PAS HExécuteRequêteSQL(sdPers,gcnxReplica,hRequêteDéfaut,saRQ3) ALORS
|
||
sRes="E"+HErreurInfo(errComplet)
|
||
TraceERREUR("ConstruitTableauInterventions : " + sRes)
|
||
RENVOYER sRes
|
||
FIN
|
||
stPer est un ST_PERSONNE_LIEU
|
||
POUR TOUT sdPers
|
||
stPer.nID = sdPers.IP_IDPersonne
|
||
stPer.saNom = sdPers.PE_Nom
|
||
stPer.saPren = sdPers.PE_Prenom
|
||
stPer.saTFix = sdPers.PE_TelFixe
|
||
stPer.saTMob = sdPers.PE_TelMobile
|
||
stPer.saRole = DonneLibParametre(sdPers.PE_IDRole)
|
||
stPer.saEtage = sdPers.IP_Etage<>"" ? sdPers.IP_Etage SINON sdPers.LIP_Etage
|
||
//sdPers.IP_Etage
|
||
stPer.saLot = sdPers.IP_Lot<>"" ? sdPers.IP_Lot SINON sdPers.LIP_Lot
|
||
//sdPers.IP_Lot
|
||
stPer.saEtiquette = sdPers.LIP_EtiquetteAdresse
|
||
stPer.saNote = sdPers.PE_Note
|
||
stPer.bDemand = sdPers.IP_EstDemandeur
|
||
stPer.bDonneurOrdre = sdPers.IP_IDClient<>0 _ET_ sdPers.IP_IDlieu=0
|
||
n = tbaIdInter[sdPers.IP_IDIntervention]
|
||
tblRDV[n].stINTER.tblPerLieu.Ajoute(stPer)
|
||
FIN
|
||
//Ordonne le tableau pour avoir les demandeurs en premier
|
||
SI n>0 ALORS
|
||
TableauTrie(tblRDV[n].stINTER.tblPerLieu,ttMembre,"-bDemand;saRole;saNom")
|
||
FIN
|
||
//Ajout du tableau des Notes Internes
|
||
sdNote est une Source de Données
|
||
saRQ4 est une chaîne ANSI = [
|
||
SELECT MI_Message,MessageInterne.CreationDate,UT_Nom , UT_Prenom
|
||
,MI_IDTypeMessage,MI_IDIntervention,MessageInterne.GUID as MI_GUID
|
||
,MessageInterne.CreationUser
|
||
FROM MessageInterne INNER JOIN Utilisateur ON
|
||
MessageInterne.CreationUser=Utilisateur.UT_PKID
|
||
WHERE MI_IDIntervention IN ({Liste_IDIntervention}) AND MessageInterne.MI_IDTypeMessage <
|
||
10
|
||
ORDER BY MessageInterne.CreationDate DESC
|
||
]
|
||
12/08/2026 Batik_WS_Com_Mob 155
|
||
|
||
Partie 4 › Collection de procédures › LIB_Traitements › Code
|
||
saRQ4=Remplace(saRQ4,"{Liste_IDIntervention}",saLstIdInter)
|
||
TraceRequete(saRQ4)
|
||
SI PAS HExécuteRequêteSQL(sdNote,gcnxReplica,hRequêteDéfaut,saRQ4) ALORS
|
||
TraceERREUR("Erreur lecture des Notes Internes " + HErreurInfo(hErrComplet))
|
||
SINON
|
||
stN est un ST_NOTE
|
||
POUR TOUT sdNote
|
||
stN.nIdInter = sdNote.MI_IDIntervention
|
||
stN.saNote = sdNote.MI_Message
|
||
stN.saAuteur = sdNote.UT_Prenom + [" "] + sdNote.UT_Nom
|
||
stN.saDate = sdNote.CreationDate
|
||
stN.saGuid = sdNote.MI_GUID
|
||
//stN.nIdAuteur =sdNote.CreationUser
|
||
stN.nIdUsr = sdNote.CreationUser
|
||
//stN.saType =sdNote.MI_IDTypeMessage //toujours à 0
|
||
n = tbaIdInter[stN.nIdInter]
|
||
tblRDV[n].stINTER.tblNote.Ajoute(stN)
|
||
FIN
|
||
FIN
|
||
// //Tableau des Temps passés
|
||
// sdTps est une source de données
|
||
// saRQ=[
|
||
//
|
||
SELECT
|
||
SDT_PKID,SDT_IDIntervention,SDT_IDCollaborateur,SDT_DateDebut,SDT_DateHeureFin,SDT_Ponderation,
|
||
SDT_NbMinutes,SDT_IDTypeTemps,SDT_Libelle,SDT_IDPartenaire
|
||
// FROM SUIVIDESTEMPS
|
||
// WHERE SDT_IDIntervention IN ({Liste_IDIntervention})
|
||
// ]
|
||
// saRQ=Remplace(saRQ,"{Liste_IDIntervention}",saLstIdInter)
|
||
// SI PAS HExécuteRequêteSQL(sdTps,gcnxReplica,hRequêteDéfaut,saRQ) ALORS
|
||
// TraceINFO("Erreur lecture des Temps " + HErreurInfo(hErrComplet))
|
||
// SINON
|
||
// stTps est un ST_TEMPS
|
||
// POUR TOUT sdTps
|
||
// stTps:nIdInter = sdTps.SDT_IDIntervention
|
||
// stTps:nIdTps = sdTps.SDT_PKID
|
||
// stTps:nIdCollab = sdTps.SDT_IDCollaborateur
|
||
// stTps:saNumInter = sdTps.sdt
|
||
// stTps:saHeureDebut = sdTps.SDT_DateDebut
|
||
// stTps:saHeureFin = sdTps.SDT_DateHeureFin
|
||
// stTps:nPond100 = sdTps.SDT_Ponderation*100
|
||
// stTps:nNbMinutes = sdTps.SDT_NbMinutes
|
||
// stTps:nIdTypeTps = sdTps.SDT_IDTypeTemps
|
||
// stTps:saLibelle = sdTps.SDT_Libelle
|
||
//
|
||
// n=tbaIndice[stTps.nIdInter]
|
||
// tblRDV[n].stINTER.tblNote.Ajoute(stTps)
|
||
// FIN
|
||
// FIN
|
||
FIN
|
||
TraceINFO("Nb d'interventions : " + nNbInter)
|
||
bufRes_2 est un Buffer
|
||
Sérialise(tblRDV,bufRes_2,psdJSON)
|
||
TraceINFO("tblRDV =" + bufRes_2)
|
||
RENVOYER "" //Pas d'erreur
|
||
12/08/2026 Batik_WS_Com_Mob 156
|
||
|
||
Partie 4 › Collection de procédures › LIB_Traitements › Code
|
||
FAIRE
|
||
sRes=ExceptionInfo(errComplet)
|
||
TraceERREUR("ConstruitTableauInterventions : " + sRes)
|
||
RENVOYER "E"+sRes
|
||
FIN
|
||
Procédure globale ConstruitTableauInterventions_V2
|
||
PROCÉDURE ConstruitTableauInterventions_V2(saRQ est une chaîne ANSI,saRqCR est une chaîne ANSI ,
|
||
bAvecRDV est un booléen,bAvecCR est un booléen,tbLRDV est un tableau de ST_RDV_INTER_V2)
|
||
QUAND EXCEPTION DANS
|
||
nNbInter est un entier
|
||
sRes est une chaîne ANSI
|
||
saLstIdInter est une chaîne ANSI
|
||
saLstIdRDV est une chaîne ANSI
|
||
n est un entier
|
||
tbaCompteRendu est un tableau associatif de STCompteRenduRqListe_V2
|
||
saCle est une chaîne ANSI
|
||
sdSDCR est une Source de Données
|
||
SI saRqCR <> "" ALORS
|
||
TraceRequete(saRqCR)
|
||
SI PAS HExécuteRequêteSQL(sdSDCR,gcnxReplica,hRequêteDéfaut,saRqCR) ALORS
|
||
sRes="E"+HErreurInfo(errComplet)
|
||
TraceERREUR("ConstruitTableauInterventionsAvecCopmteRendu : " + sRes)
|
||
RENVOYER sRes
|
||
FIN
|
||
POUR TOUT sdSDCR
|
||
stCpR est une STCompteRenduRqListe_V2
|
||
stCpR.saCR_GUID = sdSDCR.CR_GUID
|
||
stCpR.saDateHeureDebut = sdSDCR.CR_DateHeureDebut
|
||
stCpR.saDateHeureFin = sdSDCR.CR_DateHeureFin
|
||
stCpR.saNoteCollaborateur = sdSDCR.CR_NoteCollaborateur
|
||
stCpR.saNoteSignataire = sdSDCR.CR_NoteSignataire
|
||
stCpR.saDateHeureSignature = sdSDCR.CR_DateHeureSignature
|
||
stCpR.nIN_PKID = sdSDCR.CR_IDIntervention
|
||
stCpR.saNomSignataire = sdSDCR.CR_NomSignataire
|
||
stCpR.saPL_GUID = sdSDCR.CR_GUID_Rdv
|
||
stCpR.nPL_IDCollaborateur = sdSDCR.CR_IDCollaborateur
|
||
stCpR.nCR_CreationUser = sdSDCR.CR_CreationUser
|
||
SI sdSDCR.CR_Signature <> "" ALORS
|
||
stCpR.bCR_Signature = Vrai
|
||
SINON
|
||
stCpR.bCR_Signature = Faux
|
||
FIN
|
||
SI sdSDCR.CR_SignatureTech <> "" ALORS
|
||
stCpR.bCR_SignatureTech = Vrai
|
||
SINON
|
||
stCpR.bCR_SignatureTech = Faux
|
||
FIN
|
||
stCpR.nRDV_PKID = sdSDCR.CR_IDRdv
|
||
//stCpR.nIdGroupe = sdSDCR.PL_IDGroupe
|
||
stCpR.nIDTypeSignataire = DonneIdParametre(sdSDCR.CR_CleTypeSignataire)
|
||
stCpR.saReserveCommentaire = sdSDCR.CR_ReserveCommentaire
|
||
SI sdSDCR.CR_NomSignataireTech <> "" ALORS
|
||
12/08/2026 Batik_WS_Com_Mob 157
|
||
|
||
Partie 4 › Collection de procédures › LIB_Traitements › Code
|
||
| | stCpR.saNomCollaborateur | = sdSDCR.CR_NomSignataireTech | | |
|
||
| --- | ------------------------ | ----------------------------- | --- | --- |
|
||
SINON
|
||
| | stCpR.saNomCollaborateur | = sdSDCR.CO_Nom +" "+sdSDCR.CO_Prenom | | |
|
||
| --- | ------------------------ | ------------------------------------- | --- | --- |
|
||
FIN
|
||
tbaCompteRendu[stCpR.saPL_GUID] = stCpR
|
||
FIN
|
||
FIN
|
||
sd est une Source de Données
|
||
TraceRequete(saRQ)
|
||
SI PAS HExécuteRequêteSQL(sd,gcnxReplica,hRequêteDéfaut,saRQ) ALORS
|
||
sRes="E"+HErreurInfo(errComplet)
|
||
sRes += saRQ
|
||
TraceERREUR("ConstruitTableauInterventions : " + sRes)
|
||
RENVOYER sRes
|
||
FIN
|
||
POUR TOUT sd
|
||
xt est un ST_RDV_INTER_V2
|
||
saLstIdInter+= [","] + sd.IN_PKID
|
||
SI bAvecRDV ALORS
|
||
saLstIdRDV += [","] +"'"+sd.RVC_GUID_RDV+"'"
|
||
| | xt.stRDV.nPKID | = sd.RVC_PKID | | |
|
||
| --- | ------------------------ | --------------------------------- | ---- | --- |
|
||
| | xt.stRDV.saGUID | = sd.GUID_RDV_COLB | | |
|
||
| | xt.stRDV.saGUID_RDV | = sd.RVC_GUID_RDV | | |
|
||
| | xt.stRDV.nIDIntervention | = sd.RV_IdInter | | |
|
||
| | xt.stRDV.nIDTypeActivite | = DonneIdParametre(sd.RV_CleType) | | |
|
||
| | xt.stRDV.saObjet | = sd.RV_Objet | | |
|
||
xt.stRDV.saDescription = sd.RV_Description//RTFVersTexte(sd.PL_Description )
|
||
| | xt.stRDV.saDateDebut | = sd.RVC_DateDeb | | |
|
||
| --- | -------------------- | ------------------------------------ | ---- | --- |
|
||
| | xt.stRDV.saDateFin | = sd.RVC_DateFin | | |
|
||
| | xt.stRDV.nIDStatut | = DonneIdParametre(sd.RVC_CleStatut) | | |
|
||
| | xt.stRDV.nIDLieu | = sd.RV_IdLieu | | |
|
||
| | xt.stRDV.bGrouper | = sd.RV_Groupe | | |
|
||
SI sd.RV_Groupe ALORS
|
||
| | xt.stRDV.nIDGroupe | = sd.RV_PKID | | |
|
||
| --- | ------------------ | ------------ | --- | --- |
|
||
SINON
|
||
| | xt.stRDV.nIDGroupe | = 0 | | |
|
||
| --- | ------------------ | --- | --- | --- |
|
||
FIN
|
||
| | xt.stRDV.nIDDossier | = sd.RV_IdDossier | | |
|
||
| --- | ----------------------- | ------------------------------------- | --- | --- |
|
||
| | xt.stRDV.bPrive | = Faux | | |
|
||
| | xt.stRDV.bCR | = sd.RVC_CR | | |
|
||
| | xt.stRDV.bSAV | = sd.RV_SAV | | |
|
||
| | xt.stRDV.bSuperposable | = sd.RVC_Superposable | | |
|
||
| | xt.stRDV.nIDEquipe | = 0 | | |
|
||
| | xt.stRDV.nIDSociete | = sd.RV_IdSociete | | |
|
||
| | xt.stRDV.saStatut | = DonneLibParametre(sd.RVC_CleStatut) | | |
|
||
| | xt.saRDV_TypAct | = DonneLibParametre(sd.RV_CleType) | | |
|
||
| | xt.saRDV_Statut | = DonneLibParametre(sd.RV_CleStatut) | | |
|
||
| | xt.saRDV_Lieu | = sd.LI_CodeLieu | | |
|
||
| | //xt.stRDV.saNoteCollab | = sd.PL_NoteCollab | | |
|
||
xt.stRDV.nIDCollaborateur = Val(DonneGuidIdColb(sd.RVC_GUID_Colb))
|
||
| 12/08/2026 | | Batik_WS_Com_Mob | | 158 |
|
||
| ---------- | --- | ---------------- | --- | --- |
|
||
|
||
Partie 4 › Collection de procédures › LIB_Traitements › Code
|
||
saCle = sd.RVC_GUID_RDV
|
||
FIN
|
||
SI bAvecCR ALORS
|
||
SI PAS bAvecRDV ALORS
|
||
POUR TOUT stUncr, saVcle de tbaCompteRendu
|
||
SI stUncr.nIN_PKID = sd.IN_PKID ALORS
|
||
saCle = saVcle
|
||
FIN
|
||
FIN
|
||
FIN
|
||
SI tbaCompteRendu[saCle]..Existe ALORS
|
||
xt.stRDV.stCompteRendu.saGuidCR = tbaCompteRendu[saCle].saCR_GUID
|
||
xt.stRDV.stCompteRendu.saDebut = tbaCompteRendu[saCle].saDateHeureDebut
|
||
xt.stRDV.stCompteRendu.saFin = tbaCompteRendu[saCle].saDateHeureFin
|
||
xt.stRDV.stCompteRendu.saNoteCollab = tbaCompteRendu[saCle].
|
||
saNoteCollaborateur
|
||
xt.stRDV.stCompteRendu.saNoteClient = tbaCompteRendu[saCle].
|
||
saNoteSignataire
|
||
xt.stRDV.stCompteRendu.saDateSignature = tbaCompteRendu[saCle].
|
||
saDateHeureSignature
|
||
xt.stRDV.stCompteRendu.nIdInter = tbaCompteRendu[saCle].nIN_PKID
|
||
xt.stRDV.stCompteRendu.saSignataire = tbaCompteRendu[saCle].
|
||
saNomSignataire
|
||
xt.stRDV.stCompteRendu.saNomCollaborateur = tbaCompteRendu[saCle].saNomCollaborateur
|
||
xt.stRDV.stCompteRendu.saReserveCommentaire= tbaCompteRendu[saCle].
|
||
saReserveCommentaire
|
||
xt.stRDV.stCompteRendu.saGuidRDV = tbaCompteRendu[saCle].saPL_GUID
|
||
xt.stRDV.stCompteRendu.nIdCollab = tbaCompteRendu[saCle].nPL_IDCollaborateur
|
||
xt.stRDV.stCompteRendu.nIdUser = tbaCompteRendu[saCle].nCR_CreationUser
|
||
xt.stRDV.stCompteRendu.bImgSignature = tbaCompteRendu[saCle].bCR_Signature
|
||
xt.stRDV.stCompteRendu.bImgSignatureTech = tbaCompteRendu[saCle].bCR_SignatureTech
|
||
xt.stRDV.stCompteRendu.nIDTypeSignataire = tbaCompteRendu[saCle].nIDTypeSignataire
|
||
xt.stRDV.stCompteRendu.nIdGroupeRDV = tbaCompteRendu[saCle].nIdGroupe
|
||
SINON
|
||
xt.stRDV.stCompteRendu.saGuidCR = ""
|
||
xt.stRDV.stCompteRendu.saDebut = ""
|
||
xt.stRDV.stCompteRendu.saFin = ""
|
||
xt.stRDV.stCompteRendu.saNoteCollab = ""
|
||
xt.stRDV.stCompteRendu.saNoteClient = ""
|
||
xt.stRDV.stCompteRendu.saReserveCommentaire= ""
|
||
xt.stRDV.stCompteRendu.saDateSignature = ""
|
||
xt.stRDV.stCompteRendu.nIdInter = 0
|
||
xt.stRDV.stCompteRendu.saSignataire = ""
|
||
xt.stRDV.stCompteRendu.saNomCollaborateur = ""
|
||
xt.stRDV.stCompteRendu.saGuidRDV = ""
|
||
xt.stRDV.stCompteRendu.nIdCollab = 0
|
||
xt.stRDV.stCompteRendu.nIdUser = ""
|
||
xt.stRDV.stCompteRendu.bImgSignature = Faux
|
||
xt.stRDV.stCompteRendu.bImgSignatureTech = Faux
|
||
xt.stRDV.stCompteRendu.nIDTypeSignataire = 0
|
||
xt.stRDV.stCompteRendu.nIdGroupeRDV = 0
|
||
FIN
|
||
FIN
|
||
12/08/2026 Batik_WS_Com_Mob 159
|
||
|
||
Partie 4 › Collection de procédures › LIB_Traitements › Code
|
||
//Sous ensemble Intervention
|
||
xt.stINTER.nDos_IDCli = sd.DO_IDClient
|
||
xt.stINTER.saDos_Type = DonneIdParametre(sd.DO_CleType)
|
||
xt.stINTER.saDos_Tit = sd.DO_Titre
|
||
xt.stINTER.saDos_Etat = DonneIdParametre(sd.DO_CleStatut)
|
||
xt.stINTER.saDos_RfI = sd.DO_RefInterne
|
||
xt.stINTER.saDos_RfE = sd.DO_RefExterne
|
||
xt.stINTER.saCli_Nom = sd.CL_Nom
|
||
xt.stINTER.saCli_Tel = sd.CL_Tel
|
||
xt.stINTER.saCli_Fax = sd.CL_Fax
|
||
xt.stINTER.saCli_Email = sd.CL_Email
|
||
xt.stINTER.stCli_Ad.nID = sd.AdClient_PKID
|
||
xt.stINTER.stCli_Ad.saEtiq = sd.AdClient_Etiquette
|
||
xt.stINTER.stCli_Ad.saLig = sd.AdClient_Adresse
|
||
xt.stINTER.stCli_Ad.saCP = sd.AdClient_CodePostal
|
||
xt.stINTER.stCli_Ad.saVil = sd.AdClient_Ville
|
||
xt.stINTER.nInt_PKID = sd.IN_PKID
|
||
xt.stINTER.saInt_Typ = DonneIdParametre(sd.IN_CleType)
|
||
xt.stINTER.saInt_Etat = DonneIdParametre(sd.IN_CleEtat)
|
||
xt.stINTER.nInt_IDSuiv = sd.IN_IDSuiviPar
|
||
xt.stINTER.saNomSuiviPar = sd.NomSuiviPar
|
||
xt.stINTER.saPrenomSuiviPar = sd.PrenomSuiviPar
|
||
xt.stINTER.saTelSuiviPar = sd.TelMobSuiviPar
|
||
xt.stINTER.saSuiviEmail = sd.SuiviEmail
|
||
xt.stINTER.nInt_IDDos = sd.IN_IDDossier
|
||
xt.stINTER.nInt_IDCli = sd.IN_IDClient
|
||
xt.stINTER.nInt_IDLieu = sd.IN_IDLieu
|
||
xt.stINTER.nInt_IDSociete = sd.IN_IDSociete
|
||
xt.stINTER.saSoc_Nom = sd.SO_Nom
|
||
xt.stINTER.saInt_Descrip = RTFVersTexte(sd.IN_Description)
|
||
xt.stINTER.bInt_AtTVA = sd.IN_AttestationTVAPresente
|
||
xt.stINTER.saInt_Note = sd.IN_NoteInterne
|
||
xt.stINTER.saInt_Tit = sd.IN_Titre
|
||
xt.stINTER.saInt_RfI = sd.IN_RefInterne
|
||
xt.stINTER.saInt_RfE = sd.IN_RefExterne
|
||
xt.stINTER.saInt_NumDevis = sd.IN_NumDevis
|
||
xt.stINTER.saInt_DateDevis = DateVersChaîne(sd.IN_DateDevis,"JJ/MM/AA")
|
||
xt.stINTER.nLieu_PKID = sd.LI_PKID
|
||
xt.stINTER.saLieu_CodeLieu = sd.LI_CodeLieu
|
||
xt.stINTER.nLieu_IDAdresse = sd.LI_IDAdresse
|
||
xt.stINTER.saLieu_Type = DonneIdParametre(sd.LI_CleType)
|
||
xt.stINTER.saLieu_CodeAcces = sd.LI_CodeAcces
|
||
xt.stINTER.bLieu_Badge = sd.LI_Badge
|
||
xt.stINTER.bLieu_Interphone = sd.LI_Interphone
|
||
xt.stINTER.saLieu_Note = sd.LI_Note
|
||
xt.stINTER.stLieu_Ad.nID = sd.AdLieu_PKID
|
||
xt.stINTER.stLieu_Ad.saEtiq = sd.AdLieu_Etiquette
|
||
xt.stINTER.stLieu_Ad.saLig = sd.AdLieu_Adresse
|
||
xt.stINTER.stLieu_Ad.saCP = sd.AdLieu_CodePostal
|
||
xt.stINTER.stLieu_Ad.saVil = sd.AdLieu_Ville
|
||
nNbInter = TableauAjoute(tbLRDV,xt)
|
||
FIN
|
||
SI nNbInter>0 ET bAvecRDV ALORS
|
||
//Construction de la liste des Contacts RDV
|
||
saRQ2 est une chaîne ANSI=[
|
||
SELECT
|
||
RVCT_PKID,
|
||
RVCT_GUID_Pers,
|
||
12/08/2026 Batik_WS_Com_Mob 160
|
||
|
||
Partie 4 › Collection de procédures › LIB_Traitements › Code
|
||
RVCT_GUID_RDV,
|
||
PE_PKID,
|
||
Personne.PE_CleCivilite,
|
||
Personne.PE_Nom AS PE_Nom,
|
||
Personne.PE_Prenom AS PE_Prenom,
|
||
Personne.PE_Email AS PE_Email,
|
||
Personne.PE_TelFixe AS PE_TelFixe,
|
||
Personne.PE_TelMobile AS PE_TelMobile,
|
||
Personne.PE_CleRole,
|
||
Personne.PE_Note AS PE_Note,
|
||
Intervention_Personne.IP_IDPersonne AS IP_IDPersonne,
|
||
Intervention_Personne.IP_IDIntervention AS IP_IDIntervention,
|
||
Intervention_Personne.IP_IDLieu AS IP_IDLieu,
|
||
Intervention_Personne.IP_IDClient AS IP_IDClient,
|
||
Intervention_Personne.IP_Etage AS IP_Etage,
|
||
Intervention_Personne.IP_Lot AS IP_Lot,
|
||
Lieu_Personne.LIP_Etage AS LIP_Etage,
|
||
Lieu_Personne.LIP_Lot AS LIP_Lot,
|
||
Lieu_Personne.LIP_EtiquetteAdresse AS LIP_EtiquetteAdresse
|
||
FROM
|
||
RDV_Contact INNER JOIN Personne ON (Personne.GUID = RDV_Contact.RVCT_GUID_Pers)
|
||
INNER JOIN Intervention_Personne ON (Intervention_Personne.IP_IDPersonne=Personne.PE_PKID
|
||
AND Intervention_Personne.IP_IDIntervention>0)
|
||
INNER JOIN Lieu_Personne ON
|
||
(Lieu_Personne.LIP_IDPersonne=Intervention_Personne.IP_IDPersonne AND
|
||
Lieu_Personne.LIP_IDLieu=Intervention_Personne.IP_IDLieu)
|
||
WHERE RDV_Contact.RVCT_GUID_RDV IN ({pListeIdRdv})
|
||
]
|
||
saRQ2=Remplace(saRQ2,"{pListeIdRdv}",saLstIdRDV)
|
||
TraceRequete(saRQ2)
|
||
sdCnt est une Source de Données
|
||
SI PAS HExécuteRequêteSQL(sdCnt,gcnxReplica,hRequêteDéfaut,saRQ2) ALORS
|
||
sRes="E"+HErreurInfo(errComplet)
|
||
TraceERREUR("ConstruitTableauInterventions : " + sRes)
|
||
RENVOYER sRes
|
||
FIN
|
||
POUR TOUT sdCnt
|
||
stContact est un ST_RDV_CONTACT
|
||
| | stContact.nIdRdvCnt | = sdCnt.RVCT_PKID | | |
|
||
| --- | ------------------------------------------------------------- | -------------------- | --- | --- |
|
||
| | //stContact.nId | =sdCnt.IP_IDPersonne | | |
|
||
| | stContact.saCivilite = DonneIdParametre(sdCnt.PE_CleCivilite) | | | |
|
||
| | stContact.saNom | = sdCnt.PE_Nom | | |
|
||
| | stContact.saPrenom | = sdCnt.PE_Prenom | | |
|
||
| | stContact.saEmail = sdCnt.PE_Email | | | |
|
||
| | stContact.saRole = DonneIdParametre(sdCnt.PE_CleRole) | | | |
|
||
stContact.saEtage = sdCnt.IP_Etage<>"" ? sdCnt.IP_Etage SINON sdCnt.LIP_Etage
|
||
stContact.saLot = sdCnt.IP_Lot<>"" ? sdCnt.IP_Lot SINON sdCnt.LIP_Lot
|
||
stContact.saEtiquette= sdCnt.LIP_EtiquetteAdresse
|
||
| | stContact.saNote = sdCnt.PE_Note | | | |
|
||
| --- | -------------------------------- | --- | --- | --- |
|
||
stContact.bDonneurOrdre = sdCnt.IP_IDClient<>0 _ET_ sdCnt.IP_IDlieu=0
|
||
//Ajout des téléphones dans un tableau (structure prête pour le multitéléphone)
|
||
stTel est un ST_TELEPHONE
|
||
SI sdCnt.PE_TelFixe<>"" ALORS
|
||
| | stTel.saTelNum | = sdCnt.PE_TelFixe | | |
|
||
| --- | -------------- | ------------------- | --- | --- |
|
||
| | stTel.saTelLib | = "Tél 1" | | |
|
||
stContact.tbLTEL.Ajoute(stTel)
|
||
FIN
|
||
SI sdCnt.PE_TelMobile<>"" ALORS
|
||
| | stTel.saTelNum | = sdCnt.PE_TelMobile | | |
|
||
| ---------- | -------------- | --------------------- | --- | --- |
|
||
| | stTel.saTelLib | = "Tél 2" | | |
|
||
| 12/08/2026 | | Batik_WS_Com_Mob | | 161 |
|
||
|
||
Partie 4 › Collection de procédures › LIB_Traitements › Code
|
||
stContact.tbLTEL.Ajoute(stTel)
|
||
FIN
|
||
ResIndice est un entier
|
||
ResIndice = TableauCherche(tbLRDV,tcLinéaire,"stRDV.saGUID_RDV",sdCnt.RVCT_GUID_RDV,
|
||
ResIndice)
|
||
TANTQUE ResIndice > 0
|
||
tbLRDV[ResIndice].stRDV.tblContact.Ajoute(stContact)
|
||
ResIndice += 1
|
||
ResIndice = TableauCherche(tbLRDV,tcLinéaire,"stRDV.saGUID_RDV",sdCnt.RVCT_GUID_RDV,
|
||
ResIndice)
|
||
FIN
|
||
FIN
|
||
//Construction de la liste des Contacts Intervention/Lieu
|
||
FIN
|
||
SI nNbInter>0 ALORS
|
||
sdPers est une Source de Données
|
||
saRQ3 est une chaîne ANSI = [
|
||
SELECT
|
||
Intervention_Personne.IP_Etage AS IP_Etage,
|
||
Intervention_Personne.IP_Lot AS IP_Lot,
|
||
Intervention_Personne.IP_IDPersonne AS IP_IDPersonne,
|
||
Intervention_Personne.IP_EstDemandeur AS IP_EstDemandeur,
|
||
Personne.PE_CleCivilite,
|
||
Personne.PE_Nom AS PE_Nom,
|
||
Personne.PE_Prenom AS PE_Prenom,
|
||
Personne.PE_TelFixe AS PE_TelFixe,
|
||
Personne.PE_TelMobile AS PE_TelMobile,
|
||
Personne.PE_CleRole,
|
||
Personne.PE_Note AS PE_Note,
|
||
Personne.PE_Email AS PE_Email,
|
||
Intervention_Personne.IP_IDIntervention AS IP_IDIntervention,
|
||
Intervention_Personne.IP_IDLieu AS IP_IDLieu,
|
||
Intervention_Personne.IP_IDClient AS IP_IDClient,
|
||
Lieu_Personne.LIP_Etage AS LIP_Etage,
|
||
Lieu_Personne.LIP_Lot AS LIP_Lot,
|
||
Lieu_Personne.LIP_EtiquetteAdresse AS LIP_EtiquetteAdresse
|
||
FROM Intervention_Personne
|
||
INNER JOIN Personne ON (Personne.PE_PKID = Intervention_Personne.IP_IDPersonne)
|
||
LEFT OUTER JOIN Lieu_Personne ON (Lieu_Personne.LIP_IDLieu=Intervention_Personne.IP_IDLieu
|
||
AND Lieu_Personne.LIP_IDPersonne=Intervention_Personne.IP_IDPersonne)
|
||
WHERE Intervention_Personne.IP_IDIntervention IN ({Liste_IDIntervention})
|
||
ORDER BY
|
||
IP_IDIntervention ASC
|
||
]
|
||
saRQ3=Remplace(saRQ3,"{Liste_IDIntervention}",saLstIdInter)
|
||
TraceRequete(saRQ3)
|
||
SI PAS HExécuteRequêteSQL(sdPers,gcnxReplica,hRequêteDéfaut,saRQ3) ALORS
|
||
sRes="E"+HErreurInfo(errComplet)
|
||
TraceERREUR("ConstruitTableauInterventions : " + sRes)
|
||
RENVOYER sRes
|
||
FIN
|
||
stPer est un ST_PERSONNE_LIEU
|
||
POUR TOUT sdPers
|
||
stPer.nID = sdPers.IP_IDPersonne
|
||
stPer.saNom = sdPers.PE_Nom
|
||
12/08/2026 Batik_WS_Com_Mob 162
|
||
|
||
Partie 4 › Collection de procédures › LIB_Traitements › Code
|
||
stPer.saPren = sdPers.PE_Prenom
|
||
stPer.saTFix = sdPers.PE_TelFixe
|
||
stPer.saTMob = sdPers.PE_TelMobile
|
||
stPer.saRole = DonneIdParametre(sdPers.PE_CleRole)
|
||
stPer.saEmail = sdPers.PE_Email
|
||
stPer.saEtage = sdPers.IP_Etage<>"" ? sdPers.IP_Etage SINON sdPers.LIP_Etage
|
||
//sdPers.IP_Etage
|
||
stPer.saLot = sdPers.IP_Lot<>"" ? sdPers.IP_Lot SINON sdPers.LIP_Lot
|
||
//sdPers.IP_Lot
|
||
stPer.saEtiquette = sdPers.LIP_EtiquetteAdresse
|
||
stPer.saNote = sdPers.PE_Note
|
||
stPer.bDemand = sdPers.IP_EstDemandeur
|
||
stPer.bDonneurOrdre = sdPers.IP_IDClient<>0 _ET_ sdPers.IP_IDlieu=0
|
||
ResIndice est un entier
|
||
ResIndice = TableauCherche(tbLRDV,tcLinéaire,"stINTER.nInt_PKID",sdPers.IP_IDIntervention)
|
||
TANTQUE ResIndice > 0
|
||
tbLRDV[ResIndice].stINTER.tblPerLieu.Ajoute(stPer)
|
||
TableauTrie(tbLRDV[ResIndice].stINTER.tblPerLieu,ttMembre,"-bDemand;saRole;saNom")
|
||
//Ordonne le tableau pour avoir les demandeurs en premier
|
||
ResIndice += 1
|
||
ResIndice = TableauCherche(tbLRDV,tcLinéaire,"stINTER.nInt_PKID",sdPers.
|
||
IP_IDIntervention,ResIndice)
|
||
FIN
|
||
FIN
|
||
//Ajout du tableau des Notes Internes
|
||
sdNote est une Source de Données
|
||
saRQ4 est une chaîne ANSI = [
|
||
SELECT MI_Message,MessageInterne.CreationDate,UT_Nom , UT_Prenom
|
||
,MI_IDTypeMessage,MI_IDIntervention,MessageInterne.GUID as MI_GUID
|
||
,MessageInterne.CreationUser
|
||
FROM MessageInterne INNER JOIN Utilisateur ON
|
||
MessageInterne.CreationUser=Utilisateur.UT_PKID
|
||
WHERE MI_IDIntervention IN ({Liste_IDIntervention}) AND MessageInterne.MI_IDTypeMessage <
|
||
10
|
||
ORDER BY MessageInterne.CreationDate DESC
|
||
]
|
||
saRQ4=Remplace(saRQ4,"{Liste_IDIntervention}",saLstIdInter)
|
||
TraceRequete(saRQ4)
|
||
SI PAS HExécuteRequêteSQL(sdNote,gcnxReplica,hRequêteDéfaut,saRQ4) ALORS
|
||
TraceERREUR("Erreur lecture des Notes Internes " + HErreurInfo(hErrComplet))
|
||
SINON
|
||
stN est un ST_NOTE
|
||
POUR TOUT sdNote
|
||
stN.nIdInter = sdNote.MI_IDIntervention
|
||
stN.saNote = sdNote.MI_Message
|
||
stN.saAuteur = sdNote.UT_Prenom + [" "] + sdNote.UT_Nom
|
||
stN.saDate = sdNote.CreationDate
|
||
stN.saGuid = sdNote.MI_GUID
|
||
stN.nIdUsr = sdNote.CreationUser
|
||
ResIndice est un entier
|
||
ResIndice = TableauCherche(tbLRDV,tcLinéaire,"stINTER.nInt_PKID",stN.nIdInter)
|
||
TANTQUE ResIndice > 0
|
||
tbLRDV[ResIndice].stINTER.tblNote.Ajoute(stN)
|
||
ResIndice += 1
|
||
ResIndice = TableauCherche(tbLRDV,tcLinéaire,"stINTER.nInt_PKID",stN.nIdInter,
|
||
ResIndice)
|
||
12/08/2026 Batik_WS_Com_Mob 163
|
||
|
||
Partie 4 › Collection de procédures › LIB_Traitements › Code
|
||
FIN
|
||
FIN
|
||
FIN
|
||
FIN
|
||
TraceINFO("Nb d'interventions : " + nNbInter)
|
||
bufRes est un Buffer
|
||
Sérialise(tbLRDV,bufRes,psdJSON)
|
||
TraceINFO("tblRDV =" + bufRes)
|
||
RENVOYER "" //Pas d'erreur
|
||
FAIRE
|
||
sRes=ExceptionInfo(errComplet)
|
||
TraceERREUR("ConstruitTableauInterventions : " + sRes)
|
||
RENVOYER "E"+sRes
|
||
FIN
|
||
Procédure globale ControleRdvAPlanifier
|
||
PROCÉDURE ControleRdvAPlanifier(stData est une ST_MOB_DATA)
|
||
sResultat est une chaîne=cErreur
|
||
ChronoDébut()
|
||
QUAND EXCEPTION DANS
|
||
stRdvTemp est un ST_RDV
|
||
Désérialise(stRdvTemp,stData.saJSON,psdJSON)
|
||
sdTps est une Source de Données
|
||
saRQ est une chaîne ANSI=[
|
||
SELECT 1 FROM RDV_Planning
|
||
INNER JOIN RDV_Collaborateur ON RDV_Collaborateur.RVC_GUID_RDV = RDV_Planning.GUID
|
||
WHERE RDV_Planning.RV_CleStatut={p_CleNonPlanifier}
|
||
AND RDV_Collaborateur.RVC_PKID={p_IDRdv}
|
||
]
|
||
saRQ=Remplace(saRQ,"{p_IDRdv}",stRdvTemp.nPKID)
|
||
saRQ=Remplace(saRQ,"{p_CleNonPlanifier}",cCle_RDVAPlanifier)
|
||
SI PAS HExécuteRequêteSQL(sdTps,gcnxReplica,hRequêteDéfaut,saRQ) ALORS
|
||
TraceDEBUG("Erreur ControleRdvAPlanifier " + HErreurInfo(hErrComplet))
|
||
SINON
|
||
//Le rendez-vous n'a été planifié par personne
|
||
SI HNbEnr(sdTps)>0 ALORS
|
||
stRdvTemp.nIDStatut = DonneIdParametre(cCle_RDVConfirme)
|
||
Sérialise(stRdvTemp,stData.saJSON,psdJSON)
|
||
sResultat="R"
|
||
SINON
|
||
sResultat=cErreur + cERR_RDV_PLANIFIER
|
||
FIN
|
||
FIN
|
||
12/08/2026 Batik_WS_Com_Mob 164
|
||
|
||
Partie 4 › Collection de procédures › LIB_Traitements › Code
|
||
FAIRE
|
||
TraceDEBUG("bufREs : E" + ExceptionInfo(errComplet))
|
||
TraceDEBUG("Durée (ms) : " + ChronoFin())
|
||
FIN
|
||
RENVOYER sResultat
|
||
Procédure globale ContruireListeChamps
|
||
PROCÉDURE ContruireListeChamps(tabRubMobile est un tableau de STJSONMembreRubRapport,stParam est un
|
||
ST_REQ_LISTE_Chp_Rapport,bToutesRub est un booléen = Faux)
|
||
tabToutesRub est un tableau de STJSONMembreRubRapport
|
||
tbMotCleSpec est un tableau de STJSONMembreRubRapport
|
||
nPKID_Rapport est un entier sur 8 octets = stParam.nIdModele
|
||
nPKID_Inter est un entier sur 8 octets = stParam.nIdInter
|
||
SI nPKID_Rapport <= 0 ALORS
|
||
RENVOYER "Identifiant du modèle introuvable"
|
||
FIN
|
||
SI nPKID_Inter <= 0 ALORS
|
||
RENVOYER "Identifiant de l'intervention introuvable"
|
||
FIN
|
||
saRQRp est une chaîne ANSI=[
|
||
SELECT * FROM ModeleRapport WHERE MRP_PKID =
|
||
]
|
||
saRQRp += nPKID_Rapport
|
||
sdRpest une Source de Données
|
||
HExécuteRequêteSQL(sdRp,gcnxReplica,saRQRp)
|
||
MonDoc est un Document
|
||
SI sdRp.MRP_Modele <> "" ALORS
|
||
MonDoc = sdRp.MRP_Modele
|
||
SINON
|
||
RENVOYER ""
|
||
FIN
|
||
SI sdRp.MRP_Extra <> "" ALORS
|
||
Désérialise(tbMotCleSpec,sdRp.MRP_Extra,psdJSON)
|
||
POUR TOUT stUnMot DE tbMotCleSpec
|
||
SI stUnMot:TypeMembre <> "" ALORS
|
||
stUnMot:Type = stUnMot:TypeMembre //Pour compatibilite dans le mobile
|
||
FIN
|
||
FIN
|
||
FIN
|
||
TermeRapport est un STJSONRubriqueRapport
|
||
TermeRapport.ListeTerme = ChargeListeRubDoc()
|
||
//vRub est un Variant
|
||
//
|
||
//saRQRub est une chaîne ANSI = [
|
||
// SELECT * FROM ParametreSysteme WHERE PAS_Code = 'RUBRIQUE_RAPPORT_INTERVENTION'
|
||
//]
|
||
//
|
||
//sdRpRub est une source de données
|
||
//HExécuteRequêteSQL(sdRpRub,gcnxReplica,saRQRub)
|
||
//vRub = JSONVersVariant(sdRpRub.PAS_Valeur)
|
||
//
|
||
//SI vRub<>Null ALORS
|
||
// Désérialise(TermeRapport,sdRpRub.PAS_Valeur,psdJSON)
|
||
12/08/2026 Batik_WS_Com_Mob 165
|
||
|
||
Partie 4 › Collection de procédures › LIB_Traitements › Code
|
||
// TableauTrie(TermeRapport:ListeTerme,ttMembre,"Groupe;Ordre")
|
||
//FIN
|
||
SI TermeRapport:ListeTerme..Occurrence <= 0 ALORS
|
||
TraceDEBUG("ContruireListeChamps - Recherche la liste des terme est a 0" )
|
||
RENVOYER ""
|
||
FIN
|
||
ConstructionTbRubBaseRapport(TermeRapport,tabToutesRub,MonDoc)
|
||
ConstructionTbRubEnvoyerMob(TermeRapport,tabToutesRub,tabRubMobile,MonDoc,bToutesRub,tbMotCleSpec)
|
||
AjouterDonnesBDDansChampRapport(nPKID_Inter, tabRubMobile)
|
||
RENVOYER ""
|
||
Procédure globale CreationETEnvoiEmail
|
||
PROCÉDURE CreationETEnvoiEmail(stID est un ST_MOB_IDENTITE, stData est une ST_MOB_DATA)
|
||
| stInfoMail est un ST_ModeleMailComplet | | | |
|
||
| -------------------------------------- | --- | --- | --- |
|
||
| sErreur est une chaîne ANSI | | | |
|
||
Désérialise(stInfoMail,stData.saJSON,psdJSON)
|
||
| bufRes | est un Buffer | | |
|
||
| ----------- | ------------------- | --- | --- |
|
||
| sResRepTemp | est une chaîne ANSI | | |
|
||
<COMPILE SI Configuration = "WS_COM_MOBILE" OU Configuration = "Debug WS_COM_MOBILE">
|
||
| sResRepTemp | = ComplèteRep(fRepExe())+"TEMP\" | | |
|
||
| ----------- | -------------------------------- | --- | --- |
|
||
<SINON>
|
||
| sResRepTemp | = ComplèteRep(fRepWeb())+"TEMP\" | | |
|
||
| ----------- | -------------------------------- | --- | --- |
|
||
<FIN>
|
||
| nPKID_Inter | est un entier sur 8 octets | = stInfoMail.nIdInter | |
|
||
| ----------- | -------------------------- | --------------------- | --- |
|
||
QUAND EXCEPTION DANS
|
||
ChronoDébut()
|
||
TraceINFO(" CreationETEnvoiEmail ")
|
||
| unEmail | est un Email | | |
|
||
| ------- | ------------ | --- | --- |
|
||
(sErreur,unEmail) = CreationUnEmail(stInfoMail)
|
||
SI SansEspace(sErreur) <> "" ALORS
|
||
bufRes ="E" + sErreur
|
||
RENVOYER bufRes
|
||
FIN
|
||
| bSMTPCnxOk | est un booléen | | |
|
||
| ------------------- | -------------- | --- | --- |
|
||
| sMsg est une chaîne | | | |
|
||
(bSMTPCnxOk,sMsg)=OuvreSessionEmail(3,stInfoMail.stCompteMail.SMTP.sLogin, stInfoMail.stCompteMail.
|
||
SMTP.sMdp, stInfoMail.stCompteMail.SMTP.sAdresseServeur, Val(stInfoMail.stCompteMail.SMTP.
|
||
sPortServeur), stInfoMail.stCompteMail.SMTP.nCryptage)
|
||
SI PAS bSMTPCnxOk ALORS
|
||
// erreur
|
||
bufRes ="E" + sMsg
|
||
TraceINFO("Erreur dans la connexion SMTP "+sMsg)
|
||
RENVOYER bufRes
|
||
FIN
|
||
// Envoie l'email
|
||
SI PAS EmailEnvoieMessage(stInfoMail.stCompteMail.SMTP.sLogin,unEmail) ALORS
|
||
sErreur =ErreurInfo(errMessage)
|
||
TraceINFO("Erreur dans l'envoi de l'email "+sErreur)
|
||
FIN
|
||
| 12/08/2026 | | Batik_WS_Com_Mob | 166 |
|
||
| ---------- | --- | ---------------- | --- |
|
||
|
||
Partie 4 › Collection de procédures › LIB_Traitements › Code
|
||
EmailFermeSession(stInfoMail.stCompteMail.SMTP.sLogin)
|
||
bEnvoye est un booléen = Faux
|
||
SI SansEspace(sErreur) = "" ALORS
|
||
bEnvoye = Vrai
|
||
FIN
|
||
saRep est une chaîne ANSI = CreationMessageExt(stID,stInfoMail, bEnvoye)
|
||
SI SansEspace(sErreur) ="" ALORS
|
||
//Nous ne devons pas générer d'erreur si l'e-mail a été envoyé au risque que l'utilisateur
|
||
essaie de le renvoyer, mais nous envoyons le message d'erreur pour avertir l'utilisateur.
|
||
SI saRep <> cRep_OK ALORS
|
||
sErreur +=
|
||
" Une erreur s'est produite lors de l'enregistrement du message dans le back-office. "+
|
||
saRep
|
||
FIN
|
||
bufRes ="R" + sErreur
|
||
SINON
|
||
bufRes ="E" + sErreur+RC+saRep
|
||
FIN
|
||
TraceINFO("Durée (ms) : " + ChronoFin())
|
||
RENVOYER bufRes
|
||
FAIRE
|
||
//bufRes ="E" + ExceptionInfo(errComplet)
|
||
TraceERREUR("bufREs : " + bufRes)
|
||
TraceDEBUG("Durée (ms) : " + ChronoFin())
|
||
RENVOYER bufRes
|
||
FIN
|
||
Procédure globale CreationMessageExt
|
||
PROCÉDURE CreationMessageExt(stID est un ST_MOB_IDENTITE, stInfoMail est un ST_ModeleMailComplet,
|
||
bEnvoye est un booléen)
|
||
saRep est une chaîne ANSI
|
||
QUAND EXCEPTION DANS
|
||
TraceINFO(" CreationMessageExt ")
|
||
stMsgExt est un ST_MsgExterneMail
|
||
stMsgExt.nIdInter = stInfoMail.nIdInter
|
||
stMsgExt.saSujet = stInfoMail.saSujet
|
||
stMsgExt.bufCorp = stInfoMail.bufCorpsHTML
|
||
stMsgExt.saGUID = stInfoMail.saGUID
|
||
stMsgExt.saAdrExp = stInfoMail.stCompteMail.SMTP.sLogin
|
||
stMsgExt.sapj = TableauVersChaîne(stInfoMail.tbPJID,";")
|
||
stMsgExt.saDest = TableauVersChaîne(stInfoMail.tbDest,";")
|
||
stMsgExt.saDestcc = TableauVersChaîne(stInfoMail.tbDestcc,";")
|
||
stMsgExt.saDestcci = TableauVersChaîne(stInfoMail.tbDestcci,";")
|
||
stMsgExt.bEnvoye = bEnvoye
|
||
stMsgExt.nIdUser = stID.nIdUser
|
||
saJSON est une chaîne ANSI
|
||
Sérialise(stMsgExt,saJSON,psdJSON)
|
||
HRAZ(TOSRV)
|
||
12/08/2026 Batik_WS_Com_Mob 167
|
||
|
||
Partie 4 › Collection de procédures › LIB_Traitements › Code
|
||
TOSRV.TS_CMD = cCMD_MsgExtEcrit
|
||
TOSRV.TS_Date = DateHeureSys()
|
||
TOSRV.TS_JSON = saJSON
|
||
TOSRV.TS_Buffer = ""
|
||
SI HAjoute(TOSRV) ALORS
|
||
saRep = cRep_OK
|
||
SINON
|
||
saRep= cErreur +RC+HErreurInfo()
|
||
FIN
|
||
TraceINFO("CreationMessageExt "+saRep )
|
||
RENVOYER saRep
|
||
FAIRE
|
||
saRep = ExceptionInfo(errComplet)
|
||
TraceERREUR("bufREs : " + saRep)
|
||
RENVOYER saRep
|
||
FIN
|
||
Procédure globale CreationModeleMail
|
||
PROCÉDURE CreationModeleMail(stData est une ST_MOB_DATA)
|
||
stInfoRapport est un STJSONInfoRapportMob
|
||
Désérialise(stInfoRapport,stData.saJSON,psdJSON)
|
||
bufRes est un Buffer
|
||
sResRepTemp est une chaîne ANSI
|
||
<COMPILE SI Configuration = "WS_COM_MOBILE" OU Configuration = "Debug WS_COM_MOBILE">
|
||
sResRepTemp = ComplèteRep(fRepExe())+"TEMP\"
|
||
<SINON>
|
||
sResRepTemp = ComplèteRep(fRepWeb())+"TEMP\"
|
||
<FIN>
|
||
nPKID_Rapport est un entier sur 8 octets = stInfoRapport.nIdModele
|
||
CheminImg est une chaîne ANSI = ComplèteRep(sResRepTemp+stInfoRapport.nIdInter)
|
||
SI nPKID_Rapport <= 0 ALORS
|
||
RENVOYER "E"+"Modèle introuvable"
|
||
FIN
|
||
QUAND EXCEPTION DANS
|
||
ChronoDébut()
|
||
TraceINFO(" CreationModeleMail ")
|
||
stParam est un STJSONInfoModeleMailMob
|
||
Désérialise(stParam,stData.saJSON,psdJSON)
|
||
sErreur est une chaîne = ConstruireModeleMailAvecInfoMob(stParam,bufRes)
|
||
SI sErreur="" ALORS
|
||
bufRes ="R" + bufRes
|
||
SINON
|
||
bufRes ="E" + sErreur
|
||
FIN
|
||
TraceINFO("Durée (ms) : " + ChronoFin())
|
||
RENVOYER bufRes
|
||
FAIRE
|
||
bufRes ="E" + ExceptionInfo(errComplet)
|
||
TraceERREUR("bufREs : " + bufRes)
|
||
TraceDEBUG("Durée (ms) : " + ChronoFin())
|
||
RENVOYER bufRes
|
||
FIN
|
||
Procédure globale CreationRapport
|
||
12/08/2026 Batik_WS_Com_Mob 168
|
||
|
||
Partie 4 › Collection de procédures › LIB_Traitements › Code
|
||
PROCÉDURE CreationRapport(stID est un ST_MOB_IDENTITE,stData est une ST_MOB_DATA)
|
||
stInfoRapport est un STJSONInfoRapportMob
|
||
Désérialise(stInfoRapport,stData.saJSON,psdJSON)
|
||
bufRes est un Buffer
|
||
sResRepTemp est une chaîne ANSI
|
||
<COMPILE SI Configuration = "WS_COM_MOBILE" OU Configuration = "Debug WS_COM_MOBILE">
|
||
sResRepTemp = ComplèteRep(fRepExe())+"TEMP\"
|
||
<SINON>
|
||
sResRepTemp = ComplèteRep(fRepWeb())+"TEMP\"
|
||
<FIN>
|
||
<COMPILE SI Configuration="Debug WS_COM_MOBILE">
|
||
<FIN>
|
||
nPKID_Rapport est un entier sur 8 octets = stInfoRapport.nIdModele
|
||
CheminImg est une chaîne ANSI = ComplèteRep(sResRepTemp+stInfoRapport.nIdInter)
|
||
SI nPKID_Rapport <= 0 ALORS
|
||
bufRes = "E"+"Modèle introuvable"
|
||
RENVOYER bufRes
|
||
FIN
|
||
saRQRp est une chaîne ANSI=[
|
||
SELECT * FROM ModeleRapport WHERE MRP_PKID =
|
||
]
|
||
saRQRp += nPKID_Rapport
|
||
sdRpest une Source de Données
|
||
HExécuteRequêteSQL(sdRp,gcnxReplica,saRQRp)
|
||
MonDoc est un Document
|
||
SI sdRp.MRP_Modele <> "" ALORS
|
||
MonDoc = sdRp.MRP_Modele
|
||
FIN
|
||
tbMotCleSpec est un tableau de STJSONMembreRubRapport
|
||
// Mot clé ajouté spécifique au mobile , (texte additionnel qui provient pas de données de
|
||
l'intervention)
|
||
SI sdRp.MRP_Extra <> "" ALORS
|
||
Désérialise(tbMotCleSpec,sdRp.MRP_Extra,psdJSON)
|
||
FIN
|
||
tabRubMobile est un tableau de STJSONMembreRubRapport
|
||
stParam est un ST_REQ_LISTE_Chp_Rapport
|
||
stParam.nIdModele = nPKID_Rapport
|
||
stParam.nIdInter = stInfoRapport.nIdInter
|
||
saErreur est une chaîne ANSI = ContruireListeChamps(tabRubMobile,stParam,Vrai)
|
||
SI saErreur <> "" ALORS
|
||
TraceERREUR("Erreur dans la création du rapport ")
|
||
bufRes = "E"+saErreur
|
||
SINON
|
||
QUAND EXCEPTION DANS
|
||
TraiteDocumentRapportMob(tabRubMobile,stInfoRapport.ListeMob,MonDoc,CheminImg)
|
||
SupprimerToutesRubRapportMob(tabRubMobile,MonDoc)
|
||
SI PAS fRepCrée(CheminImg) ALORS
|
||
TraceINFO("Erreur dans la création du repertoire Nom Rep "+CheminImg+RC+ErreurInfo(
|
||
errComplet))
|
||
saErreur = "Erreur dans la création du rapport "
|
||
bufRes = "E"+saErreur
|
||
FIN
|
||
TraceINFO("Avant création doc")
|
||
saNomDoc est une chaîne ANSI = CheminImg+stInfoRapport.saGuid+".pdf"
|
||
SI DocVersPDF(MonDoc,saNomDoc) ALORS
|
||
bufRapportPDF est un Buffer = fChargeBuffer(saNomDoc)
|
||
SI bufRapportPDF..Taille > 0 ALORS
|
||
12/08/2026 Batik_WS_Com_Mob 169
|
||
|
||
Partie 4 › Collection de procédures › LIB_Traitements › Code
|
||
TraceINFO("Rapport crée "+ saNomDoc)
|
||
Sérialise(tabRubMobile,bufRes,psdJSON)
|
||
bufRes ="R" + bufRes
|
||
TraceINFO("Liste Rub "+ bufRes)
|
||
stCmd est un ST_DOC
|
||
stCmd.saNom = stInfoRapport.saNomRapport+".pdf"
|
||
stCmd.saDocGUID = stInfoRapport.saGuid
|
||
stCmd.saDateCreat= DateHeureSys()
|
||
stCmd.nInterID = stInfoRapport.nIdInter
|
||
stCmd.saNote = ""
|
||
stCmd.nIdUser = stID.nIdUser
|
||
stCmd.saType = "PDF_RP"
|
||
saJSON est une chaîne ANSI
|
||
Sérialise(stCmd,saJSON,psdJSON)
|
||
saRep est une chaîne ANSI
|
||
HRAZ(TOSRV)
|
||
TOSRV.TS_CMD = cCMD_DocEcrit
|
||
TOSRV.TS_Date = DateHeureSys()
|
||
TOSRV.TS_JSON = saJSON
|
||
TOSRV.TS_Buffer = bufRapportPDF
|
||
SI HAjoute(TOSRV) ALORS
|
||
saRep = cRep_OK
|
||
SINON
|
||
saRep= cErreur +RC+HErreurInfo()
|
||
FIN
|
||
SI saRep = cRep_OK ALORS
|
||
bufRes = "R"+bufRapportPDF
|
||
SINON
|
||
bufRes = saRep
|
||
TraceINFO("Réponse envoi de rapport au service : "+RC+bufRes)
|
||
FIN
|
||
SINON
|
||
TraceINFO("Buffer vide procedure CreationRapport"+RC+ErreurInfo(errComplet))
|
||
FIN
|
||
SINON
|
||
TraceINFO("Erreur dans la création du rapport Nom doc "+saNomDoc+RC+ErreurInfo(errComplet)
|
||
)
|
||
saErreur = "Erreur dans la création du rapport "+RC+ErreurInfo()
|
||
bufRes = "E"+saErreur
|
||
FIN
|
||
FAIRE
|
||
TraceINFO("Erreur dans la création du rapport Nom doc "+saNomDoc+RC+ErreurInfo(errComplet))
|
||
saErreur = "Erreur dans la création du rapport "
|
||
bufRes = "E"+saErreur
|
||
FIN
|
||
FIN
|
||
RENVOYER bufRes
|
||
Procédure globale CreationTableauIntDocRapport
|
||
PROCÉDURE CreationTableauIntDocRapport(unTerme est un STJSONMembreRubRapport,MonDoc est un Document,
|
||
nIMin est un entier, vInfoVariante est un Variant, CheminImg est une chaîne ANSI,sdRReq est une Source
|
||
de Données)
|
||
nNumLignes est un entier
|
||
saInfoV est une chaîne ANSI
|
||
imgBuf est un Buffer
|
||
POUR TOUT stTerme DE unTerme.ListeMembre
|
||
tabFragments est un tableau de docFragments = DocRecherche(MonDoc,stTerme.Rubrique,MotComplet+
|
||
12/08/2026 Batik_WS_Com_Mob 170
|
||
|
||
Partie 4 › Collection de procédures › LIB_Traitements › Code
|
||
SansCasse)
|
||
SI tabFragments..Occurrence > 0 ALORS
|
||
nNumLignes += 1
|
||
FIN
|
||
FIN
|
||
bCree est un booléen = Faux
|
||
SI nNumLignes > 1 ALORS
|
||
POUR TOUT stTerme DE unTerme.ListeMembre
|
||
tabFragments est un tableau de docFragments = DocRecherche(MonDoc,stTerme.Rubrique,MotComplet+
|
||
SansCasse)
|
||
SI tabFragments..Occurrence > 0 ALORS
|
||
nColonne est un entier = tabFragments[1].Elément[1].Cellule..IndiceColonne
|
||
nLigne est un entier = tabFragments[1].Elément[1].Cellule..IndiceLigne
|
||
nIMax est un entier = nIMin
|
||
soit para <- tabFragments[1]..Paragraphe[1]
|
||
SI para.Tableau = Null ALORS
|
||
RENVOYER Faux
|
||
FIN
|
||
POUR TOUT UnEle DE vInfoVariante
|
||
//sIdentifiant = {NomRubId}
|
||
SI UnEle.bselection ALORS
|
||
bufRep est un Buffer
|
||
Sérialise(UnEle,bufRep,psdJSON)
|
||
cellDoc est un docCellule<- para..Tableau..Cellules[nIMax,nColonne]
|
||
cellColDoc est un docColonne<- para..Tableau..Colonnes[nColonne]
|
||
cellColDoc..LargeurMillimètres = (cellColDoc..LargeurMillimètres+10)
|
||
// Insère un tableau à la position du curseur (PositionDébut) de taille 1 colonnes
|
||
et x lignes
|
||
TabDoc est un docFragment = DocInsèreTableau(MonDoc,cellDoc..Contenu
|
||
..PositionDébut,1, nNumLignes)
|
||
soit para2 <- TabDoc..Paragraphe[2]
|
||
nLigneEnCours est un entier
|
||
POUR TOUT stTerme2 DE unTerme.ListeMembre
|
||
tabFragments = DocRecherche(MonDoc,stTerme2.Rubrique,MotComplet+SansCasse)
|
||
SI tabFragments..Occurrence > 0 ALORS
|
||
nLigneEnCours += 1
|
||
imgBuf = ""
|
||
saInfoV = ""
|
||
RechercheInfoDansVariantRapport(unTerme, stTerme2, UnEle,imgBuf,saInfoV,
|
||
sdRReq,CheminImg)
|
||
cell est un docCellule <- para2..Tableau..Cellules[nLigneEnCours,1
|
||
]
|
||
cell.MiseEnPage.Cadre.Couleur = Transparent
|
||
// rendre transparent les lignes du nouveaux tableau
|
||
SI stTerme2:TypeMembre = "ChpImage" OU stTerme2:Type = "ChpImage" ALORS
|
||
SI imgBuf..Taille > 0 ALORS
|
||
nLargPixCol est un entier = para2..Tableau..
|
||
Colonnes[1]..LargeurMillimètres*NBPixelesXMilimetres
|
||
elt est un docElément <- DonneImgTableauRp(imgBuf,
|
||
nLargPixCol)
|
||
cell2 est un docLigne <- para2..Tableau..Lignes
|
||
[nLigneEnCours]
|
||
cell2.Hauteur = (elt..Image..Hauteur)
|
||
cell3 est un docColonne <- para2..Tableau..Colonnes[1]
|
||
12/08/2026 Batik_WS_Com_Mob 171
|
||
|
||
Partie 4 › Collection de procédures › LIB_Traitements › Code
|
||
cell3..LargeurMillimètres = (elt.Image..Largeur)
|
||
DocInsère(MonDoc,cell..Contenu..PositionDébut, elt)
|
||
SINON
|
||
//para2..Tableau..Cellules[nLigneEnCours,1]..Contenu..Texte = "
|
||
"
|
||
FIN
|
||
para2..Tableau..Cellules[nLigneEnCours,nColonne]..MiseEnPage..
|
||
Alignement = chCentre
|
||
SINON
|
||
para2..Tableau..Cellules[nLigneEnCours,1].Contenu..Texte =
|
||
TraitementSelonTypeRubRapportMob(stTerme2,saInfoV)
|
||
FIN
|
||
FIN
|
||
FIN
|
||
bCree = Vrai
|
||
nIMax += 1
|
||
SI Contient(stTerme:Rubrique,"$UN") ALORS
|
||
SORTIR
|
||
FIN
|
||
FIN
|
||
FIN
|
||
FIN
|
||
SI bCree ALORS
|
||
SORTIR
|
||
FIN
|
||
FIN
|
||
FIN
|
||
Procédure globale CreationTbdansModeleEmail
|
||
PROCÉDURE CreationTbdansModeleEmail(ListeMob est un tableau de STJSONMembreRubRapport, unTerme est un
|
||
STJSONMembreRubRapport, mondoc est un Document)
|
||
sADonnes est une chaîne ANSI
|
||
b est un entier
|
||
//saRep est une chaîne ANSI
|
||
sdRReq est une Source de Données
|
||
//tabTitreCol est un tableau de chaînes ANSI
|
||
//taCol est un tableau associatif de chaînes ANSI
|
||
//sTitresCols , sTbHTML, sInfoLigne sont des chaînes ANSI
|
||
nLigne, nCol sont des entiers
|
||
vInfoVariante est un Variant
|
||
TableauTrie(unTerme.ListeMembre,ttMembre+tccRespecteNumérique,"+Ordre")
|
||
SI unTerme:EnvoiMob ALORS
|
||
b = TableauCherche(ListeMob,tcLinéaire,"Rubrique;Utilisee",unTerme:Rubrique,Faux)
|
||
FIN
|
||
SI b > 0 ALORS
|
||
sADonnes = ListeMob[b].ListeDonnesMob
|
||
FIN
|
||
SI sADonnes <> "" _ET_ unTerme:Type = "Tableau" ALORS
|
||
vInfoVariante = JSONVersVariant(sADonnes)
|
||
12/08/2026 Batik_WS_Com_Mob 172
|
||
|
||
Partie 4 › Collection de procédures › LIB_Traitements › Code
|
||
SI unTerme.GroupeApp = cRp_CR ALORS
|
||
// Requête dans la base de données , le compte rendu ne peuvent pas être modifiées par
|
||
l'utilisateur
|
||
// // donc le données ne sont pas récupérer à partir de données envoyés par le mobile
|
||
RqCompteRenduRemplirRapport(vInfoVariante,sdRReq)
|
||
FIN
|
||
nLigne = 1 // entête de table
|
||
POUR TOUT stTerme, b de unTerme.ListeMembre
|
||
nCol += 1
|
||
FIN
|
||
POUR TOUT UnEle, c de vInfoVariante
|
||
SI UnEle.bSelection ALORS
|
||
nLigne += 1
|
||
FIN
|
||
FIN
|
||
tabFragments est un tableau de docFragments = DocRecherche(mondoc,unTerme.Rubrique,MotComplet+
|
||
SansCasse)
|
||
SI tabFragments..Occurrence > 0 ALORS
|
||
SI nLigne > 1 ALORS
|
||
TabDoc est un docFragment = DocInsèreTableau(mondoc,tabFragments[1]..
|
||
PositionDébut,nCol, nLigne)
|
||
soit para2 <- TabDoc..Paragraphe[2]
|
||
nLigneEnCours est un entier = 1
|
||
nColEnCours est un entier = 1
|
||
POUR TOUT stTerme, b de unTerme.ListeMembre
|
||
para2..Tableau..Cellules[1,b].Contenu..Texte = stTerme:nom
|
||
nLigneEnCours = 1
|
||
POUR TOUT UnEle, c de vInfoVariante
|
||
SI stTerme:EnvoiMob ALORS
|
||
infoR est une chaîne ANSI
|
||
SI UnEle.bSelection ALORS
|
||
nLigneEnCours += 1
|
||
imgBuf est un Buffer
|
||
SI stTerme:TypeMembre <> "ChpImage" OU stTerme:Type <> "ChpImage"ALORS
|
||
RechercheInfoDansVariantRapport(unTerme, stTerme, UnEle,imgBuf,infoR,
|
||
sdRReq,"")
|
||
para2..Tableau..Cellules[nLigneEnCours,b].Contenu..Texte =
|
||
TraitementSelonTypeRubRapportMob(stTerme,infoR)
|
||
FIN
|
||
FIN
|
||
FIN
|
||
FIN
|
||
FIN
|
||
SINON
|
||
tabFragments[1].Texte = ""
|
||
FIN
|
||
FIN
|
||
FIN
|
||
//
|
||
//
|
||
//
|
||
//TableauTrie(unTerme.ListeMembre,ttMembre+tccRespecteNumérique,"+Ordre")
|
||
12/08/2026 Batik_WS_Com_Mob 173
|
||
|
||
Partie 4 › Collection de procédures › LIB_Traitements › Code
|
||
//
|
||
//
|
||
//SI unTerme:EnvoiMob ALORS
|
||
// b = TableauCherche(ListeMob,tcLinéaire,"Rubrique;Utilisee",unTerme:Rubrique,Faux)
|
||
//FIN
|
||
//
|
||
//SI b > 0 ALORS
|
||
// sADonnes = ListeMob[b].ListeDonnesMob
|
||
//FIN
|
||
//
|
||
//SI sADonnes <> "" _ET_ unTerme:Type = "Tableau" ALORS
|
||
// vInfoVariante est un Variant = JSONVersVariant(sADonnes)
|
||
//
|
||
SI unTerme.GroupeApp = cRp_CR ALORS // Requête dans la base de données , le compte rendu ne peuvent pas
|
||
être modifiées par l'utilisateur
|
||
// // donc le données ne sont pas récupérer à partir de données envoyés par le mobile
|
||
| // RqCompteRenduRemplirRapport(vInfoVariante,sdRReq) | | | | | |
|
||
| ---------------------------------------------------- | --- | --- | --- | --- | --- |
|
||
// FIN
|
||
//
|
||
// SELON unTerme:GroupeApp
|
||
// CAS cRp_CtSite,cRp_Client,cRp_CtDonneurs,cRp_Photo,cRp_CR,cRp_RDV
|
||
//
|
||
| // | sTB | est une chaîne ANSI | | = [ | |
|
||
| --- | -------------------------------------------- | ------------------- | --- | --- | --- |
|
||
| // | <br> | | | | |
|
||
| // | <table cellspacing='0' cellpadding='0' width | | | | |
|
||
='100%' style='table-layout:fixed;border-collapse:collapse;'>
|
||
| // | <tr style='height:auto'> | | | | |
|
||
| --- | ------------------------ | --- | --- | --- | --- |
|
||
| // | ] | | | | |
|
||
//
|
||
| // | POUR TOUT stTerme, b DE unTerme.ListeMembre | | | | |
|
||
| --- | ------------------------------------------- | --- | --- | --- | --- |
|
||
| // | TableauAjoute(tabTitreCol,stTerme:Nom) | | | | |
|
||
| // | POUR TOUT UnEle, c DE vInfoVariante | | | | |
|
||
| // | SI stTerme:EnvoiMob ALORS | | | | |
|
||
//
|
||
| // | | infoR est une chaîne ANSI | | | |
|
||
| --- | --- | ------------------------- | --- | --- | --- |
|
||
| // | | SI UnEle.bSelection ALORS | | | |
|
||
| // | | imgBuf est un buffer | | | |
|
||
// SI stTerme:TypeMembre <> "ChpImage" OU stTerme:Type <> "ChpImage"ALORS
|
||
//
|
||
RechercheInfoDansVariantRapport(unTerme, stTerme, UnEle,imgBuf,infoR,sdRReq,"")
|
||
// taCol[b+"-"+c] = TraitementSelonTypeRubRapportMob(stTerme,infoR)
|
||
| // | | FIN | | | |
|
||
| --- | --- | --- | --- | --- | --- |
|
||
| // | | FIN | | | |
|
||
| // | FIN | | | | |
|
||
//
|
||
| // | FIN | | | | |
|
||
| --- | --- | --- | --- | --- | --- |
|
||
| // | FIN | | | | |
|
||
//
|
||
| // | POUR TOUT sTitre de tabTitreCol | | | | |
|
||
| --- | ------------------------------- | --- | --- | --- | --- |
|
||
// sInfoLigne+="<th valign='center' align='center' style='border-left:1pt solid
|
||
#000000;border-top:1pt solid #000000;border-right:1pt solid #000000;border-bottom:1pt solid
|
||
#000000;width:20%;padding:0.0pt 5.4pt 0.0pt 5.4pt'>"
|
||
//
|
||
sInfoLigne+="<p class='Normal'><span style='font-family:Calibri;font-size:14pt;'>"
|
||
+TexteVersHTML(sTitre) + "</span></p></th>"
|
||
| // | FIN | | | | |
|
||
| --- | --- | --- | --- | --- | --- |
|
||
//
|
||
| // | SI sInfoLigne <> "" ALORS | | | | |
|
||
| --- | ------------------------- | ---------------------------- | --- | --- | --- |
|
||
| // | sTitresCols | = sTB + sInfoLigne + "</tr>" | | | |
|
||
//
|
||
| // | sInfoLigne | = "" | | | |
|
||
| --- | ---------- | ---- | --- | --- | --- |
|
||
//
|
||
//
|
||
| // | POUR TOUT UnEle, c DE vInfoVariante | | | | |
|
||
| ---------- | ----------------------------------- | --- | ---------------- | --- | --- |
|
||
| 12/08/2026 | | | Batik_WS_Com_Mob | | 174 |
|
||
|
||
Partie 4 › Collection de procédures › LIB_Traitements › Code
|
||
| // | sTB = "" | | |
|
||
| --- | --------------------------------- | --- | --- |
|
||
| // | SI UnEle.bSelection ALORS | | |
|
||
| // | POUR TOUT sTitre,b de tabTitreCol | | |
|
||
// SI taCol[b+"-"+c]..Existe ALORS
|
||
// sTB+="<td valign='center' align='left' style='border-left:1pt solid
|
||
#000000;border-top:1pt solid #000000;border-right:1pt solid #000000;border-bottom:1pt solid
|
||
#000000;width:20%;padding:0.0pt 5.4pt 0.0pt 5.4pt'>"
|
||
// //sTB+="</td> <td valign='center' align='left'
|
||
style='border-left:1pt solid #000000;border-top:1pt solid #000000;border-right:1pt solid
|
||
#000000;border-bottom:1pt solid #000000;width:20%;padding:0.0pt 5.4pt 0.0pt 5.4pt'>"
|
||
// sTB+="<p class='Normal'>"+taCol[b+"-"+c] +"</p></td>"
|
||
// FIN
|
||
| // | FIN | | |
|
||
| --- | --- | --- | --- |
|
||
//
|
||
| // | SI sTB <> "" ALORS | | |
|
||
| --- | ------------------ | --- | --- |
|
||
// sInfoLigne += "<tr style='height:auto'>" + sTB+"</tr>"
|
||
| // | FIN | | |
|
||
| ------ | --- | --- | --- |
|
||
| // | FIN | | |
|
||
| // FIN | | | |
|
||
// FIN
|
||
//
|
||
// SI sInfoLigne <> "" ALORS
|
||
| // sTbHTML = sTitresCols+sInfoLigne+"</table>" | | | |
|
||
| ---------------------------------------------- | --- | --- | --- |
|
||
// FIN
|
||
//
|
||
//
|
||
//
|
||
// AUTRE CAS
|
||
//
|
||
// sTbHTML = TraitementSelonTypeRubRapportMob(unTerme,sADonnes)
|
||
//
|
||
// FIN
|
||
//
|
||
//
|
||
//FIN
|
||
//
|
||
//saRep = ChaîneVersUTF8(sTbHTML)
|
||
//RENVOYER saRep
|
||
Procédure globale CreationUnEmail
|
||
PROCÉDURE CreationUnEmail(stInfoMail est un ST_ModeleMailComplet)
|
||
| sErreur | est une chaîne ANSI | | |
|
||
| ----------- | ------------------- | --- | --- |
|
||
| sResRepTemp | est une chaîne ANSI | | |
|
||
<COMPILE SI Configuration = "WS_COM_MOBILE" OU Configuration = "Debug WS_COM_MOBILE">
|
||
| sResRepTemp | = ComplèteRep(fRepExe())+"TEMP\" | | |
|
||
| ----------- | -------------------------------- | --- | --- |
|
||
<SINON>
|
||
| sResRepTemp | = ComplèteRep(fRepWeb())+"TEMP\" | | |
|
||
| ----------- | -------------------------------- | --- | --- |
|
||
<FIN>
|
||
| nPKID_Inter | est un entier sur 8 octets | = stInfoMail.nIdInter | |
|
||
| ----------- | -------------------------- | --------------------- | --- |
|
||
saCheminTemp est une chaîne ANSI = ComplèteRep(sResRepTemp+nPKID_Inter)
|
||
| saCheminDoc | est une chaîne ANSI | | |
|
||
| ----------- | ------------------- | --- | --- |
|
||
| unEmail | est un Email | | |
|
||
// Initialise les composantes du mail
|
||
QUAND EXCEPTION DANS
|
||
| monAttache est un emailAttache | | | |
|
||
| ------------------------------ | --- | --- | --- |
|
||
// L'expéditeur
|
||
unEmail..Expediteur = stInfoMail.stCompteMail.SMTP.sLogin
|
||
| 12/08/2026 | | Batik_WS_Com_Mob | 175 |
|
||
| ---------- | --- | ---------------- | --- |
|
||
|
||
Partie 4 › Collection de procédures › LIB_Traitements › Code
|
||
// Le destinataire
|
||
POUR TOUT saUnDest DE stInfoMail.tbDest
|
||
Ajoute(unEmail..Destinataire,saUnDest)
|
||
FIN
|
||
// Les destinataires CC
|
||
POUR TOUT saUnDestcc DE stInfoMail.tbDestcc
|
||
Ajoute(unEmail..Cc,saUnDestcc)
|
||
FIN
|
||
// Les destinataires CCi
|
||
POUR TOUT saUnDestCCI DE stInfoMail.tbDestCCI
|
||
Ajoute(unEmail..Cci,saUnDestCCI)
|
||
FIN
|
||
SI stInfoMail.stCompteMail.SMTP.bEnCopieCachee ALORS
|
||
Ajoute(unEmail..Cci,stInfoMail.stCompteMail.SMTP.sLogin)
|
||
stInfoMail.tbDestCCI.Ajoute(stInfoMail.stCompteMail.SMTP.sLogin)
|
||
FIN
|
||
// Le sujet
|
||
unEmail..Sujet = stInfoMail.saSujet
|
||
// Le corps du message
|
||
unEmail..HTML = stInfoMail.bufCorpsHTML
|
||
//Construction de la variable emailAttache
|
||
saRQDoc est une chaîne ANSI =
|
||
"SELECT DC_Nom, GUID, DC_PKID FROM Document WHERE Document.GUID IN "
|
||
sComp est une chaîne ANSI
|
||
POUR TOUT saGUIDDoc DE stInfoMail.tbPJ
|
||
sComp += [","]+"'"+saGUIDDoc+"'"
|
||
FIN
|
||
SI sComp <> "" ALORS
|
||
saRQDoc += "("+sComp+")"
|
||
sdRqDoc est une Source de Données
|
||
SI PAS HExécuteRequêteSQL(sdRqDoc,gcnxReplica,saRQDoc) ALORS
|
||
sErreur ="Erreur lors de la récupération des pièces jointes"
|
||
TraceINFO("Problème avec la req de document "+HErreurInfo(hErrComplet))
|
||
RENVOYER (sErreur,unEmail)
|
||
SINON
|
||
POUR TOUT sdRqDoc
|
||
saCheminDoc = saCheminTemp+sdRqDoc.GUID+fExtraitChemin(sdRqDoc.DC_Nom,fExtension)
|
||
TraceINFO("chemin doc "+saCheminDoc)
|
||
SI fFichierExiste(saCheminDoc) ALORS
|
||
monAttache..Nom = sdRqDoc.DC_Nom
|
||
monAttache..Contenu = fChargeBuffer(saCheminDoc)
|
||
//Ajout de la pièce jointe
|
||
Ajoute(unEmail..Attache, monAttache)
|
||
stInfoMail.tbPJID.Ajoute(sdRqDoc.DC_PKID) // Utilise par le service
|
||
FIN
|
||
FIN
|
||
FIN
|
||
SINON
|
||
TraceINFO("Aucune pièce joint")
|
||
FIN
|
||
RENVOYER (sErreur,unEmail)
|
||
FAIRE
|
||
12/08/2026 Batik_WS_Com_Mob 176
|
||
|
||
Partie 4 › Collection de procédures › LIB_Traitements › Code
|
||
sErreur += "Une erreur s'est produite lors de la création de l'e-mail"+RC+ExceptionInfo(errComplet)
|
||
TraceINFO("Erreur dans la CreationUnEmail "+sErreur)
|
||
RENVOYER (sErreur,unEmail)
|
||
FIN
|
||
Procédure globale DonneGrouppeAppSelonGroupe
|
||
PROCÉDURE DonneGrouppeAppSelonGroupe(sGroupe est une chaîne ANSI)
|
||
sGroupeApp est une chaîne ANSI
|
||
SELON sGroupe
|
||
CAS "Dossier"
|
||
sGroupeApp = cRp_Dossier
|
||
CAS "Intervention"
|
||
sGroupeApp = cRp_Inter
|
||
CAS "Comptes-rendus"
|
||
sGroupeApp = cRp_CR
|
||
CAS "Donneurs d'ordres"
|
||
sGroupeApp = cRp_CtDonneurs
|
||
CAS "Client"
|
||
sGroupeApp = cRp_Client
|
||
CAS "Site"
|
||
sGroupeApp = cRp_CtSite
|
||
CAS "Rendez-vous"
|
||
sGroupeApp = cRp_RDV
|
||
AUTRE CAS
|
||
sGroupeApp = ""
|
||
FIN
|
||
RENVOYER sGroupeApp
|
||
Procédure globale DonneImgTableauRp
|
||
PROCÉDURE DonneImgTableauRp(imgBuf est un Buffer,largPixCol est un entier)
|
||
elt est un docElément
|
||
QUAND EXCEPTION DANS
|
||
img est une Image = imgBuf
|
||
HauteurImg est un réel = (img..Hauteur*largPixCol)/img..Largeur
|
||
dRedimensionne(img,largPixCol,HauteurImg,drHomothétiqueCentré)
|
||
elt..Type = typeDocElémentImage
|
||
elt..Image..BufferImage = img
|
||
elt..Image..Habillage= docHabillageAlignéSurLeTexte
|
||
// La taille de l'image est en pixels dans la variable de type Image.
|
||
// Cette taille est convertie en mm dans l'élément (unité utilisée dans un document)
|
||
elt..Image..Largeur = img..Largeur * 25.4 / 96.0
|
||
elt..Image..Hauteur = img..Hauteur * 25.4 / 96.0
|
||
// Position de l'image
|
||
elt.Image.X = 0
|
||
elt.Image.Y = 0
|
||
RENVOYER elt
|
||
FAIRE
|
||
TraceERREUR("Erreur dans la création du rapport IMG"+ExceptionInfo())
|
||
RENVOYER elt
|
||
FIN
|
||
Procédure globale EnvoiRubMob
|
||
12/08/2026 Batik_WS_Com_Mob 177
|
||
|
||
Partie 4 › Collection de procédures › LIB_Traitements › Code
|
||
PROCÉDURE EnvoiRubMob(ListeMob est un tableau de STJSONMembreRubRapport)
|
||
n est un entier
|
||
SI ListeMob..Occurrence <= 0 ALORS
|
||
RENVOYER Faux
|
||
FIN
|
||
POUR TOUT stEle DE ListeMob
|
||
SI stEle:EnvoiMob ALORS
|
||
SI stEle.GroupeApp DANS (cRp_Client,cRp_CR,cRp_RDV) ALORS
|
||
SI stEle.ListeDonnesBD <> "" ALORS
|
||
n += 1
|
||
FIN
|
||
SINON SI stEle.GroupeApp DANS (cRp_Photo,cRp_CtDonneurs,cRp_CtSite,cRp_Extra) ALORS
|
||
n += 1
|
||
SINON SI stEle.ListeDonnesBD <> "" ALORS
|
||
n+= 1
|
||
FIN
|
||
FIN
|
||
FIN
|
||
SI n > 0 ALORS
|
||
RENVOYER Vrai
|
||
SINON
|
||
RENVOYER Faux
|
||
FIN
|
||
Procédure globale InitialiseContexteUtilisateur
|
||
PROCÉDURE InitialiseContexteUtilisateur(nIdUser est un entier sur 8 octets)
|
||
TraceINFO(ChaîneConstruit("InitialiseContexteUtilisateur : %1",nIdUser))
|
||
QUAND EXCEPTION DANS
|
||
InitialisationParametres()
|
||
saRQ est une chaîne ANSI
|
||
sdRec est une Source de Données
|
||
saRQ=[
|
||
SELECT Collaborateur.GUID,
|
||
Collaborateur.CO_Nom,Collaborateur.CO_Prenom,Collaborateur.CO_PKID,Collaborateur.CO_Ponderation
|
||
,R_PKID,R_Libelle,R_AncienCode, Societe.SO_Nom
|
||
FROM
|
||
Collaborateur INNER JOIN Utilisateur ON Collaborateur.CO_PKID= Utilisateur.UT_IDCollaborateur,
|
||
Collaborateur INNER JOIN Societe_Collaborateur ON
|
||
Collaborateur.CO_PKID=Societe_Collaborateur.SC_IDCollaborateur,
|
||
Societe_Collaborateur INNER JOIN Societe
|
||
ON Societe_Collaborateur.SC_IDCSociete =Societe.SO_PKID,
|
||
Utilisateur INNER JOIN Role ON Utilisateur.UT_IDRole = Role.R_PKID
|
||
WHERE
|
||
Utilisateur.UT_PKID={pUserId}
|
||
]
|
||
saRQ=Remplace(saRQ,"{pUserId}",nIdUser)
|
||
SI HExécuteRequêteSQL(sdRec,gcnxReplica,saRQ) ALORS
|
||
gstContexte.stUser.nIdUser =nIdUser
|
||
gstContexte.stUser.nIdCollab =sdRec.CO_PKID
|
||
gstContexte.stUser.saGuid =sdRec.GUID
|
||
12/08/2026 Batik_WS_Com_Mob 178
|
||
|
||
Partie 4 › Collection de procédures › LIB_Traitements › Code
|
||
gstContexte.stUser.saNom =sdRec.CO_Nom
|
||
gstContexte.stUser.saPrenom =sdRec.CO_Prenom
|
||
gstContexte.stUser.saSociete =sdRec.SO_Nom
|
||
gstContexte.stUser.nPond100 =(sdRec.CO_Ponderation=0 ? 100 SINON sdRec.CO_Ponderation *
|
||
100)
|
||
// # A voir a quoi ca sert R_AncienCode avant PA_Valeur
|
||
gstContexte.stUser.nIdGroupe =sdRec.R_AncienCode
|
||
gstContexte.stUser.saProfil =sdRec.R_Libelle
|
||
gstContexte.stUser.nIdProfil =sdRec.R_PKID
|
||
gstContexte.saNomUser = sdRec.CO_Prenom + " " + sdRec.CO_Nom
|
||
//Utile pour rendre la trace explicite
|
||
//Récupération de la liste des ID des Etats d'intervention qui peuvent être transmis au mobile
|
||
gstContexte.sLstEtatsInter = "'"+cCle_EtatInterSansSuite+"', '"+cCle_EtatInterTraite+"'"
|
||
SI gstContexte.stUser.nIdProfil > 0 ALORS
|
||
saReqDroits est une chaîne ANSI =
|
||
[
|
||
SELECT AED_PKID, AED_CleAcces, AED_Acces FROM Role
|
||
INNER JOIN AccesEtDroit ON AED_IdRole = R_PKID
|
||
WHERE R_PKID = {p_IdRole}
|
||
]
|
||
saReqDroits = Remplace(saReqDroits,"{p_IdRole}",gstContexte.stUser.nIdProfil)
|
||
sdDroits est une Source de Données
|
||
// exécution de la requête
|
||
SI HExécuteRequêteSQL(sdDroits,gcnxReplica,saReqDroits) ALORS
|
||
// charge les enregistrements en mémoire
|
||
POUR TOUT sdDroits
|
||
gstContexte.tbaDroitsAcces[sdDroits.aed_CleAcces] = sdDroits.aed_acces
|
||
SI sdDroits.aed_CleAcces DANS (cGestion_DocNull, cGestion_DocPhoto, cGestion_DocAutre,
|
||
cGestion_DocMsgExt,...
|
||
cGestion_DocRapport, cGestion_DocBatigest) _ET_ sdDroits.aed_acces ALORS
|
||
SI gstContexte.sLstDocTypeAcces <> "" ALORS
|
||
gstContexte.sLstDocTypeAcces += [","]
|
||
FIN
|
||
SELON sdDroits.aed_CleAcces
|
||
CAS cGestion_DocNull
|
||
gstContexte.sLstDocTypeAcces += "'"+cCle_TypeDocNull+"'"
|
||
CAS cGestion_DocPhoto
|
||
gstContexte.sLstDocTypeAcces += "'"+cCle_TypeDocImg+"'"
|
||
CAS cGestion_DocAutre
|
||
gstContexte.sLstDocTypeAcces += "'"+cCle_TypeDocAutre+"'"
|
||
CAS cGestion_DocMsgExt
|
||
gstContexte.sLstDocTypeAcces += "'"+cCle_TypeDocMsgExt+"'"
|
||
CAS cGestion_DocRapport
|
||
gstContexte.sLstDocTypeAcces += "'"+cCle_TypeDocRapport+"'"
|
||
CAS cGestion_DocBatigest
|
||
gstContexte.sLstDocTypeAcces += "'"+cCle_TypeDocBatigest+"'"
|
||
AUTRE CAS
|
||
FIN
|
||
FIN
|
||
FIN
|
||
FIN
|
||
SINON
|
||
gstContexte.sLstDocTypeAcces= ""
|
||
FIN
|
||
RENVOYER Vrai
|
||
SINON
|
||
TraceDEBUG("InitialiseContexteUtilisateur(" + nIdUser + ") "+ RC + HErreurInfo(hErrComplet))
|
||
TraceDEBUG(saRQ)
|
||
RENVOYER Faux
|
||
12/08/2026 Batik_WS_Com_Mob 179
|
||
|
||
Partie 4 › Collection de procédures › LIB_Traitements › Code
|
||
FIN
|
||
FAIRE
|
||
TraceDEBUG("InitialiseContexteUtilisateur(" + nIdUser + ") "+ RC + ExceptionInfo(errComplet))
|
||
RENVOYER Faux
|
||
FIN
|
||
Procédure globale ListeRDV
|
||
PROCÉDURE ListeRDV(stData est une ST_MOB_DATA,tblRDV est un tableau de ST_RDV_INTER,bAvecNonPlanifie
|
||
est un booléen)
|
||
sErreur est une chaîne
|
||
QUAND EXCEPTION DANS
|
||
ChronoDébut()
|
||
TraceINFO("ListeRDV ")
|
||
stParam est un ST_REQ_LISTE_RDV
|
||
Désérialise(stParam,stData.saJSON,psdJSON)
|
||
//Construction de la requête de sélection
|
||
saRQ est une chaîne ANSI
|
||
saRQ=[
|
||
SELECT
|
||
Planning_RDV.GUID AS PL_GUID,
|
||
Planning_RDV.PL_PKID AS PL_PKID,
|
||
Planning_RDV.PL_IDGroupe AS PL_IDGroupe,
|
||
Planning_RDV.PL_Grouper AS PL_Grouper,
|
||
Planning_RDV.PL_IDSociete AS PL_IDSociete,
|
||
Planning_RDV.PL_IDEquipe AS PL_IDEquipe,
|
||
Planning_RDV.PL_IDCollaborateur AS PL_IDCollaborateur,
|
||
Planning_RDV.PL_IDDossier AS PL_IDDossier,
|
||
Planning_RDV.PL_IDIntervention AS PL_IDIntervention,
|
||
Planning_RDV.PL_IDTypeActivite AS PL_IDTypeActivite,
|
||
Planning_RDV.PL_IDStatut AS PL_IDStatut,
|
||
StatutRDV.PA_VALEUR AS saStatutRDV,
|
||
Planning_RDV.PL_Objet AS PL_Objet,
|
||
Planning_RDV.PL_Description AS PL_Description,
|
||
Planning_RDV.PL_DateDebut AS PL_DateDebut,
|
||
Planning_RDV.PL_DateFin AS PL_DateFin,
|
||
Planning_RDV.PL_Superposable AS PL_Superposable,
|
||
Planning_RDV.PL_Prive AS PL_Prive,
|
||
Dossier.DO_IDClient AS DO_IDClient,
|
||
Dossier.DO_IDTypeDossier AS DO_IDTypeDossier,
|
||
Dossier.DO_Titre AS DO_Titre,
|
||
Dossier.DO_IDStatut AS DO_IDStatut,
|
||
Dossier.DO_RefInterne AS DO_RefInterne,
|
||
Dossier.DO_RefExterne AS DO_RefExterne,
|
||
Client.CL_Nom AS CL_Nom,
|
||
Client.CL_Tel AS CL_Tel,
|
||
Client.CL_Fax AS CL_Fax,
|
||
AdClient.AD_PKID AS AdClient_PKID,
|
||
AdClient.AD_Etiquette AS AdClient_Etiquette,
|
||
AdClient.AD_Ligne_1 AS AdClient_Ligne_1,
|
||
AdClient.AD_Ligne_2 AS AdClient_Ligne_2,
|
||
AdClient.AD_Ligne_3 AS AdClient_Ligne_3,
|
||
AdClient.AD_Ligne_4 AS AdClient_Ligne_4,
|
||
AdClient.AD_Ligne_5 AS AdClient_Ligne_5,
|
||
AdClient.AD_CodePostal AS AdClient_CodePostal,
|
||
AdClient.AD_Ville AS AdClient_Ville,
|
||
Intervention.IN_PKID AS IN_PKID,
|
||
Intervention.IN_IDTypeIntervention AS IN_IDTypeIntervention,
|
||
Intervention.IN_IDEtatIntervention AS IN_IDEtatIntervention,
|
||
Intervention.IN_IDSuiviPar AS IN_IDSuiviPar,
|
||
12/08/2026 Batik_WS_Com_Mob 180
|
||
|
||
Partie 4 › Collection de procédures › LIB_Traitements › Code
|
||
Intervention.IN_IDDossier AS IN_IDDossier,
|
||
Intervention.IN_IDDemandeur AS IN_IDDemandeur,
|
||
Intervention.IN_IDClient AS IN_IDClient,
|
||
Intervention.IN_IDLieu AS IN_IDLieu,
|
||
Intervention.IN_Description AS IN_Description,
|
||
Intervention.IN_AttestationTVAPresente AS IN_AttestationTVAPresente,
|
||
Intervention.IN_NoteInterne AS IN_NoteInterne,
|
||
Intervention.IN_Titre AS IN_Titre,
|
||
Intervention.IN_RefInterne AS IN_RefInterne,
|
||
Intervention.IN_RefExterne AS IN_RefExterne,
|
||
Intervention.IN_IDSociete,
|
||
Intervention.IN_NumDevis,
|
||
Intervention.IN_DateDevis,
|
||
Lieu.LI_PKID AS LI_PKID,
|
||
Lieu.LI_CodeLieu AS LI_CodeLieu,
|
||
Lieu.LI_IDAdresse AS LI_IDAdresse,
|
||
Lieu.LI_IDType AS LI_IDType,
|
||
Lieu.LI_CodeAcces AS LI_CodeAcces,
|
||
Lieu.LI_Badge AS LI_Badge,
|
||
Lieu.LI_Interphone AS LI_Interphone,
|
||
Lieu.LI_Note AS LI_Note,
|
||
AdLieu.AD_PKID AS AdLieu_PKID,
|
||
AdLieu.AD_Etiquette AS AdLieu_Etiquette,
|
||
AdLieu.AD_Ligne_1 AS AdLieu_Ligne_1,
|
||
AdLieu.AD_Ligne_2 AS AdLieu_Ligne_2,
|
||
AdLieu.AD_Ligne_3 AS AdLieu_Ligne_3,
|
||
AdLieu.AD_Ligne_4 AS AdLieu_Ligne_4,
|
||
AdLieu.AD_Ligne_5 AS AdLieu_Ligne_5,
|
||
AdLieu.AD_CodePostal AS AdLieu_CodePostal,
|
||
AdLieu.AD_Ville AS AdLieu_Ville,
|
||
Planning_RDV.PL_IDLieu AS PL_IDLieu,
|
||
Societe.SO_Nom,
|
||
Collaborateur.CO_Nom AS NomSuiviPar,
|
||
Collaborateur.CO_Prenom AS PrenomSuiviPar,
|
||
Collaborateur.CO_TelMobile AS TelMobSuiviPar
|
||
FROM
|
||
Planning_RDV LEFT OUTER JOIN Intervention ON Planning_RDV.PL_IDIntervention =
|
||
Intervention.IN_PKID
|
||
,Intervention LEFT OUTER JOIN Lieu ON Intervention.IN_IDLieu = Lieu.LI_PKID
|
||
,Lieu LEFT OUTER JOIN Adresse AdLieu ON Lieu.LI_IDAdresse = AdLieu.AD_PKID
|
||
,Intervention LEFT OUTER JOIN CompteRendu ON
|
||
(CompteRendu.CR_IDIntervention=Intervention.IN_PKID)
|
||
,Planning_RDV LEFT OUTER JOIN Dossier ON Planning_RDV.PL_IDDossier = Dossier.DO_PKID
|
||
,Dossier LEFT OUTER JOIN Client ON Dossier.DO_IDClient = Client.CL_PKID
|
||
,Client LEFT OUTER JOIN Adresse AdClient ON Client.CL_IDAdressePrincipale =
|
||
AdClient.AD_PKID
|
||
,Intervention LEFT OUTER JOIN Societe ON Intervention.IN_IDSociete = Societe.SO_PKID
|
||
,Planning_RDV LEFT OUTER JOIN ParametreMetier AS StatutRDV ON
|
||
Planning_RDV.PL_IDSTATUT=StatutRDV.PA_PKID
|
||
,Intervention LEFT OUTER JOIN Collaborateur ON Intervention.IN_IDSuiviPar=Collaborateur.CO_PKID
|
||
WHERE
|
||
(
|
||
Planning_RDV.PL_IDCollaborateur = {pIDCollaborateur}
|
||
AND (
|
||
(
|
||
Planning_RDV.PL_IDStatut<>{p_IDNonPlanifie}
|
||
AND Planning_RDV.PL_DateDebut >= '{pDateDebut}'
|
||
AND Planning_RDV.PL_DateFin <= '{pDateFin}'
|
||
)
|
||
12/08/2026 Batik_WS_Com_Mob 181
|
||
|
||
Partie 4 › Collection de procédures › LIB_Traitements › Code
|
||
OR
|
||
(
|
||
Planning_RDV.PL_IDStatut={p_IDNonPlanifie}
|
||
AND 1={p_AvecNonPlanifie}
|
||
)
|
||
)
|
||
AND Planning_RDV.Archive=0
|
||
AND Planning_RDV.PL_IDTypeActivite={p_IDTypeIntervention}
|
||
)
|
||
ORDER BY
|
||
IN_PKID ASC
|
||
]
|
||
saRQ= Remplace(saRQ,"{pIDCollaborateur}",stParam.nIdCollaborateur)
|
||
saRQ= Remplace(saRQ,"{pDateDebut}",stParam.saDateDebut)
|
||
saRQ= Remplace(saRQ,"{pDateFin}",stParam.saDateFin)
|
||
saRQ= Remplace(saRQ,"{p_AvecNonPlanifie}",bAvecNonPlanifie ? 1 SINON 0)
|
||
saRQ= Remplace(saRQ,"{p_IDNonPlanifie}",DonneIdParametre(cCle_RDVAPlanifier))
|
||
saRQ= Remplace(saRQ,"{p_IDTypeIntervention}",DonneIdParametre(cCle_RDVInter))
|
||
//Construction de la réponse (tableau de ST_RDV_INTER)
|
||
saRqCR est une chaîne ANSI = [
|
||
SELECT
|
||
CompteRendu.CR_PKID,
|
||
CompteRendu.GUID AS CR_GUID,
|
||
CompteRendu.CR_DateHeureDebut,
|
||
CompteRendu.CR_DateHeureFin,
|
||
CompteRendu.CR_NoteCollaborateur,
|
||
CompteRendu.CR_NomSignataire,
|
||
CompteRendu.CR_NoteSignataire,
|
||
CompteRendu.CR_DateHeureSignature,
|
||
CompteRendu.CR_Signature,
|
||
CompteRendu.CreationUser AS CR_CreationUser,
|
||
CompteRendu.CR_IDIntervention,
|
||
CompteRendu.CR_IDRdv,
|
||
Planning_RDV.PL_IDCollaborateur,
|
||
Planning_RDV.PL_IDGroupe
|
||
FROM CompteRendu
|
||
INNER JOIN Planning_RDV ON PL_PKID = CR_IDRdv
|
||
WHERE
|
||
Planning_RDV.Archive=0
|
||
AND Planning_RDV.PL_IDTypeActivite={p_IDTypeIntervention}
|
||
AND PL_IDGroupe=Planning_RDV.PL_IDGroupe
|
||
AND
|
||
(
|
||
(
|
||
Planning_RDV.PL_IDStatut<>{p_IDNonPlanifie}
|
||
AND Planning_RDV.PL_DateDebut >= '{pDateDebut}'
|
||
AND Planning_RDV.PL_DateFin <= '{pDateFin}'
|
||
)
|
||
OR
|
||
(
|
||
Planning_RDV.PL_IDStatut={p_IDNonPlanifie}
|
||
AND 1={p_AvecNonPlanifie}
|
||
)
|
||
)
|
||
]
|
||
//saRqCR= Remplace(saRqCR,"{pIDCollaborateur}",stParam.nIdCollaborateur)
|
||
saRqCR = Remplace(saRqCR,"{pDateDebut}",stParam.saDateDebut)
|
||
saRqCR = Remplace(saRqCR,"{pDateFin}",stParam.saDateFin)
|
||
saRqCR = Remplace(saRQ,"{p_IDNonPlanifie}",DonneIdParametre(cCle_RDVAPlanifier))
|
||
saRqCR = Remplace(saRQ,"{p_IDTypeIntervention}",DonneIdParametre(cCle_RDVInter))
|
||
12/08/2026 Batik_WS_Com_Mob 182
|
||
|
||
Partie 4 › Collection de procédures › LIB_Traitements › Code
|
||
saRqCR = Remplace(saRqCR,"{p_AvecNonPlanifie}",bAvecNonPlanifie ? 1 SINON 0)
|
||
sErreur = ConstruitTableauInterventions(saRQ,saRqCR,Vrai,tblRDV)
|
||
RENVOYER sErreur
|
||
FAIRE
|
||
sErreur ="E" + ExceptionInfo(errComplet)
|
||
TraceDEBUG("bufREs : " + sErreur)
|
||
TraceDEBUG("Durée (ms) : " + ChronoFin())
|
||
RENVOYER sErreur
|
||
FIN
|
||
PROCÉDURE INTERNE ExtraitDescription(saDescript est une chaîne ANSI)
|
||
p est un entier= Position(saDescript,"##########",0,DepuisFin)
|
||
SI p>0 ALORS
|
||
RENVOYER saDescript[[p+10 À]]
|
||
SINON
|
||
RENVOYER saDescript
|
||
FIN
|
||
FIN
|
||
Procédure globale ListeRDV_V2
|
||
PROCÉDURE ListeRDV_V2(stData est une ST_MOB_DATA,tbLRDV est un tableau de ST_RDV_INTER_V2,
|
||
bAvecNonPlanifie est un booléen)
|
||
sErreur est une chaîne
|
||
QUAND EXCEPTION DANS
|
||
ChronoDébut()
|
||
TraceINFO("ListeRDV ")
|
||
saRQ_1 est une chaîne ANSI
|
||
sdRec est une Source de Données
|
||
saRQ_1 = "SELECT * FROM ParametreMetier WHERE PA_Categorie='"+cParam_TypeRDV+"' AND PA_Actif=1 "
|
||
saListeTypeActivite est une chaîne ANSI
|
||
SI HExécuteRequêteSQL(sdRec,gcnxReplica,saRQ_1) ALORS
|
||
HLitPremier(sdRec)
|
||
TANTQUE PAS HEnDehors()
|
||
ValJson est un ST_JSON_Type_RDV
|
||
bufBufJson est un Buffer
|
||
SI sdRec.PA_Parametre <> "" ALORS
|
||
bufBufJson = sdRec.PA_Parametre
|
||
Désérialise(ValJson,bufBufJson,psdJSON)
|
||
SI ValJson.envoi_mobile ALORS
|
||
SI saListeTypeActivite <> "" ALORS
|
||
saListeTypeActivite += " , "
|
||
FIN
|
||
saListeTypeActivite += "'"+sdRec.PA_CLE+"'"
|
||
FIN
|
||
FIN
|
||
HLitSuivant()
|
||
FIN
|
||
TraceERREUR("liste type de activite : " + saListeTypeActivite)
|
||
SINON
|
||
sErreur="E"+HErreurInfo(errComplet)
|
||
TraceERREUR("ConstruitTableauInterventionsAvecCopmteRendu liste type de activite : " + sErreur)
|
||
RENVOYER sErreur
|
||
FIN
|
||
stParam est un ST_REQ_LISTE_RDV
|
||
Désérialise(stParam,stData.saJSON,psdJSON)
|
||
12/08/2026 Batik_WS_Com_Mob 183
|
||
|
||
Partie 4 › Collection de procédures › LIB_Traitements › Code
|
||
//Construction de la requête de sélection
|
||
saRQ est une chaîne ANSI
|
||
saRQ=[
|
||
SELECT
|
||
RDV_Collaborateur.GUID as GUID_RDV_COLB,
|
||
RVC_GUID_RDV,
|
||
RVC_PKID,
|
||
RV_PKID,
|
||
RV_Groupe,
|
||
RV_IdSociete,
|
||
RVC_GUID_Colb,
|
||
RV_IdDossier,
|
||
RV_IdInter,
|
||
RV_CleType,
|
||
RV_CleStatut,
|
||
RV_Objet,
|
||
RV_Description,
|
||
RVC_DateDeb,
|
||
RVC_DateFin,
|
||
RVC_Superposable,
|
||
RVC_CR,
|
||
RV_SAV,
|
||
RV_IdLieu,
|
||
RVC_CleStatut,
|
||
Dossier.DO_IDClient AS DO_IDClient,
|
||
Dossier.DO_CleType,
|
||
Dossier.DO_Titre AS DO_Titre,
|
||
Dossier.DO_CleStatut,
|
||
Dossier.DO_RefInterne AS DO_RefInterne,
|
||
Dossier.DO_RefExterne AS DO_RefExterne,
|
||
Client.CL_Nom AS CL_Nom,
|
||
Client.CL_Tel AS CL_Tel,
|
||
Client.CL_Fax AS CL_Fax,
|
||
Client.CL_Email AS CL_Email,
|
||
AdClient.AD_PKID AS AdClient_PKID,
|
||
AdClient.AD_Etiquette AS AdClient_Etiquette,
|
||
AdClient.AD_Adresse AS AdClient_Adresse,
|
||
AdClient.AD_CodePostal AS AdClient_CodePostal,
|
||
AdClient.AD_Ville AS AdClient_Ville,
|
||
Intervention.IN_PKID AS IN_PKID,
|
||
Intervention.IN_CleType,
|
||
Intervention.IN_CleEtat,
|
||
Intervention.IN_IDSuiviPar AS IN_IDSuiviPar,
|
||
Intervention.IN_IDDossier AS IN_IDDossier,
|
||
Intervention.IN_IDDemandeur AS IN_IDDemandeur,
|
||
Intervention.IN_IDClient AS IN_IDClient,
|
||
Intervention.IN_IDLieu AS IN_IDLieu,
|
||
Intervention.IN_Description AS IN_Description,
|
||
Intervention.IN_AttestationTVAPresente AS IN_AttestationTVAPresente,
|
||
Intervention.IN_NoteInterne AS IN_NoteInterne,
|
||
Intervention.IN_Titre AS IN_Titre,
|
||
Intervention.IN_RefInterne AS IN_RefInterne,
|
||
Intervention.IN_RefExterne AS IN_RefExterne,
|
||
Intervention.IN_IDSociete,
|
||
Intervention.IN_NumDevis,
|
||
Intervention.IN_DateDevis,
|
||
Lieu.LI_PKID AS LI_PKID,
|
||
Lieu.LI_CodeLieu AS LI_CodeLieu,
|
||
Lieu.LI_IDAdresse AS LI_IDAdresse,
|
||
Lieu.LI_IDType AS LI_IDType,
|
||
Lieu.LI_CodeAcces AS LI_CodeAcces,
|
||
Lieu.LI_Badge AS LI_Badge,
|
||
Lieu.LI_Interphone AS LI_Interphone,
|
||
Lieu.LI_Note AS LI_Note,
|
||
Lieu.LI_CleType,
|
||
AdLieu.AD_PKID AS AdLieu_PKID,
|
||
12/08/2026 Batik_WS_Com_Mob 184
|
||
|
||
Partie 4 › Collection de procédures › LIB_Traitements › Code
|
||
AdLieu.AD_Etiquette AS AdLieu_Etiquette,
|
||
AdLieu.AD_Adresse AS AdLieu_Adresse,
|
||
AdLieu.AD_CodePostal AS AdLieu_CodePostal,
|
||
AdLieu.AD_Ville AS AdLieu_Ville,
|
||
Societe.SO_Nom,
|
||
Collaborateur.CO_Nom AS NomSuiviPar,
|
||
Collaborateur.CO_Prenom AS PrenomSuiviPar,
|
||
Collaborateur.CO_TelMobile AS TelMobSuiviPar,
|
||
Collaborateur.CO_Email AS SuiviEmail
|
||
FROM
|
||
RDV_Collaborateur
|
||
INNER JOIN RDV_Planning on RDV_Planning.GUID = RDV_Collaborateur.RVC_GUID_RDV
|
||
LEFT JOIN Intervention ON RDV_Planning.RV_IdInter = Intervention.IN_PKID
|
||
LEFT OUTER JOIN Lieu ON Intervention.IN_IDLieu = Lieu.LI_PKID
|
||
LEFT OUTER JOIN Adresse AdLieu ON Lieu.LI_IDAdresse = AdLieu.AD_PKID
|
||
LEFT OUTER JOIN Dossier ON RDV_Planning.RV_IdDossier = Dossier.DO_PKID
|
||
LEFT OUTER JOIN Client ON Dossier.DO_IDClient = Client.CL_PKID
|
||
LEFT OUTER JOIN Adresse AdClient ON Client.CL_IDAdressePrincipale = AdClient.AD_PKID
|
||
LEFT OUTER JOIN Societe ON Intervention.IN_IDSociete = Societe.SO_PKID
|
||
LEFT OUTER JOIN Collaborateur ON Intervention.IN_IDSuiviPar=Collaborateur.CO_PKID
|
||
WHERE
|
||
(
|
||
RDV_Collaborateur.RVC_GUID_Colb = '{pGUIDCollaborateur}'
|
||
AND (
|
||
(
|
||
RDV_Planning.RV_CleStatut<>'{p_CLENonPlanifie}'
|
||
AND RDV_Collaborateur.RVC_DateDeb >= '{pDateDebut}'
|
||
AND RDV_Collaborateur.RVC_DateFin <= '{pDateFin}'
|
||
)
|
||
OR
|
||
(
|
||
RDV_Planning.RV_CleStatut='{p_CLENonPlanifie}'
|
||
AND 1={p_AvecNonPlanifie}
|
||
)
|
||
)
|
||
AND RDV_Collaborateur.Archive=0
|
||
AND RDV_Planning.Archive = 0
|
||
{p_Compl_TypeAct}
|
||
)
|
||
ORDER BY
|
||
IN_PKID ASC
|
||
]
|
||
saGuidC est une chaîne ANSI = DonneGuidIdColb(stParam.nIdCollaborateur)
|
||
saRQ= Remplace(saRQ,"{pGUIDCollaborateur}",saGuidC)
|
||
saRQ= Remplace(saRQ,"{pDateDebut}",stParam.saDateDebut)
|
||
saRQ= Remplace(saRQ,"{pDateFin}",stParam.saDateFin)
|
||
saRQ= Remplace(saRQ,"{p_AvecNonPlanifie}",bAvecNonPlanifie ? 1 SINON 0)
|
||
saRQ= Remplace(saRQ,"{p_CLENonPlanifie}",cCle_RDVAPlanifier)
|
||
saRQ=Remplace(saRQ,"{p_Compl_TypeAct}","AND RDV_Planning.RV_CleType IN ("+saListeTypeActivite+")")
|
||
// SI stData.saCMD = cCMD_ListeRDV_V2 ou stData.saCMD = cCMD_ListeRDV_Clb ALORS
|
||
//
|
||
saRQ=Remplace(saRQ,"{p_Compl_TypeAct}","AND RDV_Planning.RV_CleType IN ("+saListeTypeActivite+")")
|
||
// //saRQ=Remplace(saRQ,"{p_ListeIDTypeIntervention}",saListeTypeActivite)
|
||
// SINON
|
||
// saRQ=Remplace(saRQ,"{p_Compl_TypeAct}","AND RDV_Planning.RV_CleType = "+cCle_RDVInter)
|
||
// FIN
|
||
//Construction de la réponse (tableau de ST_RDV_INTER)
|
||
TraceERREUR("REQ liste type de activite : " + saRQ)
|
||
saRqCR est une chaîne ANSI = [
|
||
SELECT
|
||
CompteRendu.CR_PKID,
|
||
12/08/2026 Batik_WS_Com_Mob 185
|
||
|
||
Partie 4 › Collection de procédures › LIB_Traitements › Code
|
||
CompteRendu.GUID AS CR_GUID,
|
||
CompteRendu.CR_DateHeureDebut,
|
||
CompteRendu.CR_DateHeureFin,
|
||
CompteRendu.CR_NoteCollaborateur,
|
||
CompteRendu.CR_NomSignataire,
|
||
CompteRendu.CR_NomSignataireTech,
|
||
CompteRendu.CR_NoteSignataire,
|
||
CompteRendu.CR_ReserveCommentaire,
|
||
CompteRendu.CR_DateHeureSignature,
|
||
CompteRendu.CR_Signature,
|
||
CompteRendu.CR_SignatureTech,
|
||
CompteRendu.CreationUser AS CR_CreationUser,
|
||
CompteRendu.CR_IDIntervention,
|
||
CompteRendu.CR_GUID_Rdv,
|
||
CompteRendu.CR_CleTypeSignataire,
|
||
CompteRendu.CR_IDCollaborateur,
|
||
CompteRendu.CR_IDRdv,
|
||
RDV_Collaborateur.RVC_GUID_Colb,
|
||
RDV_Collaborateur.RVC_GUID_RDV,
|
||
Collaborateur.CO_Nom,
|
||
Collaborateur.CO_Prenom
|
||
FROM CompteRendu
|
||
INNER JOIN RDV_Collaborateur ON RDV_Collaborateur.RVC_GUID_RDV = CompteRendu.CR_GUID_Rdv
|
||
INNER JOIN RDV_Planning ON RDV_Planning.GUID = CR_GUID_Rdv
|
||
INNER JOIN Collaborateur ON CO_PKID = CR_IDCollaborateur
|
||
WHERE
|
||
RDV_Planning.Archive=0 AND RDV_Collaborateur.Archive=0
|
||
{p_Compl_TypeAct}
|
||
AND
|
||
(
|
||
(
|
||
RDV_Planning.RV_CleStatut<>'{p_CleNonPlanifie}'
|
||
AND RDV_Collaborateur.RVC_DateDeb >= '{pDateDebut}'
|
||
AND RDV_Collaborateur.RVC_DateFin <= '{pDateFin}'
|
||
)
|
||
OR
|
||
(
|
||
RDV_Collaborateur.RVC_CleStatut='{p_CleNonPlanifie}'
|
||
AND 1={p_AvecNonPlanifie}
|
||
)
|
||
)
|
||
]
|
||
//saRqCR= Remplace(saRqCR,"{pIDCollaborateur}",stParam.nIdCollaborateur)
|
||
saRqCR = Remplace(saRqCR,"{pDateDebut}",stParam.saDateDebut)
|
||
saRqCR = Remplace(saRqCR,"{pDateFin}",stParam.saDateFin)
|
||
saRqCR = Remplace(saRqCR,"{p_CleNonPlanifie}",cCle_RDVAPlanifier)
|
||
saRqCR = Remplace(saRqCR,"{p_AvecNonPlanifie}",bAvecNonPlanifie ? 1 SINON 0)
|
||
SI stData.saCMD = cCMD_ListeRDV_V2 ALORS
|
||
saRqCR=Remplace(saRqCR,"{p_Compl_TypeAct}","AND RDV_Planning.RV_CleType IN ("+
|
||
saListeTypeActivite+")")
|
||
SINON
|
||
saRqCR=Remplace(saRqCR,"{p_Compl_TypeAct}","AND RDV_Planning.RV_CleType = '"+cCle_RDVInter+"'")
|
||
FIN
|
||
sErreur =ConstruitTableauInterventions_V2(saRQ,saRqCR,Vrai,Vrai,tbLRDV)
|
||
RENVOYER sErreur
|
||
FAIRE
|
||
sErreur ="E" + ExceptionInfo(errComplet)
|
||
TraceDEBUG("bufREs : " + sErreur)
|
||
TraceDEBUG("Durée (ms) : " + ChronoFin())
|
||
12/08/2026 Batik_WS_Com_Mob 186
|
||
|
||
Partie 4 › Collection de procédures › LIB_Traitements › Code
|
||
RENVOYER sErreur
|
||
FIN
|
||
PROCÉDURE INTERNE ExtraitDescription(saDescript est une chaîne ANSI)
|
||
p est un entier= Position(saDescript,"##########",0,DepuisFin)
|
||
SI p>0 ALORS
|
||
RENVOYER saDescript[[p+10 À]]
|
||
SINON
|
||
RENVOYER saDescript
|
||
FIN
|
||
FIN
|
||
Procédure globale ListeReferenceDOC
|
||
//Récupère la liste des documents associés à une intervention
|
||
PROCÉDURE ListeReferenceDOC(stData est une ST_MOB_DATA)
|
||
stParam est un ST_REQ_LISTE_DOC
|
||
saRep est une chaîne ANSI
|
||
tblDoc est un tableau de ST_TABELEM_DOC
|
||
bufRes est un Buffer
|
||
Désérialise(stParam,stData.saJSON,psdJSON)
|
||
SI gstContexte.stUser.nIdProfil <= 0 ALORS
|
||
bufRes="E"+ " Type de profil inconnu"
|
||
TraceDEBUG("bufREs : " + bufRes)
|
||
Sérialise(tblDoc,saRep,psdJSON)
|
||
TraceINFO("ListeReferenceDOC :"+ saRep)
|
||
RENVOYER "R"+saRep
|
||
FIN
|
||
saRQ est une chaîne ANSI =[
|
||
SELECT DISTINCT
|
||
Document.DC_PKID AS DC_PKID
|
||
,Document.DC_IDIntervention AS DC_IDIntervention
|
||
,Document.DC_Nom AS DC_Nom
|
||
,Document.DC_CleCategorie
|
||
,Document.DC_DateFichier AS DC_DateFichier
|
||
,Document.GUID AS GUID
|
||
,DocumentNote.DN_Note as DN_Note
|
||
,DocumentNote.CreationDate AS DN_Date
|
||
,DocumentNote.CreationUser AS DN_Auteur
|
||
,DocumentNote.DN_PKID AS DN_PKID
|
||
,DocumentNote.GUID as DN_GUID
|
||
,Utilisateur.UT_IDCollaborateur
|
||
,Collaborateur.CO_Nom as UT_Nom
|
||
,Collaborateur.CO_Prenom as UT_Prenom
|
||
FROM
|
||
Document LEFT OUTER JOIN DocumentNote ON Document.DC_PKID = DocumentNote.DN_IDDocument
|
||
,DocumentNote LEFT OUTER JOIN Utilisateur ON DocumentNote.CreationUser= Utilisateur.UT_PKID
|
||
,Utilisateur LEFT OUTER JOIN Collaborateur ON Collaborateur.CO_PKID =
|
||
Utilisateur.UT_IDCollaborateur
|
||
WHERE
|
||
Document.DC_IDIntervention = {pIDIntervention} AND Document.DC_Nom <>'' AND Document.GUID <>''
|
||
AND DC_CleCategorie IN ({p_CtgDocs})
|
||
]
|
||
saRQ=Remplace(saRQ,"{pIDIntervention}",NumériqueVersChaîne(stParam.nIdIntervention))
|
||
12/08/2026 Batik_WS_Com_Mob 187
|
||
|
||
Partie 4 › Collection de procédures › LIB_Traitements › Code
|
||
saRQ=Remplace(saRQ,"{p_CtgDocs}",gstContexte.sLstDocTypeAcces)
|
||
saRQ+=" ORDER BY Document.DC_DateFichier, Document.DC_PKID"
|
||
sdDoc est une Source de Données
|
||
TraceDEBUG("ListeReferenceDOC - SQL : " + saRQ)
|
||
//TraceINFO(saRQ)
|
||
SI PAS HExécuteRequêteSQL(sdDoc,gcnxReplica,hRequêteDéfaut,saRQ) ALORS
|
||
saRep="E"+ErreurInfo(errComplet)
|
||
RENVOYER saRep
|
||
FIN
|
||
nDocID est un entier sur 8 octets
|
||
stDoc est une ST_TABELEM_DOC
|
||
stNt est un ST_TABELEM_NOTEDOC
|
||
nIndice est un entier
|
||
POUR TOUT sdDoc
|
||
SI nDocID<>sdDoc.DC_PKID ALORS
|
||
nDocID = sdDoc.DC_PKID
|
||
stDoc.nDC_PKID = sdDoc.DC_PKID
|
||
stDoc.nDC_IdInter = sdDoc.DC_IDIntervention
|
||
stDoc.saDC_Nom = sdDoc.DC_Nom
|
||
stDoc.saLibCat = DonneLibParametre(sdDoc.DC_CleCategorie)
|
||
stDoc.saDC_DteFic = sdDoc.DC_DateFichier
|
||
stDoc.saDocGuid = sdDoc.GUID
|
||
nIndice=tblDoc.Ajoute(stDoc)
|
||
FIN
|
||
//Remplissage du tableau des notes
|
||
SI sdDoc.DN_Note<>"" ALORS
|
||
stNt.saGUID = sdDoc.DN_GUID
|
||
stNt.saDN_Note = sdDoc.DN_Note
|
||
stNt.saDN_Date = sdDoc.DN_Date
|
||
//stNt.nDN_Auteur = sdDoc.DN_Auteur
|
||
stNt.nIdUsr = sdDoc.DN_Auteur
|
||
stNt.saNomAuteur =sdDoc.UT_Prenom + [" "]+ sdDoc.UT_Nom
|
||
stNt.nDN_DOCPKID = sdDoc.DC_PKID
|
||
tblDoc[nIndice].tblNotes.Ajoute(stNt)
|
||
FIN
|
||
FIN
|
||
HAnnuleDéclaration(sdDoc)
|
||
Sérialise(tblDoc,saRep,psdJSON)
|
||
TraceINFO("ListeReferenceDOC :"+ saRep)
|
||
RENVOYER "R"+saRep
|
||
Procédure globale ListeTemps
|
||
PROCÉDURE ListeTemps(stData est une ST_MOB_DATA)
|
||
bufRes est un Buffer
|
||
ChronoDébut()
|
||
QUAND EXCEPTION DANS
|
||
//Tableau des Temps passés
|
||
tbTemps est un tableau de ST_TEMPS
|
||
//Récupération des paramètres de la requête dans stData.saJSON
|
||
12/08/2026 Batik_WS_Com_Mob 188
|
||
|
||
Partie 4 › Collection de procédures › LIB_Traitements › Code
|
||
stParam est un ST_REQ_LISTE_TEMPS
|
||
Désérialise(stParam,stData.saJSON,psdJSON)
|
||
sdTps est une Source de Données
|
||
saRQ est une chaîne ANSI=[
|
||
SELECT
|
||
SDT_PKID,GUID,SDT_IDIntervention,SDT_IDCollaborateur,SDT_DateDebut,SDT_DateHeureFin,SDT_Pondera
|
||
tion,SDT_NbMinutes,SDT_CleType,SDT_Libelle,
|
||
Intervention.IN_RefInterne
|
||
FROM SUIVIDESTEMPS LEFT OUTER JOIN Intervention ON SuiviDesTemps.SDT_IDIntervention =
|
||
Intervention.IN_PKID
|
||
WHERE (SDT_DateDebut BETWEEN '{pDebut}' AND '{pFin}' ) AND
|
||
SDT_IDCollaborateur={pIdCollaborateur}
|
||
ORDER BY SDT_DateDebut DESC
|
||
]
|
||
saRQ=Remplace(saRQ,"{pDebut}",stParam.saDateDebut)
|
||
saRQ=Remplace(saRQ,"{pFin}",stParam.saDateFin)
|
||
saRQ=Remplace(saRQ,"{pIdCollaborateur}",stParam.nIdCollaborateur)
|
||
SI PAS HExécuteRequêteSQL(sdTps,gcnxReplica,hRequêteDéfaut,saRQ) ALORS
|
||
TraceDEBUG("Erreur lecture des Temps " + HErreurInfo(hErrComplet))
|
||
SINON
|
||
stTps est un ST_TEMPS
|
||
POUR TOUT sdTps
|
||
stTps:nIdInter = sdTps.SDT_IDIntervention
|
||
stTps:nIdTps = sdTps.SDT_PKID
|
||
stTps:nIdCollab = sdTps.SDT_IDCollaborateur
|
||
stTps:saNumInter = sdTps.IN_RefInterne
|
||
stTps:saHeureDebut = sdTps.SDT_DateDebut
|
||
stTps:nNbMinutes = sdTps.SDT_NbMinutes
|
||
stTps:saHeureFin = sdTps.SDT_DateHeureFin
|
||
stTps:nPond100 = sdTps.SDT_Ponderation*100
|
||
stTps:nIdTypeTps = DonneIdParametre(sdTps.SDT_CleType)
|
||
stTps:saLibelle = sdTps.SDT_Libelle
|
||
stTps:saGuid = sdTps.GUID
|
||
tbTemps.Ajoute(stTps)
|
||
FIN
|
||
Sérialise(tbTemps,bufRes,psdJSON)
|
||
FIN
|
||
RENVOYER "R" + bufRes
|
||
FAIRE
|
||
bufRes ="E" + ExceptionInfo(errComplet)
|
||
TraceDEBUG("bufREs : " + bufRes)
|
||
TraceDEBUG("Durée (ms) : " + ChronoFin())
|
||
RENVOYER bufRes
|
||
FIN
|
||
Procédure globale ListeTempsPasse
|
||
PROCÉDURE ListeTempsPasse(stData est une ST_MOB_DATA)
|
||
bufRes est un Buffer
|
||
ChronoDébut()
|
||
QUAND EXCEPTION DANS
|
||
stRdvTemp est un ST_TEMPS_PASSE_RDV
|
||
12/08/2026 Batik_WS_Com_Mob 189
|
||
|
||
Partie 4 › Collection de procédures › LIB_Traitements › Code
|
||
//Tableau des Temps passés
|
||
//tbTemps est un tableau de ST_TEMPS_PASSE
|
||
//Récupération des paramètres de la requête dans stData.saJSON
|
||
stParam est un ST_REQ_LISTE_TEMPS_PASSE
|
||
Désérialise(stParam,stData.saJSON,psdJSON)
|
||
sdTps est une Source de Données
|
||
saRQ est une chaîne ANSI=[
|
||
SELECT
|
||
SDT_PKID,GUID,SDT_IDIntervention,SDT_IDCollaborateur,SDT_DateDebut,SDT_DateHeureFin,SDT_NbMinut
|
||
es,SDT_CleType,SDT_Libelle,
|
||
Intervention.IN_RefInterne,SDT_IDRdv,SDT_Controle
|
||
FROM SUIVIDESTEMPS LEFT OUTER JOIN Intervention ON SuiviDesTemps.SDT_IDIntervention =
|
||
Intervention.IN_PKID
|
||
//WHERE (SDT_DateDebut BETWEEN '{pDebut}' AND '{pFin}' ) AND
|
||
SDT_IDCollaborateur={pIdCollaborateur}
|
||
WHERE SDT_IDRdv={p_IDRdv}
|
||
AND SDT_IDCollaborateur={pIdCollaborateur}
|
||
//ORDER BY SDT_DateDebut DESC
|
||
]
|
||
saRQ=Remplace(saRQ,"{p_IDRdv}",stParam.nIdrdv)
|
||
saRQ=Remplace(saRQ,"{pIdCollaborateur}",stParam.nIdCollaborateur)
|
||
SI PAS HExécuteRequêteSQL(sdTps,gcnxReplica,hRequêteDéfaut,saRQ) ALORS
|
||
TraceDEBUG("Erreur lecture des Temps passés" + HErreurInfo(hErrComplet))
|
||
SINON
|
||
stRdvTemp.nIdRDV = sdTps.SDT_IDRdv
|
||
stTps est un ST_TEMPS_PASSE
|
||
POUR TOUT sdTps
|
||
stTps:saGuid = sdTps.GUID
|
||
stTps:nIdTypeTps = DonneIdParametre(sdTps.SDT_CleType)
|
||
stTps:nTemps = sdTps.SDT_NbMinutes
|
||
stTps:saDateHeureDeb = sdTps.SDT_DateDebut
|
||
stTps:saDateHeureFin = sdTps.SDT_DateHeureFin
|
||
stTps:bModifiable = sdTps.SDT_Controle ? Faux SINON sdTps.SDT_IDCollaborateur=stParam.
|
||
nIdCollaborateur
|
||
stRdvTemp.tblTemps.Ajoute(stTps)
|
||
FIN
|
||
Sérialise(stRdvTemp,bufRes,psdJSON)
|
||
FIN
|
||
RENVOYER "R" + bufRes
|
||
FAIRE
|
||
bufRes ="E" + ExceptionInfo(errComplet)
|
||
TraceDEBUG("bufREs : " + bufRes)
|
||
TraceDEBUG("Durée (ms) : " + ChronoFin())
|
||
RENVOYER bufRes
|
||
FIN
|
||
Procédure globale MotCleModeleEmail_Rub_Rapport
|
||
PROCÉDURE MotCleModeleEmail_Rub_Rapport(TermeRapportEmail est un STJSONRubriqueRapport,TermeRapport est
|
||
un STJSONRubriqueRapport)
|
||
n est un entier
|
||
12/08/2026 Batik_WS_Com_Mob 190
|
||
|
||
Partie 4 › Collection de procédures › LIB_Traitements › Code
|
||
sGrouppeApp est une chaîne ANSI
|
||
saRQRub est une chaîne ANSI = [
|
||
SELECT * FROM MotClef WHERE MOC_Langue='FR'
|
||
]
|
||
sdRqRub est une Source de Données
|
||
SI PAS HExécuteRequêteSQL(sdRqRub,gcnxReplica,saRQRub) ALORS
|
||
// modele introuvable
|
||
SINON
|
||
POUR TOUT sdRqRub
|
||
n = TableauCherche(TermeRapport.ListeTerme,tcLinéaire,"Groupe;MembreEmailMob",sdRqRub.
|
||
MOC_Groupe,sdRqRub.MOC_Code)
|
||
SI n <= 0 ALORS
|
||
sGrouppeApp = DonneGrouppeAppSelonGroupe(sdRqRub.MOC_Groupe)
|
||
SI sGrouppeApp = cRp_Client OU sGrouppeApp = cRp_Dossier ALORS
|
||
POUR TOUT stUnTerme, v de TermeRapport.ListeTerme
|
||
SI Contient(stUnTerme:MembreEmailMob,sdRqRub.MOC_Code,MotComplet+SansCasse) ALORS
|
||
n = v
|
||
SORTIR
|
||
FIN
|
||
FIN
|
||
FIN
|
||
FIN
|
||
stMC est un STJSONMembreRubRapport
|
||
SI n > 0 ALORS
|
||
stMC = TermeRapport.ListeTerme[n]
|
||
SINON
|
||
stMC.Nom = sdRqRub.MOC_Lib
|
||
stMC.MembreMob = sdRqRub.MOC_Code
|
||
n = TableauCherche(TermeRapport.ListeTerme,tcLinéaire,"Groupe",
|
||
sdRqRub.MOC_Groupe)
|
||
SI n > 0 ALORS
|
||
stMC.GroupeApp = TermeRapport.ListeTerme[n].GroupeApp
|
||
stMC.Groupe = TermeRapport.ListeTerme[n].Groupe
|
||
SINON
|
||
stMC.GroupeApp = DonneGrouppeAppSelonGroupe(sdRqRub.MOC_Groupe)
|
||
stMC.MembreMob = Remplace(sdRqRub.MOC_Code,".", "_")
|
||
FIN
|
||
stMC.EnvoiMob = Faux
|
||
FIN
|
||
stMC.Rubrique = sdRqRub.MOC_Mot
|
||
TermeRapportEmail.ListeTerme.Ajoute(stMC)
|
||
FIN
|
||
FIN
|
||
Procédure globale OuvreConnexionsHF
|
||
PROCÉDURE OuvreConnexionsHF()
|
||
<COMPILE SI Configuration="Debug WS_COM_MOBILE">
|
||
RENVOYER Vrai
|
||
<FIN>
|
||
<COMPILE SI Configuration="WS_COM_MOBILE">
|
||
RENVOYER EXE_OuvreConnexionHFSQL()
|
||
12/08/2026 Batik_WS_Com_Mob 191
|
||
|
||
Partie 4 › Collection de procédures › LIB_Traitements › Code
|
||
<FIN>
|
||
QUAND EXCEPTION DANS
|
||
gcnxBaseSync..Serveur="127.0.0.1:" + gstContexte.saNumPort
|
||
gcnxBaseSync..BaseDeDonnées = gstContexte.saBaseSync
|
||
gcnxReplica..Serveur="127.0.0.1:" + gstContexte.saNumPort
|
||
gcnxReplica..BaseDeDonnées=gstContexte.saBaseData
|
||
TraceINFO("OuvreConnexionsHF :" + gstContexte.saNumPort)
|
||
HChangeConnexion("*",gcnxBaseSync)
|
||
gsaPass = BufferVersHexa(HashChaîne(HA_MD5_128,gcnxReplica..BaseDeDonnées),SansRegroupement)
|
||
sPassSysteme est une chaîne ANSI= BufferVersHexa(HashChaîne(HA_MD5_128,Mdp3 + gcnxReplica..
|
||
BaseDeDonnées),SansRegroupement)
|
||
SI PAS HOuvreConnexion(gcnxBaseSync) ALORS
|
||
TraceERREUR("ERREUR OuvreConnexionsHF " + gcnxBaseSync..BaseDeDonnées + RC + gcnxBaseSync..
|
||
Serveur +RC+ HErreurInfo(hErrComplet) )
|
||
RENVOYER Faux
|
||
FIN
|
||
SI PAS HOuvreConnexion(gcnxReplica) ALORS
|
||
TraceERREUR("ERREUR OuvreConnexionsHF " + gcnxReplica..BaseDeDonnées + RC + gcnxReplica..
|
||
Serveur +RC+ HErreurInfo(hErrComplet) )
|
||
RENVOYER Faux
|
||
FIN
|
||
//Vérification ultime de la présence de la base de données du client sur le serveur
|
||
saLst est une chaîne ANSI = HListeBaseDeDonnées(gcnxReplica,hLstNormal)
|
||
SI ChaîneOccurrence(saLst, gstContexte.saBaseData ,SansCasse) =0 ALORS
|
||
TraceERREUR("ERREUR OuvreConnexionsHF : La base client n'existe pas sur ce serveur HF " + saLst
|
||
)
|
||
RENVOYER Faux
|
||
FIN
|
||
//Déclaration Externe de tous les fichiers du répliqua
|
||
saLst = HListeFichier(gcnxReplica)
|
||
POUR TOUTE CHAÎNE saFic DE saLst SÉPARÉE PAR RC
|
||
SI ChaîneOccurrence(saFic,"\")=0 ALORS
|
||
SI saFic="ParametreSysteme.fic" _OU_ saFic="ParametreMetierEntete.fic" _OU_ saFic="
|
||
Etats.fic" ALORS
|
||
SI PAS HPasse(ExtraitChaîne(saFic,1,"."),sPassSysteme) ALORS
|
||
TraceERREUR(HErreurInfo(hErrComplet))
|
||
FIN
|
||
SINON
|
||
SI PAS HPasse(ExtraitChaîne(saFic,1,"."),gsaPass) ALORS
|
||
TraceERREUR(HErreurInfo(hErrComplet))
|
||
FIN
|
||
FIN
|
||
SI PAS HDéclareExterne(saFic,ExtraitChaîne(saFic,1,"."),gcnxReplica) ALORS
|
||
TraceERREUR(HErreurInfo(hErrComplet))
|
||
FIN
|
||
FIN
|
||
FIN
|
||
//Déclaration Externe de la table paramètres pour pouvoir la manipuler avec des fonction Hxxx
|
||
HPasse(gsdParamApplication,gsaPass)
|
||
HDéclareExterne("ParametreApplication.fic",gsdParamApplication,gcnxReplica)
|
||
TraceINFO("Connexions OK")
|
||
RENVOYER Vrai
|
||
FAIRE
|
||
TraceERREUR("ERREUR OuvreConnexionsHF " + ExceptionInfo(errComplet) )
|
||
RENVOYER Faux
|
||
12/08/2026 Batik_WS_Com_Mob 192
|
||
|
||
Partie 4 › Collection de procédures › LIB_Traitements › Code
|
||
FIN
|
||
Procédure globale OuvreSessionEmail
|
||
PROCÉDURE OuvreSessionEmail(LOCAL nMode est un entier, LOCAL sLogin est une chaîne, LOCAL sMdp est une
|
||
chaîne, LOCAL sAdresseServeur est une chaîne,LOCAL sPortServeur est une chaîne, LOCAL nCryptage est un
|
||
entier)
|
||
bResultat est un booléen
|
||
EmailChangeTimeOut(10)
|
||
//1=IMAP
|
||
//2=POP3
|
||
//3=SMTP
|
||
SELON nMode
|
||
CAS 1 : bResultat = EmailOuvreSessionIMAP(sLogin, sMdp, sAdresseServeur, Val(sPortServeur),
|
||
nCryptage=1 ? emailOptionDéfaut SINON nCryptage=2 ? emailOptionSécuriséTLS SINON optionSSL)
|
||
CAS 2 : bResultat = EmailOuvreSessionPOP3(sLogin, sMdp, sAdresseServeur, Val(sPortServeur),
|
||
nCryptage=1 ? emailOptionDéfaut SINON nCryptage=2 ? emailOptionSécuriséTLS SINON optionSSL)
|
||
CAS 3 : bResultat = EmailOuvreSessionSMTP(sLogin, sMdp, sAdresseServeur, Val(sPortServeur), Faux,
|
||
nCryptage=1 ? emailOptionDéfaut SINON nCryptage=2 ? emailOptionSécuriséTLS SINON optionSSL)
|
||
FIN
|
||
sMsg est une chaîne
|
||
SI ErreurDétectée() ALORS
|
||
sMsg = ErreurInfo(errComplet)
|
||
bResultat = Faux
|
||
FIN
|
||
RENVOYER (bResultat,sMsg)
|
||
Procédure globale PurgeTOMOB_24h
|
||
PROCÉDURE PurgeTOMOB_24h()
|
||
//Supprime tous les enregistrements de plus de 24h
|
||
rq est une Requête SQL =
|
||
[
|
||
DELETE FROM TOMOB WHERE TM_Date < {pDate}
|
||
]
|
||
dh est une DateHeure = DateHeureSys()
|
||
dh..Heure -= 24
|
||
rq.pDate=dh
|
||
HExécuteRequête(rq)
|
||
Procédure globale RechercheDonneesSimpleRapportMob
|
||
PROCÉDURE RechercheDonneesSimpleRapportMob(ListeMob est un tableau de STJSONMembreRubRapport, unTerme
|
||
est un STJSONMembreRubRapport)
|
||
b est un entier
|
||
sAInfoRemp est une chaîne ANSI
|
||
SI unTerme:EnvoiMob ALORS
|
||
b = TableauCherche(ListeMob,tcLinéaire,"Rubrique;Utilisee",unTerme:Rubrique, Faux)
|
||
FIN
|
||
TraceINFO("b => "+b+" "+unTerme:Rubrique)
|
||
12/08/2026 Batik_WS_Com_Mob 193
|
||
|
||
Partie 4 › Collection de procédures › LIB_Traitements › Code
|
||
SI b > 0 ALORS
|
||
ListeMob[b].Utilisee = Vrai
|
||
TraceINFO("données b => "+ListeMob[b].ListeDonnesMob)
|
||
SI ListeMob[b].ListeDonnesmob <> "" ALORS
|
||
sAInfoRemp = TraitementSelonTypeRubRapportMob(unTerme,ListeMob[b].ListeDonnesMob)
|
||
SINON
|
||
sAInfoRemp = TraitementSelonTypeRubRapportMob(unTerme,unTerme:ListeDonnesBD)
|
||
FIN
|
||
SINON
|
||
// Comment ce n'est pas envoyé dans le mobile je cherche directement dans le données (Bqse
|
||
de données)
|
||
b = TableauCherche(ListeMob,tcLinéaire,"Rubrique;Utilisee",unTerme:Rubrique
|
||
, Faux)
|
||
SI b > 0 ALORS
|
||
sAInfoRemp = TraitementSelonTypeRubRapportMob(unTerme,ListeMob[b].ListeDonnesBD)
|
||
ListeMob[b].Utilisee = Vrai
|
||
SINON
|
||
sAInfoRemp = TraitementSelonTypeRubRapportMob(unTerme,unTerme:ListeDonnesBD)
|
||
FIN
|
||
FIN
|
||
RENVOYER sAInfoRemp
|
||
Procédure globale RechercheInfoDansVariantRapport
|
||
PROCÉDURE RechercheInfoDansVariantRapport(unTerme est un STJSONMembreRubRapport, stTerme est un
|
||
STJSONListeMembre, UnEle est un Variant,ImgBuf est un Buffer,...
|
||
saInfoV est une chaîne ANSI, sdRReq est une source de données,CheminImg est une chaîne
|
||
ANSI)
|
||
satxt est une chaîne ANSI
|
||
saIdentifiant est une chaîne ANSI
|
||
saValeurId est une chaîne ANSI
|
||
QUAND EXCEPTION DANS
|
||
SELON unTerme.GroupeApp
|
||
CAS cRp_CR
|
||
saIdentifiant = "sdRReq.CR_GUID"
|
||
saValeurId = Remplace(UnEle.saGuidCR,RC,"")
|
||
CAS cRp_Photo
|
||
saIdentifiant = "UnEle.nDC_PKID"
|
||
saValeurId = Remplace(UnEle.saGUID,RC,"")
|
||
FIN
|
||
SI PAS stTerme:BD ALORS
|
||
satxt = "UnEle."+stTerme:MembreMob
|
||
saInfoV = {satxt}
|
||
SI stTerme:TypeMembre = "ChpImage" OU stTerme:Type = "ChpImage"ALORS
|
||
SI fRepExiste(CheminImg) ALORS
|
||
sExtension est une chaîne ANSI = fExtraitChemin(UnEle.saNom, fExtension)
|
||
sNOMiMG est une chaîne ANSI = saValeurId+sExtension
|
||
SI fFichierExiste(CheminImg+sNOMiMG) ALORS
|
||
ImgBuf = fChargeBuffer(CheminImg+sNOMiMG)
|
||
FIN
|
||
FIN
|
||
FIN
|
||
SINON
|
||
POUR TOUT sdRReq
|
||
12/08/2026 Batik_WS_Com_Mob 194
|
||
|
||
Partie 4 › Collection de procédures › LIB_Traitements › Code
|
||
SI {saIdentifiant} = saValeurId ALORS
|
||
satxt = "sdRReq."
|
||
satxt += stTerme:MembreMob
|
||
saInfoV = {satxt}
|
||
SI stTerme:TypeMembre = "ChpImage" OU stTerme:Type = "ChpImage"ALORS
|
||
ImgBuf = {satxt}
|
||
FIN
|
||
FIN
|
||
FIN
|
||
FIN
|
||
FAIRE
|
||
saInfoV = ""
|
||
ImgBuf = ""
|
||
TraceINFO("Info var " + saInfoV)
|
||
TraceERREUR("Erreur dans la création du rapport IMG"+ExceptionInfo())
|
||
FIN
|
||
Procédure globale RechercheInterventions
|
||
PROCÉDURE RechercheInterventions(stData est une ST_MOB_DATA)
|
||
bDroitTout, bDroitUniqRDV, bAccesDossier sont des booléens
|
||
saRQ,saWhere sont des chaînes ANSI
|
||
bufRes est un Buffer
|
||
TraceINFO("RechercheRDV ")
|
||
// Recherche de droits
|
||
SI gstContexte:tbaDroitsAcces[cGestion_R_I_SOC_ATCH]..Existe = Vrai _ET_ gstContexte:tbaDroitsAcces
|
||
[cGestion_R_I_SOC_ATCH] ALORS
|
||
bDroitTout = Vrai
|
||
FIN
|
||
SI gstContexte:tbaDroitsAcces[cGestion_R_I_RDV_EXST]..Existe = Vrai _ET_ gstContexte:tbaDroitsAcces
|
||
[cGestion_R_I_RDV_EXST] ALORS
|
||
bDroitUniqRDV = Vrai
|
||
FIN
|
||
SI gstContexte:tbaDroitsAcces[cGestion_R_I_RDV_EXST_DS]..Existe = Vrai _ET_ gstContexte:
|
||
tbaDroitsAcces[cGestion_R_I_RDV_EXST_DS] ALORS
|
||
bAccesDossier = Vrai
|
||
FIN
|
||
<COMPILE SI Configuration="Webservice" OU Configuration="Webservice_Bouvard">
|
||
// selon configuration du à la mise à jour chez le client
|
||
SI bDroitTout ET bDroitUniqRDV ET bAccesDossier ALORS
|
||
// il y a tous les droit on ne modifie rien
|
||
saRQ = ReqRechercheIntervention(stData,"")
|
||
saWhere = ""
|
||
SINON
|
||
// Création condition where selon les droits
|
||
// Ne pas modifier l'ordre des conditions
|
||
SI bDroitTout ET gstContexte.stUser.nIdCollab > 0 ALORS
|
||
saWhere = WhereRechercheIntDroitSoc(stData,gstContexte.stUser.nIdCollab)
|
||
SINON SI bAccesDossier ET gstContexte.stUser.saGuid <> ""
|
||
saWhere = WhereRechercheIntDroitDossier(stData,gstContexte.stUser.saGuid)
|
||
SINON SI bDroitUniqRDV ET gstContexte.stUser.saGuid <> ""
|
||
saWhere = WhereRechercheIntDroitRDV(stData,gstContexte.stUser.saGuid)
|
||
FIN
|
||
FIN
|
||
12/08/2026 Batik_WS_Com_Mob 195
|
||
|
||
Partie 4 › Collection de procédures › LIB_Traitements › Code
|
||
// Condition appliquées (selon droit) on construit la req
|
||
SI saWhere <> "" ALORS
|
||
saRQ = ReqRechercheIntervention(stData,saWhere)
|
||
FIN
|
||
<SINON>
|
||
SI bDroitTout ALORS
|
||
saRQ= ReqRechercheIntervention(stData,"")
|
||
saWhere = ""
|
||
FIN
|
||
<FIN>
|
||
// si il y a une requête on construit les interventions sinon on renvoi un tableau vide
|
||
SI saRQ <> "" ALORS
|
||
RENVOYER ConstruitResultatRechercheInterventions(saRQ)
|
||
SINON
|
||
tblINT est un tableau de ST_INTER
|
||
Sérialise(tblINT,bufRes,psdJSON)
|
||
bufRes ="R" + bufRes
|
||
TraceINFO("bufREs Vide : " + bufRes)
|
||
RENVOYER bufRes
|
||
FIN
|
||
Procédure globale RechercheInterventionsNonPlannifiées
|
||
PROCÉDURE RechercheInterventionsNonPlannifiées(tblRDV est un tableau de ST_RDV_INTER)
|
||
sErreur est une chaîne
|
||
QUAND EXCEPTION DANS
|
||
TraceINFO("RechercheInterventionsNonPlannifiées pour " + gstContexte.stUser.nIdCollab +" " + gst
|
||
Contexte.saNomUser)
|
||
//Construction de la requête de sélection
|
||
saRQ est une chaîne ANSI
|
||
saRQ=[
|
||
SELECT
|
||
Dossier.DO_IDClient AS DO_IDClient,
|
||
Dossier.DO_CleType,
|
||
Dossier.DO_Titre AS DO_Titre,
|
||
Dossier.DO_CleStatut,
|
||
Dossier.DO_RefInterne AS DO_RefInterne,
|
||
Dossier.DO_RefExterne AS DO_RefExterne,
|
||
Client.CL_Nom AS CL_Nom,
|
||
Client.CL_Tel AS CL_Tel,
|
||
Client.CL_Fax AS CL_Fax,
|
||
AdClient.AD_PKID AS AdClient_PKID,
|
||
AdClient.AD_Etiquette AS AdClient_Etiquette,
|
||
AdClient.AD_Adresse AS AdClient_Adresse,
|
||
AdClient.AD_CodePostal AS AdClient_CodePostal,
|
||
AdClient.AD_Ville AS AdClient_Ville,
|
||
Intervention.IN_PKID AS IN_PKID,
|
||
Intervention.IN_CleType,
|
||
Intervention.IN_CleEtat,
|
||
Intervention.IN_IDSuiviPar AS IN_IDSuiviPar,
|
||
Intervention.IN_IDDossier AS IN_IDDossier,
|
||
Intervention.IN_IDDemandeur AS IN_IDDemandeur,
|
||
Intervention.IN_IDClient AS IN_IDClient,
|
||
Intervention.IN_IDLieu AS IN_IDLieu,
|
||
Intervention.IN_Description AS IN_Description,
|
||
Intervention.IN_AttestationTVAPresente AS IN_AttestationTVAPresente,
|
||
12/08/2026 Batik_WS_Com_Mob 196
|
||
|
||
Partie 4 › Collection de procédures › LIB_Traitements › Code
|
||
Intervention.IN_NoteInterne AS IN_NoteInterne,
|
||
Intervention.IN_Titre AS IN_Titre,
|
||
Intervention.IN_RefInterne AS IN_RefInterne,
|
||
Intervention.IN_RefExterne AS IN_RefExterne,
|
||
Intervention.IN_IDSociete,
|
||
Lieu.LI_PKID AS LI_PKID,
|
||
Lieu.LI_CodeLieu AS LI_CodeLieu,
|
||
Lieu.LI_IDAdresse AS LI_IDAdresse,
|
||
Lieu.LI_CleType,
|
||
Lieu.LI_CodeAcces AS LI_CodeAcces,
|
||
Lieu.LI_Badge AS LI_Badge,
|
||
Lieu.LI_Interphone AS LI_Interphone,
|
||
Lieu.LI_Note AS LI_Note,
|
||
AdLieu.AD_PKID AS AdLieu_PKID,
|
||
AdLieu.AD_Etiquette AS AdLieu_Etiquette,
|
||
AdLieu.AD_Adresse AS AdLieu_Adresse,
|
||
AdLieu.AD_CodePostal AS AdLieu_CodePostal,
|
||
AdLieu.AD_Ville AS AdLieu_Ville,
|
||
Demandeur.PE_Nom AS PE_Nom,
|
||
Demandeur.PE_Prenom,
|
||
Collaborateur.CO_Nom AS NomSuiviPar,
|
||
Collaborateur.CO_Prenom AS PrenomSuiviPar,
|
||
Collaborateur.CO_TelMobile AS TelMobSuiviPar,
|
||
Societe.SO_Nom
|
||
FROM
|
||
Intervention INNER JOIN Dossier ON Intervention.IN_IDDossier=Dossier.DO_PKID
|
||
,Intervention LEFT OUTER JOIN Lieu ON Intervention.IN_IDLieu = Lieu.LI_PKID
|
||
,Intervention LEFT OUTER JOIN Client ON Intervention.IN_IDClient = Client.CL_PKID
|
||
,Lieu LEFT OUTER JOIN Adresse AdLieu ON Lieu.LI_IDAdresse = AdLieu.AD_PKID
|
||
,Client LEFT OUTER JOIN Adresse AdClient ON Client.CL_IDAdressePrincipale =
|
||
AdClient.AD_PKID
|
||
,Intervention INNER JOIN Intervention_Collaborateur ON Intervention.IN_PKID =
|
||
Intervention_Collaborateur.IC_IDIntervention
|
||
,Intervention LEFT OUTER JOIN Personne Demandeur ON Intervention.IN_IDDemandeur =
|
||
Demandeur.PE_PKID
|
||
,Intervention LEFT OUTER JOIN Collaborateur ON Intervention.IN_IDSuiviPar=Collaborateur.CO_PKID
|
||
,Intervention LEFT OUTER JOIN Societe ON Intervention.IN_IDSociete = Societe.SO_PKID
|
||
WHERE
|
||
Intervention.IN_PKID NOT IN (SELECT RDV_Planning.RV_IdInter FROM RDV_Planning WHERE
|
||
RDV_Planning.Archive=0)
|
||
]
|
||
//Construction de la clause WHERE qui sera ensuite ajoutée dans la requête de recherche
|
||
//Une Intervention non planifiée à par définition :
|
||
// pas de RDV associé
|
||
// Un statut différent de "Terminé" ou "Attente"
|
||
// Est attribuée à l'utilisateur du mobile qui fait la requête
|
||
saRQ +="AND Intervention_Collaborateur.IC_IDCollaborateur=" + gstContexte.stUser.nIdCollab
|
||
saRQ +="AND Intervention.IN_CleEtat IN (" + gstContexte.sLstEtatsInter +")"
|
||
sErreur = ConstruitTableauInterventions(saRQ,"",Faux,tblRDV)
|
||
RENVOYER sErreur
|
||
FAIRE
|
||
sErreur ="E" + ExceptionInfo(errComplet)
|
||
TraceDEBUG("ERREUR dans RechercheInterventionsNonPlannifiées : " + sErreur)
|
||
12/08/2026 Batik_WS_Com_Mob 197
|
||
|
||
Partie 4 › Collection de procédures › LIB_Traitements › Code
|
||
RENVOYER sErreur
|
||
FIN
|
||
Procédure globale RechercheListeRubModeleMail
|
||
PROCÉDURE RechercheListeRubModeleMail(nIdModeleMail est un entier sur 8 octets,CorpEmailDoc est un
|
||
Document, SujetEmailDoc est un Document,...
|
||
TermeRapportEmail est un STJSONRubriqueRapport, TermeRapport est un STJSONRubriqueRapport)
|
||
tbMotCleSpec est un tableau de STJSONMembreRubRapport
|
||
tabToutesRub est un tableau de STJSONMembreRubRapport
|
||
saRQModeleMail est une chaîne ANSI = [
|
||
SELECT * FROM MailModele WHERE MM_PKID =
|
||
]
|
||
saRQModeleMail += nIdModeleMail
|
||
sdRqModele est une Source de Données
|
||
SI PAS HExécuteRequêteSQL(sdRqModele,gcnxReplica,saRQModeleMail) ALORS
|
||
RENVOYER Faux
|
||
SINON
|
||
CorpEmailDoc = sdRqModele.MM_MsgDoc
|
||
SujetEmailDoc = sdRqModele.MM_Sujet
|
||
SI sdRqModele.MM_Extra <> "" ALORS
|
||
Désérialise(tbMotCleSpec,sdRqModele.MM_Extra,psdJSON)
|
||
POUR TOUT stUnMot DE tbMotCleSpec
|
||
SI stUnMot:TypeMembre <> "" ALORS
|
||
stUnMot:Type = stUnMot:TypeMembre //Pour compatibilite dans le mobile
|
||
FIN
|
||
FIN
|
||
FIN
|
||
FIN
|
||
TermeRapport.ListeTerme = ChargeListeRubDoc()
|
||
SI TermeRapport.ListeTerme..Occurrence > 0 ALORS
|
||
TableauTrie(TermeRapportEmail:ListeTerme,ttMembre,"Groupe;Ordre")
|
||
ConstructionTbRubBaseRapport(TermeRapport,tabToutesRub,SujetEmailDoc,Vrai)
|
||
ConstructionTbRubBaseRapport(TermeRapport,tabToutesRub,CorpEmailDoc)
|
||
FIN
|
||
TermeRapportEmail.ListeTerme = tabToutesRub
|
||
ConstructionTbRubEnvoyerMob(TermeRapport,tabToutesRub,TermeRapportEmail.ListeTerme,CorpEmailDoc,Vrai,
|
||
tbMotCleSpec)
|
||
RENVOYER Vrai
|
||
Procédure globale RecupereContexte
|
||
PROCÉDURE RecupereContexte(stData est une ST_MOB_DATA)
|
||
bufRes est un Buffer
|
||
nIdUser est un entier sur 8 octets = stData.saJSON
|
||
QUAND EXCEPTION DANS
|
||
stContexte est un ST_CONTEXTE
|
||
stContexte.stUser <= gstContexte.stUser
|
||
//Récupération de l'id du statut du rdv qui a pour valeur 99
|
||
saRQest une chaîne ANSI
|
||
sdRec est une Source de Données
|
||
saRQ= "SELECT * FROM ParametreApplication WHERE PAP_Code='ParamApp' "
|
||
12/08/2026 Batik_WS_Com_Mob 198
|
||
|
||
Partie 4 › Collection de procédures › LIB_Traitements › Code
|
||
SI HExécuteRequêteSQL(sdRec,gcnxReplica,saRQ) ALORS
|
||
SI HLitPremier(sdRec) ALORS
|
||
SI sdRec.PAP_Valeur <> "" ALORS
|
||
Désérialise(stContexte.stUser.ParamApp,sdRec.PAP_Valeur,psdJSON)
|
||
FIN
|
||
FIN
|
||
FIN
|
||
SI gstContexte.stUser.nIdProfil > 0 ALORS
|
||
saRQ2 est une chaîne ANSI =
|
||
"SELECT AED_CleAcces , AED_Acces FROM AccesEtDroit WHERE AccesEtDroit.AED_IdRole = "
|
||
saRQ2 += gstContexte.stUser.nIdProfil+" AND AED_CleAcces IN ('"+cGestion_Envoi_Email+"','"+
|
||
cGestion_Creation_Rp+"')"
|
||
sdRec2 est une Source de Données
|
||
SI HExécuteRequêteSQL(sdRec2,gcnxReplica,saRQ2) ALORS
|
||
POUR TOUT sdRec2
|
||
SI sdRec2.AED_CleAcces = cGestion_Envoi_Email ALORS
|
||
stContexte.stUser.bDroit_EnvoiEmail = sdRec2.AED_Acces
|
||
FIN
|
||
SI sdRec2.AED_CleAcces = cGestion_Creation_Rp ALORS
|
||
stContexte.stUser.bDroit_CreationRapport = sdRec2.AED_Acces
|
||
FIN
|
||
FIN
|
||
FIN
|
||
FIN
|
||
//Par Compabilité à supprimer par la suite
|
||
<COMPILE SI Configuration="Webservice_ISIS">
|
||
stContexte.stUser.bDroit_AnnulationRDV = Faux
|
||
// a revoir si on modifie l'application de bureau afin de mettre ce paramètre dynamique
|
||
<SINON>
|
||
stContexte.stUser.bDroit_AnnulationRDV = Vrai
|
||
<FIN>
|
||
stContexte.stUser.ParamApp.bDroit_CouleurRDV = Vrai
|
||
// a revoir si on modifie l'application de bureau afin de mettre ce paramètre dynamique
|
||
stContexte.stUser.ParamApp.bDroit_HeureDejRDV = Vrai
|
||
// a revoir si on modifie l'application de bureau afin de mettre ce paramètre dynamique
|
||
Sérialise(stContexte,bufRes,psdJSON)
|
||
TraceDEBUG("bufREs : " + bufRes)
|
||
RENVOYER "R" + bufRes
|
||
FAIRE
|
||
bufRes ="E" + ExceptionInfo(errComplet)
|
||
TraceDEBUG("bufREs : " + bufRes)
|
||
RENVOYER bufRes
|
||
FIN
|
||
Procédure globale RecupererChampMailModele
|
||
PROCÉDURE RecupererChampMailModele(stData est une ST_MOB_DATA)
|
||
QUAND EXCEPTION DANS
|
||
ChronoDébut()
|
||
TraceINFO(" RecupererChampMailModele ")
|
||
stParam est un STJSONInfoModeleMailMob
|
||
Désérialise(stParam,stData.saJSON,psdJSON)
|
||
bufRes est un Buffer
|
||
sErreur est une chaîne = ConstruireListeChampModeleEmail(stParam,bufRes)
|
||
12/08/2026 Batik_WS_Com_Mob 199
|
||
|
||
Partie 4 › Collection de procédures › LIB_Traitements › Code
|
||
SI sErreur="" ALORS
|
||
bufRes ="R" + bufRes
|
||
SINON
|
||
bufRes ="E" + sErreur
|
||
FIN
|
||
TraceINFO("Durée (ms) : " + ChronoFin())
|
||
TraceINFO("JSON ---------------------------------")
|
||
TraceINFO(bufRes)
|
||
TraceINFO("--------------------------------------")
|
||
RENVOYER bufRes
|
||
FAIRE
|
||
bufRes ="E" + ExceptionInfo(errComplet)
|
||
TraceERREUR("bufREs : " + bufRes)
|
||
TraceDEBUG("Durée (ms) : " + ChronoFin())
|
||
RENVOYER bufRes
|
||
FIN
|
||
Procédure globale RecupererChampRapportInter
|
||
PROCÉDURE RecupererChampRapportInter(stData est une ST_MOB_DATA)
|
||
QUAND EXCEPTION DANS
|
||
ChronoDébut()
|
||
TraceINFO(" RecupererChampRapportInter ")
|
||
stParam est un ST_REQ_LISTE_Chp_Rapport
|
||
Désérialise(stParam,stData.saJSON,psdJSON)
|
||
//Construction de la réponse (tableau de STJSONMembreRubRapport)
|
||
tabRubMobile est un tableau de STJSONMembreRubRapport
|
||
bufRes est un Buffer
|
||
sErreur est une chaîne = ContruireListeChamps(tabRubMobile,stParam)
|
||
SI sErreur="" ALORS
|
||
Sérialise(tabRubMobile,bufRes,psdJSON)
|
||
bufRes ="R" + bufRes
|
||
SINON
|
||
bufRes ="E" + sErreur
|
||
FIN
|
||
TraceINFO("Durée (ms) : " + ChronoFin())
|
||
TraceINFO("JSON ---------------------------------")
|
||
TraceINFO(bufRes)
|
||
TraceINFO("--------------------------------------")
|
||
RENVOYER bufRes
|
||
FAIRE
|
||
bufRes ="E" + ExceptionInfo(errComplet)
|
||
TraceERREUR("bufREs : " + bufRes)
|
||
TraceDEBUG("Durée (ms) : " + ChronoFin())
|
||
RENVOYER bufRes
|
||
FIN
|
||
Procédure globale RecupererIdClbRDVDroitConsultation
|
||
PROCÉDURE RecupererIdClbRDVDroitConsultation()
|
||
bufRes est un Buffer
|
||
bDroitTout, bDroitUniqSoc, bDroitSocS, bDroitEqp sont des booléens
|
||
nIdCollab est un entier sur 8 octets
|
||
TraceINFO("Recherche id clb droit de consulter ")
|
||
12/08/2026 Batik_WS_Com_Mob 200
|
||
|
||
Partie 4 › Collection de procédures › LIB_Traitements › Code
|
||
// Recherche de droits
|
||
SI gstContexte:tbaDroitsAcces[cGestion_A_PL_SOC_PRCP]..Existe = Vrai _ET_ gstContexte:tbaDroitsAcces[
|
||
cGestion_A_PL_SOC_PRCP] ALORS
|
||
bDroitUniqSoc = Vrai
|
||
FIN
|
||
SI gstContexte:tbaDroitsAcces[cGestion_A_PL_SOC]..Existe = Vrai _ET_ gstContexte:tbaDroitsAcces[
|
||
cGestion_A_PL_SOC] ALORS
|
||
bDroitSocS = Vrai
|
||
FIN
|
||
SI gstContexte:tbaDroitsAcces[cGestion_A_PL_EQ]..Existe = Vrai _ET_ gstContexte:tbaDroitsAcces[
|
||
cGestion_A_PL_EQ] ALORS
|
||
bDroitEqp = Vrai
|
||
FIN
|
||
SI bDroitUniqSoc ET bDroitSocS ET bDroitEqp ALORS
|
||
bDroitTout = Vrai
|
||
FIN
|
||
nIdCollab = gstContexte.stUser.nIdCollab
|
||
saReqClb est une chaîne ANSI = [
|
||
SELECT CO_PKID, CO_nom, CO_Prenom FROM Collaborateur
|
||
]
|
||
saWhere est une chaîne ANSI = [
|
||
WHERE CO_Actif = 1 AND CO_AccesMobile = 1
|
||
]
|
||
saCompl est une chaîne ANSI
|
||
SI bDroitTout ALORS
|
||
//rien
|
||
SINON SI bDroitUniqSoc ALORS
|
||
saCompl = " INNER JOIN Utilisateur ON Utilisateur.UT_IDCollaborateur = CO_PKID "
|
||
saWhere +=
|
||
" AND UT_IDSocietePrincipale IN (SELECT UT_IDSocietePrincipale FROM Utilisateur WHERE
|
||
UT_IDCollaborateur = "
|
||
+nIdCollab+")"
|
||
SINON SI bDroitSocS ALORS
|
||
saCompl = " INNER JOIN Societe_Collaborateur ON SC_IDCollaborateur = CO_PKID "
|
||
saWhere +=
|
||
" AND SC_IDCSociete IN (SELECT SC_IDCSociete FROM Societe_Collaborateur WHERE SC_IDCollaborateur =
|
||
"
|
||
+nIdCollab+")"
|
||
SINON SI bDroitEqp ALORS
|
||
saCompl = " INNER JOIN Equipe_Collaborateur ON Equipe_Collaborateur.EC_IDCollaborateur = CO_PKID "
|
||
saWhere +=
|
||
" AND EC_IDEquipe IN (SELECT EC_IDEquipe FROM Equipe_Collaborateur WHERE EC_IDCollaborateur ="+
|
||
nIdCollab+")"
|
||
SINON SI PAS bDroitTout ALORS
|
||
saReqClb = ""
|
||
FIN
|
||
SI saReqClb <> "" ALORS
|
||
saReqClb += saCompl + saWhere
|
||
sdColb est une Source de Données
|
||
TraceRequete(saReqClb)
|
||
SI PAS HExécuteRequêteSQL(sdColb,gcnxReplica,hRequêteDéfaut,saReqClb) ALORS
|
||
bufRes="E"+ErreurInfo(errComplet)
|
||
TraceDEBUG("bufREs : " + bufRes)
|
||
RENVOYER bufRes
|
||
SINON
|
||
tbIdClb est un tableau de ST_IdRDVClbDroitC
|
||
POUR TOUT sdColb
|
||
stClb est un ST_IdRDVClbDroitC
|
||
stClb.nIdClb = sdColb.CO_PKID
|
||
stClb.sNomPrenom = sdColb.CO_nom+" "+sdColb.CO_Prenom
|
||
12/08/2026 Batik_WS_Com_Mob 201
|
||
|
||
Partie 4 › Collection de procédures › LIB_Traitements › Code
|
||
TableauAjoute(tbIdClb,stClb)
|
||
FIN
|
||
Sérialise(tbIdClb,bufRes,psdJSON)
|
||
bufRes ="R" + bufRes
|
||
TraceINFO("bufREs : " + bufRes)
|
||
RENVOYER bufRes
|
||
FIN
|
||
SINON
|
||
bufRes ="R" + bufRes
|
||
TraceINFO("bufREs : " + bufRes)
|
||
RENVOYER bufRes
|
||
FIN
|
||
Procédure globale RecupererImgRp
|
||
PROCÉDURE RecupererImgRp()
|
||
//Donne au mobile demandeur l'ID et la description JSON du premier document non lu à récupérer
|
||
TraceINFO("RecupererImgRp ")
|
||
QUAND EXCEPTION DANS
|
||
rqPhoto est une Requête SQL =
|
||
[
|
||
SELECT * FROM TOMOB WHERE TM_CMD = 'DOC_Rp'
|
||
]
|
||
SI HExécuteRequête(rqPhoto) ALORS
|
||
dhDPurge2 est une DateHeure = DateHeureSys()
|
||
sResRepTemp est une chaîne ANSI
|
||
<COMPILE SI Configuration = "WS_COM_MOBILE" OU Configuration = "Debug WS_COM_MOBILE">
|
||
sResRepTemp = ComplèteRep(fRepExe())+"TEMP\"
|
||
<SINON>
|
||
sResRepTemp = ComplèteRep(fRepWeb())+"TEMP\"
|
||
<FIN>
|
||
TraceINFO("Rep temp : "+sResRepTemp)
|
||
POUR TOUT rqPhoto
|
||
saInfoTOMOB est une chaîne ANSI = rqPhoto.TM_JSON
|
||
vInfoVariant est un Variant = JSONVersVariant(saInfoTOMOB)
|
||
nIdInter est un entier sur 8 octets = vInfoVariant.nInterID
|
||
sExtension est une chaîne ANSI = fExtraitChemin(vInfoVariant.saNom,
|
||
fExtension)
|
||
sNomPhoto est une chaîne ANSI = ComplèteRep(sResRepTemp+nIdInter)+
|
||
vInfoVariant.saDocGUID+sExtension
|
||
bufImg est un Buffer = rqPhoto.TM_Buffer
|
||
SI nIdInter > 0 ALORS
|
||
SI fRepCrée(sResRepTemp+nIdInter) ALORS
|
||
SI PAS fSauveBuffer(sNomPhoto, bufImg) ALORS
|
||
TraceINFO("Erreur dans l'enregistrement de la photo : "+ErreurInfo(errMessage
|
||
))
|
||
FIN
|
||
SINON
|
||
TraceINFO("Erreur dans l'enregistrement de la photo : "+ErreurInfo(errMessage))
|
||
FIN
|
||
SINON
|
||
TraceINFO("Document introuvable")
|
||
FIN
|
||
12/08/2026 Batik_WS_Com_Mob 202
|
||
|
||
Partie 4 › Collection de procédures › LIB_Traitements › Code
|
||
FIN
|
||
//Réalise une purge des documents non lu à destination des mobiles
|
||
rqPurge2 est une Requête SQL =
|
||
[
|
||
DELETE FROM TOMOB WHERE TM_Date < {pDate} AND TM_CMD='DOC_Rp'
|
||
]
|
||
rqPurge2.pDate=dhDPurge2
|
||
HExécuteRequête(rqPurge2)
|
||
FIN
|
||
FAIRE
|
||
TraceINFO("Erreur dans la procedure RecupererImgRp")
|
||
FIN
|
||
Procédure globale RecupererRDVAutreClb
|
||
PROCÉDURE RecupererRDVAutreClb(stData est une ST_MOB_DATA)
|
||
bufRes est un Buffer
|
||
QUAND EXCEPTION DANS
|
||
ChronoDébut()
|
||
TraceINFO("RecupererRDVAutreClb ")
|
||
tbLRDV est un tableau de ST_RDV_INTER_V2
|
||
sErreur est une chaîne
|
||
sErreur = ListeRDV_V2(stData,tbLRDV,Faux)
|
||
SI sErreur<>"" ALORS
|
||
RENVOYER sErreur
|
||
FIN
|
||
Sérialise(tbLRDV,bufRes,psdJSON)
|
||
bufRes="R" + bufRes
|
||
RENVOYER bufRes
|
||
FAIRE
|
||
bufRes ="E" + ExceptionInfo(errComplet)
|
||
TraceERREUR("bufREs : " + bufRes)
|
||
TraceDEBUG("Durée (ms) : " + ChronoFin())
|
||
RENVOYER bufRes
|
||
FIN
|
||
Procédure globale RecupereUneIntervention
|
||
PROCÉDURE RecupereUneIntervention(stData est une ST_MOB_DATA)
|
||
QUAND EXCEPTION DANS
|
||
ChronoDébut()
|
||
TraceINFO("RecupereUneIntervention ")
|
||
stParam est un ST_REQ_LISTE_RDV
|
||
Désérialise(stParam,stData.saJSON,psdJSON)
|
||
saRQ est une chaîne=[
|
||
SELECT
|
||
Dossier.DO_IDClient AS DO_IDClient,
|
||
12/08/2026 Batik_WS_Com_Mob 203
|
||
|
||
Partie 4 › Collection de procédures › LIB_Traitements › Code
|
||
Dossier.DO_IDTypeDossier AS DO_IDTypeDossier,
|
||
Dossier.DO_Titre AS DO_Titre,
|
||
Dossier.DO_IDStatut AS DO_IDStatut,
|
||
Dossier.DO_RefInterne AS DO_RefInterne,
|
||
Dossier.DO_RefExterne AS DO_RefExterne,
|
||
Client.CL_Nom AS CL_Nom,
|
||
Client.CL_Tel AS CL_Tel,
|
||
Client.CL_Fax AS CL_Fax,
|
||
AdClient.AD_PKID AS AdClient_PKID,
|
||
AdClient.AD_Etiquette AS AdClient_Etiquette,
|
||
AdClient.AD_Ligne_1 AS AdClient_Ligne_1,
|
||
AdClient.AD_Ligne_2 AS AdClient_Ligne_2,
|
||
AdClient.AD_Ligne_3 AS AdClient_Ligne_3,
|
||
AdClient.AD_Ligne_4 AS AdClient_Ligne_4,
|
||
AdClient.AD_Ligne_5 AS AdClient_Ligne_5,
|
||
AdClient.AD_CodePostal AS AdClient_CodePostal,
|
||
AdClient.AD_Ville AS AdClient_Ville,
|
||
Intervention.IN_PKID AS IN_PKID,
|
||
Intervention.IN_IDTypeIntervention AS IN_IDTypeIntervention,
|
||
Intervention.IN_IDEtatIntervention AS IN_IDEtatIntervention,
|
||
Intervention.IN_IDSuiviPar AS IN_IDSuiviPar,
|
||
Intervention.IN_IDDossier AS IN_IDDossier,
|
||
Intervention.IN_IDDemandeur AS IN_IDDemandeur,
|
||
Intervention.IN_IDClient AS IN_IDClient,
|
||
Intervention.IN_IDLieu AS IN_IDLieu,
|
||
Intervention.IN_Description AS IN_Description,
|
||
Intervention.IN_AttestationTVAPresente AS IN_AttestationTVAPresente,
|
||
Intervention.IN_NoteInterne AS IN_NoteInterne,
|
||
Intervention.IN_Titre AS IN_Titre,
|
||
Intervention.IN_RefInterne AS IN_RefInterne,
|
||
Intervention.IN_RefExterne AS IN_RefExterne,
|
||
Intervention.IN_IDSociete,
|
||
Lieu.LI_PKID AS LI_PKID,
|
||
Lieu.LI_CodeLieu AS LI_CodeLieu,
|
||
Lieu.LI_IDAdresse AS LI_IDAdresse,
|
||
Lieu.LI_IDType AS LI_IDType,
|
||
Lieu.LI_CodeAcces AS LI_CodeAcces,
|
||
Lieu.LI_Badge AS LI_Badge,
|
||
Lieu.LI_Interphone AS LI_Interphone,
|
||
Lieu.LI_Note AS LI_Note,
|
||
AdLieu.AD_PKID AS AdLieu_PKID,
|
||
AdLieu.AD_Etiquette AS AdLieu_Etiquette,
|
||
AdLieu.AD_Ligne_1 AS AdLieu_Ligne_1,
|
||
AdLieu.AD_Ligne_2 AS AdLieu_Ligne_2,
|
||
AdLieu.AD_Ligne_3 AS AdLieu_Ligne_3,
|
||
AdLieu.AD_Ligne_4 AS AdLieu_Ligne_4,
|
||
AdLieu.AD_Ligne_5 AS AdLieu_Ligne_5,
|
||
AdLieu.AD_CodePostal AS AdLieu_CodePostal,
|
||
AdLieu.AD_Ville AS AdLieu_Ville
|
||
FROM
|
||
Intervention LEFT OUTER JOIN (Lieu LEFT OUTER JOIN Adresse AdLieu ON Lieu.LI_IDAdresse =
|
||
AdLieu.AD_PKID ) ON Intervention.IN_IDLieu = Lieu.LI_PKID,
|
||
Intervention INNER JOIN
|
||
(Dossier LEFT OUTER JOIN (Client LEFT OUTER JOIN Adresse AdClient ON
|
||
Client.CL_IDAdressePrincipale = AdClient.AD_PKID) ON Dossier.DO_IDClient = Client.CL_PKID ) ON
|
||
Intervention.IN_IDDossier = Dossier.DO_PKID
|
||
WHERE
|
||
IN_PKID={pIdInter}
|
||
]
|
||
saRQ=Remplace(saRQ,"{pIdInter}",stParam.nIdInter )
|
||
12/08/2026 Batik_WS_Com_Mob 204
|
||
|
||
Partie 4 › Collection de procédures › LIB_Traitements › Code
|
||
//Construction de la réponse (tableau de ST_RDV)
|
||
tblRDV est un tableau de ST_RDV_INTER
|
||
bufRes est un Buffer
|
||
sErreur est une chaîne = ConstruitTableauInterventions(saRQ,"",Faux,tblRDV)
|
||
SI sErreur="" ALORS
|
||
Sérialise(tblRDV,bufRes,psdJSON)
|
||
bufRes ="R" + bufRes
|
||
SINON
|
||
bufRes ="E" + sErreur
|
||
FIN
|
||
TraceINFO("Durée (ms) : " + ChronoFin())
|
||
TraceINFO("JSON ---------------------------------")
|
||
TraceINFO(bufRes)
|
||
TraceINFO("--------------------------------------")
|
||
RENVOYER bufRes
|
||
FAIRE
|
||
bufRes ="E" + ExceptionInfo(errComplet)
|
||
TraceERREUR("bufREs : " + bufRes)
|
||
TraceDEBUG("Durée (ms) : " + ChronoFin())
|
||
RENVOYER bufRes
|
||
FIN
|
||
Procédure globale RecupereUneIntervention_V2
|
||
PROCÉDURE RecupereUneIntervention_V2(stData est une ST_MOB_DATA)
|
||
QUAND EXCEPTION DANS
|
||
ChronoDébut()
|
||
TraceINFO("RecupereUneIntervention ")
|
||
stParam est un ST_REQ_LISTE_RDV
|
||
Désérialise(stParam,stData.saJSON,psdJSON)
|
||
saRQ est une chaîne=[
|
||
SELECT
|
||
Dossier.DO_IDClient AS DO_IDClient,
|
||
Dossier.DO_CleType,
|
||
Dossier.DO_Titre AS DO_Titre,
|
||
Dossier.DO_CleStatut,
|
||
Dossier.DO_RefInterne AS DO_RefInterne,
|
||
Dossier.DO_RefExterne AS DO_RefExterne,
|
||
Client.CL_Nom AS CL_Nom,
|
||
Client.CL_Tel AS CL_Tel,
|
||
Client.CL_Fax AS CL_Fax,
|
||
Client.CL_Email AS CL_Email,
|
||
AdClient.AD_PKID AS AdClient_PKID,
|
||
AdClient.AD_Etiquette AS AdClient_Etiquette,
|
||
AdClient.AD_Adresse AS AdClient_Adresse,
|
||
AdClient.AD_CodePostal AS AdClient_CodePostal,
|
||
AdClient.AD_Ville AS AdClient_Ville,
|
||
Intervention.IN_PKID AS IN_PKID,
|
||
Intervention.IN_CleType,
|
||
Intervention.IN_CleEtat,
|
||
Intervention.IN_IDSuiviPar AS IN_IDSuiviPar,
|
||
Intervention.IN_IDDossier AS IN_IDDossier,
|
||
Intervention.IN_IDDemandeur AS IN_IDDemandeur,
|
||
Intervention.IN_IDClient AS IN_IDClient,
|
||
Intervention.IN_IDLieu AS IN_IDLieu,
|
||
Intervention.IN_Description AS IN_Description,
|
||
12/08/2026 Batik_WS_Com_Mob 205
|
||
|
||
Partie 4 › Collection de procédures › LIB_Traitements › Code
|
||
Intervention.IN_AttestationTVAPresente AS IN_AttestationTVAPresente,
|
||
Intervention.IN_NoteInterne AS IN_NoteInterne,
|
||
Intervention.IN_Titre AS IN_Titre,
|
||
Intervention.IN_RefInterne AS IN_RefInterne,
|
||
Intervention.IN_RefExterne AS IN_RefExterne,
|
||
Intervention.IN_IDSociete,
|
||
Intervention.IN_NumDevis,
|
||
Intervention.IN_DateDevis,
|
||
Lieu.LI_PKID AS LI_PKID,
|
||
Lieu.LI_CodeLieu AS LI_CodeLieu,
|
||
Lieu.LI_IDAdresse AS LI_IDAdresse,
|
||
Lieu.LI_CleType,
|
||
Lieu.LI_CodeAcces AS LI_CodeAcces,
|
||
Lieu.LI_Badge AS LI_Badge,
|
||
Lieu.LI_Interphone AS LI_Interphone,
|
||
Lieu.LI_Note AS LI_Note,
|
||
AdLieu.AD_PKID AS AdLieu_PKID,
|
||
AdLieu.AD_Etiquette AS AdLieu_Etiquette,
|
||
AdLieu.AD_Adresse AS AdLieu_Adresse,
|
||
AdLieu.AD_CodePostal AS AdLieu_CodePostal,
|
||
AdLieu.AD_Ville AS AdLieu_Ville,
|
||
Collaborateur.CO_Nom AS NomSuiviPar,
|
||
Collaborateur.CO_Prenom AS PrenomSuiviPar,
|
||
Collaborateur.CO_TelMobile AS TelMobSuiviPar,
|
||
Collaborateur.CO_Email AS SuiviEmail,
|
||
Societe.SO_Nom
|
||
FROM
|
||
Intervention LEFT OUTER JOIN (Lieu LEFT OUTER JOIN Adresse AdLieu ON Lieu.LI_IDAdresse =
|
||
AdLieu.AD_PKID ) ON Intervention.IN_IDLieu = Lieu.LI_PKID,
|
||
Intervention INNER JOIN
|
||
(Dossier LEFT OUTER JOIN (Client LEFT OUTER JOIN Adresse AdClient ON
|
||
Client.CL_IDAdressePrincipale = AdClient.AD_PKID) ON Dossier.DO_IDClient = Client.CL_PKID ) ON
|
||
Intervention.IN_IDDossier = Dossier.DO_PKID,
|
||
Intervention LEFT OUTER JOIN Collaborateur ON Intervention.IN_IDSuiviPar=Collaborateur.CO_PKID,
|
||
Intervention LEFT OUTER JOIN Societe ON Intervention.IN_IDSociete = Societe.SO_PKID
|
||
WHERE
|
||
IN_PKID={pIdInter}
|
||
]
|
||
saRQ=Remplace(saRQ,"{pIdInter}",stParam.nIdInter )
|
||
saRqCR est une chaîne ANSI = [
|
||
SELECT
|
||
CompteRendu.CR_PKID,
|
||
CompteRendu.GUID AS CR_GUID,
|
||
CompteRendu.CR_DateHeureDebut,
|
||
CompteRendu.CR_DateHeureFin,
|
||
CompteRendu.CR_NoteCollaborateur,
|
||
CompteRendu.CR_NomSignataire,
|
||
CompteRendu.CR_NomSignataireTech,
|
||
CompteRendu.CR_NoteSignataire,
|
||
CompteRendu.CR_ReserveCommentaire,
|
||
CompteRendu.CR_DateHeureSignature,
|
||
CompteRendu.CR_Signature,
|
||
CompteRendu.CR_SignatureTech,
|
||
CompteRendu.CreationUser AS CR_CreationUser,
|
||
CompteRendu.CR_IDIntervention,
|
||
CompteRendu.CR_IDRdv,
|
||
CompteRendu.CR_CleTypeSignataire,
|
||
CompteRendu.CR_GUID_Rdv,
|
||
CompteRendu.CR_IDCollaborateur,
|
||
RDV_Collaborateur.RVC_GUID_Colb,
|
||
12/08/2026 Batik_WS_Com_Mob 206
|
||
|
||
Partie 4 › Collection de procédures › LIB_Traitements › Code
|
||
RDV_Planning.RV_Groupe,
|
||
RDV_Collaborateur.RVC_GUID_RDV,
|
||
Collaborateur.CO_Nom,
|
||
Collaborateur.CO_Prenom
|
||
FROM CompteRendu
|
||
INNER JOIN Collaborateur ON CO_PKID = CR_IDCollaborateur
|
||
INNER JOIN RDV_Collaborateur ON RDV_Collaborateur.RVC_GUID_Colb = Collaborateur.GUID
|
||
INNER JOIN RDV_Planning ON RDV_Planning.GUID = RDV_Collaborateur.RVC_GUID_RDV
|
||
WHERE
|
||
RDV_Planning.Archive=0 AND RDV_Collaborateur.Archive=0
|
||
AND RDV_Collaborateur.RVC_DateDeb = '{pDateDebut}'
|
||
AND RDV_Collaborateur.RVC_DateFin = '{pDateFin}'
|
||
AND RDV_Planning.RV_IdInter = {p_IdInter}
|
||
]
|
||
//saRqCR= Remplace(saRqCR,"{pIDCollaborateur}",stParam.nIdCollaborateur)
|
||
saRqCR = Remplace(saRqCR,"{pDateDebut}",stParam.saDateDebut)
|
||
saRqCR = Remplace(saRqCR,"{pDateFin}",stParam.saDateFin)
|
||
saRqCR = Remplace(saRqCR,"{p_IdInter}",stParam.nIdInter)
|
||
//Construction de la réponse (tableau de ST_RDV)
|
||
tbLRDV est un tableau de ST_RDV_INTER_V2
|
||
bufRes est un Buffer
|
||
sErreur est une chaîne = ConstruitTableauInterventions_V2(saRQ,saRqCR,Faux,Vrai,tbLRDV)
|
||
SI sErreur="" ALORS
|
||
Sérialise(tbLRDV,bufRes,psdJSON)
|
||
bufRes ="R" + bufRes
|
||
SINON
|
||
bufRes ="E" + sErreur
|
||
FIN
|
||
TraceINFO("Durée (ms) : " + ChronoFin())
|
||
TraceINFO("JSON ---------------------------------")
|
||
TraceINFO(bufRes)
|
||
TraceINFO("--------------------------------------")
|
||
RENVOYER bufRes
|
||
FAIRE
|
||
bufRes ="E" + ExceptionInfo(errComplet)
|
||
TraceERREUR("bufREs : " + bufRes)
|
||
TraceDEBUG("Durée (ms) : " + ChronoFin())
|
||
RENVOYER bufRes
|
||
FIN
|
||
Procédure globale RecupListeParamMetiers
|
||
PROCÉDURE RecupListeParamMetiers()
|
||
bufRes est un Buffer
|
||
ChronoDébut()
|
||
QUAND EXCEPTION DANS
|
||
saRQ est une chaîne ANSI=[
|
||
SELECT * FROM ParametreMetier
|
||
]
|
||
sdParam est une Source de Données
|
||
stPr est un ST_PARAMETRE_METIER
|
||
tbParam est un tableau de ST_PARAMETRE_METIER
|
||
12/08/2026 Batik_WS_Com_Mob 207
|
||
|
||
Partie 4 › Collection de procédures › LIB_Traitements › Code
|
||
HExécuteRequêteSQL(sdParam,gcnxReplica,saRQ)
|
||
POUR TOUT sdParam
|
||
stPr.nIdParam =sdParam.PA_PKID
|
||
stPr.saCode =sdParam.PA_Code
|
||
stPr.saLib =sdParam.PA_Libelle
|
||
stPr.saVal =sdParam.PA_Valeur
|
||
stPr.nOrdre =sdParam.PA_Ordre
|
||
stPr.bSysteme =sdParam.PA_Systeme
|
||
stPr.bInvisible =sdParam.PA_Invisible
|
||
TableauAjoute(tbParam,stPr)
|
||
FIN
|
||
Sérialise(tbParam,bufRes,psdJSON)
|
||
RENVOYER "R" + bufRes
|
||
FAIRE
|
||
bufRes ="E" + ExceptionInfo(errComplet)
|
||
TraceERREUR("bufREs : " + bufRes)
|
||
TraceDEBUG("Durée (ms) : " + ChronoFin())
|
||
RENVOYER bufRes
|
||
FIN
|
||
Procédure globale RecupListeParamMetiers_V2
|
||
PROCÉDURE RecupListeParamMetiers_V2(nIdUser est un entier sur 8 octets)
|
||
bufRes est un Buffer
|
||
ChronoDébut()
|
||
QUAND EXCEPTION DANS
|
||
saRQ est une chaîne ANSI=[
|
||
SELECT * FROM ParametreMetier
|
||
]
|
||
sdParam est une Source de Données
|
||
stPrest un ST_PARAMETRE_METIER_V2
|
||
tbParam est un tableau de ST_PARAMETRE_METIER_V2
|
||
HExécuteRequêteSQL(sdParam,gcnxReplica,saRQ)
|
||
POUR TOUT sdParam
|
||
stPr.nIdParam = sdParam.PA_PKID
|
||
stPr.saCode = sdParam.PA_Code
|
||
stPr.saLib = sdParam.PA_Libelle
|
||
stPr.saVal = sdParam.PA_Valeur
|
||
stPr.nOrdre = sdParam.PA_Ordre
|
||
stPr.bSysteme = sdParam.PA_Systeme
|
||
stPr.bInvisible = sdParam.PA_Invisible
|
||
stPr.saJson = sdParam.PA_Parametre
|
||
TableauAjoute(tbParam,stPr)
|
||
FIN
|
||
saRQParamApp est une chaîne ANSI =
|
||
"SELECT * FROM ParametreApplication WHERE PAP_Code='URL_TUTO' "
|
||
sdParamApp est une Source de Données
|
||
SI HExécuteRequêteSQL(sdParamApp,gcnxReplica,saRQParamApp) ALORS
|
||
SI HLitPremier(sdParamApp) ALORS
|
||
stPr.nIdParam = sdParamApp.PAP_PKID
|
||
stPr.saCode = sdParamApp.PAP_Code
|
||
stPr.saLib = sdParamApp.PAP_Description
|
||
stPr.saVal = sdParamApp.PAP_Valeur
|
||
stPr.nOrdre = 1
|
||
12/08/2026 Batik_WS_Com_Mob 208
|
||
|
||
Partie 4 › Collection de procédures › LIB_Traitements › Code
|
||
stPr.bSysteme = Vrai
|
||
stPr.bInvisible = Vrai
|
||
stPr.saJson = ""
|
||
TableauAjoute(tbParam,stPr)
|
||
FIN
|
||
FIN
|
||
//Modele de rapport
|
||
saRQRp est une chaîne ANSI=[
|
||
SELECT * FROM ModeleRapport WHERE MRP_EnvoiMob = 1
|
||
]
|
||
sdListeRp est une Source de Données
|
||
stRpest un ST_PARAMETRE_METIER_V2
|
||
HExécuteRequêteSQL(sdListeRp,gcnxReplica,saRQRp)
|
||
POUR TOUT sdListeRp
|
||
stRp.nIdParam = sdListeRp.MRP_PKID
|
||
stRp.saCode = cParam_ListeRapportMob
|
||
stRp.saLib = sdListeRp.MRP_Nom
|
||
TableauAjoute(tbParam,stRp)
|
||
FIN
|
||
//Modele de mail
|
||
saRQME est une chaîne ANSI=[
|
||
SELECT MM_PKID, MM_Nom FROM MailModele
|
||
]
|
||
sdListeME est une Source de Données
|
||
stME est un ST_PARAMETRE_METIER_V2
|
||
HExécuteRequêteSQL(sdListeME,gcnxReplica,saRQME)
|
||
POUR TOUT sdListeME
|
||
stME.nIdParam = sdListeME.MM_PKID
|
||
stME.saCode = cParam_ListeMailModele
|
||
stME.saLib = sdListeME.MM_Nom
|
||
TableauAjoute(tbParam,stME)
|
||
FIN
|
||
// Comptes email
|
||
saMSG est une chaîne ANSI
|
||
ParamEmailConfig est un tableau associatif de STParamEnvoiEmailPerso
|
||
(saMSG,ParamEmailConfig) = DonneListeConfigMail(nIdUser)
|
||
stConfigMail est un ST_PARAMETRE_METIER_V2
|
||
b est un entier
|
||
SI ParamEmailConfig..Occurrence > 0 ALORS
|
||
POUR TOUT config, saCle de ParamEmailConfig
|
||
b += 1
|
||
stConfigMail.saCode = "EMAIL_ENVOI"
|
||
stConfigMail.nIdParam = b
|
||
Sérialise(config,stConfigMail.saVal,psdJSON)
|
||
TableauAjoute(tbParam,stConfigMail)
|
||
FIN
|
||
FIN
|
||
Sérialise(tbParam,bufRes,psdJSON)
|
||
RENVOYER "R" + bufRes
|
||
FAIRE
|
||
bufRes ="E" + ExceptionInfo(errComplet)
|
||
TraceERREUR("bufREs : " + bufRes)
|
||
TraceDEBUG("Durée (ms) : " + ChronoFin())
|
||
RENVOYER bufRes
|
||
FIN
|
||
Procédure globale RemplirLigneSansTbModeleMail
|
||
PROCÉDURE RemplirLigneSansTbModeleMail(ListeMob est un tableau de STJSONMembreRubRapport,unTerme est un
|
||
12/08/2026 Batik_WS_Com_Mob 209
|
||
|
||
Partie 4 › Collection de procédures › LIB_Traitements › Code
|
||
STJSONMembreRubRapport, MonDoc est un Document)
|
||
saInfoV est une chaîne ANSI
|
||
sdRReq est une Source de Données
|
||
nSel, b sont des entiers
|
||
sADonnes est une chaîne ANSI
|
||
vInfoVariante est un Variant
|
||
CheminImg est une chaîne ANSI
|
||
TableauTrie(unTerme.ListeMembre,ttMembre+tccRespecteNumérique,"+Ordre")
|
||
SI unTerme:EnvoiMob ALORS
|
||
b = TableauCherche(ListeMob,tcLinéaire,"Rubrique;Utilisee",unTerme:Rubrique,Faux)
|
||
FIN
|
||
SI b > 0 ALORS
|
||
sADonnes = ListeMob[b].ListeDonnesMob
|
||
TraceINFO("Données mob : "+sADonnes)
|
||
FIN
|
||
SI sADonnes <> "" _ET_ unTerme:Type = "Tableau" ALORS
|
||
vInfoVariante = JSONVersVariant(sADonnes)
|
||
FIN
|
||
SI unTerme.GroupeApp = cRp_CR ALORS
|
||
// Requête dans la base de données , le compte rendu ne peuvent pas être modifiées par l'utilisateur
|
||
// donc le données ne sont pas récupérer à partir de données envoyés par le mobile
|
||
RqCompteRenduRemplirRapport(vInfoVariante,sdRReq)
|
||
FIN
|
||
POUR TOUT stTerme DE unTerme.ListeMembre
|
||
tabFragments est un tableau de docFragments = DocRecherche(MonDoc,stTerme.Rubrique,MotComplet+
|
||
SansCasse)
|
||
SI tabFragments..Occurrence > 0 ALORS
|
||
POUR c = 1 _À_ tabFragments.Occurrence
|
||
POUR TOUT UnEle DE vInfoVariante
|
||
SI stTerme:EnvoiMob ALORS
|
||
SI UnEle.bSelection ALORS
|
||
imgBuf est un Buffer
|
||
imgBuf = ""
|
||
saInfoV = ""
|
||
RechercheInfoDansVariantRapport(unTerme, stTerme, UnEle,imgBuf,saInfoV,sdRReq
|
||
,CheminImg)
|
||
nSel += 1
|
||
SI stTerme:TypeMembre = "ChpImage" OU stTerme:Type = "ChpImage"ALORS
|
||
tabFragments[c].Texte = " "
|
||
// SI imgBuf..Taille > 0 ALORS
|
||
// nLargPixCol est un entier = 100*NBPixelesXMilimetres
|
||
// transformer le milimetres dans pixels (nombre de pixeles par milimetres)
|
||
// elt est un docElément
|
||
<- DonneImgTableauRp(imgBuf,nLargPixCol)
|
||
// DocInsère(MonDoc,tabFragments[c]..PositionDébut, elt)
|
||
// SINON
|
||
// //tabFragments[c].Texte = " "
|
||
// FIN
|
||
SINON
|
||
tabFragments[c].Texte = TraitementSelonTypeRubRapportMob(stTerme,saInfoV)
|
||
FIN
|
||
SI Contient(stTerme:Rubrique,"UNIQUE") ALORS
|
||
SORTIR
|
||
FIN
|
||
12/08/2026 Batik_WS_Com_Mob 210
|
||
|
||
Partie 4 › Collection de procédures › LIB_Traitements › Code
|
||
FIN
|
||
FIN
|
||
FIN
|
||
FIN
|
||
FIN
|
||
FIN
|
||
SI nSel > 0 ALORS
|
||
RENVOYER Vrai
|
||
FIN
|
||
RENVOYER Faux
|
||
Procédure globale RemplirLigneSansTbRapport
|
||
PROCÉDURE RemplirLigneSansTbRapport(unTerme est un STJSONMembreRubRapport, MonDoc est un Document,
|
||
vInfoVariante est un Variant,CheminImg est une chaîne ANSI)
|
||
saInfoV est une chaîne ANSI
|
||
sdRReq est une Source de Données
|
||
nSel est un entier
|
||
SI unTerme.GroupeApp = cRp_CR ALORS
|
||
// Requête dans la base de données , le compte rendu ne peuvent pas être modifiées par l'utilisateur
|
||
// donc le données ne sont pas récupérer à partir de données envoyés par le mobile
|
||
RqCompteRenduRemplirRapport(vInfoVariante,sdRReq)
|
||
FIN
|
||
POUR TOUT stTerme DE unTerme.ListeMembre
|
||
tabFragments est un tableau de docFragments = DocRecherche(MonDoc,stTerme.Rubrique,MotComplet+
|
||
SansCasse)
|
||
SI tabFragments..Occurrence > 0 ALORS
|
||
POUR c = 1 _À_ tabFragments.Occurrence
|
||
POUR TOUT UnEle DE vInfoVariante
|
||
SI stTerme:EnvoiMob ALORS
|
||
SI UnEle.bSelection ALORS
|
||
imgBuf est un Buffer
|
||
imgBuf = ""
|
||
saInfoV = ""
|
||
RechercheInfoDansVariantRapport(unTerme, stTerme, UnEle,imgBuf,saInfoV,sdRReq
|
||
,CheminImg)
|
||
nSel += 1
|
||
SI stTerme:TypeMembre = "ChpImage" OU stTerme:Type = "ChpImage"ALORS
|
||
SI imgBuf..Taille > 0 ALORS
|
||
nLargPixCol est un entier = 100*NBPixelesXMilimetres
|
||
// transformer le milimetres dans pixels (nombre de pixeles par
|
||
milimetres)
|
||
elt est un docElément <- DonneImgTableauRp(imgBuf,
|
||
nLargPixCol)
|
||
DocInsère(MonDoc,tabFragments[c]..PositionDébut, elt)
|
||
SINON
|
||
//tabFragments[c].Texte = " "
|
||
FIN
|
||
SINON
|
||
tabFragments[c].Texte = TraitementSelonTypeRubRapportMob(stTerme,saInfoV)
|
||
FIN
|
||
SI Contient(stTerme:Rubrique,"$UN") ALORS
|
||
SORTIR
|
||
12/08/2026 Batik_WS_Com_Mob 211
|
||
|
||
Partie 4 › Collection de procédures › LIB_Traitements › Code
|
||
FIN
|
||
FIN
|
||
FIN
|
||
FIN
|
||
FIN
|
||
FIN
|
||
FIN
|
||
SI nSel > 0 ALORS
|
||
RENVOYER Vrai
|
||
FIN
|
||
RENVOYER Faux
|
||
Procédure globale RemplirLigneTableauRapportMob
|
||
PROCÉDURE RemplirLigneTableauRapportMob(unTerme est un STJSONMembreRubRapport, nIMin est un entier,
|
||
MonDoc est un Document,vInfoVariante est un Variant,CheminImg est une chaîne ANSI)
|
||
saInfoV est une chaîne ANSI
|
||
sdRReq est une Source de Données
|
||
nIndDebutPara est un entier
|
||
tabListeRubCol_1 est un tableau de entiers
|
||
tabListeRubCol_2 est un tableau de entiers
|
||
SI unTerme.GroupeApp = cRp_CR ALORS
|
||
// Requête dans la base de données , le compte rendu ne peuvent pas être modifiées par l'utilisateur
|
||
// donc le données ne sont pas récupérer à partir de données envoyés par le mobile
|
||
RqCompteRenduRemplirRapport(vInfoVariante,sdRReq)
|
||
FIN
|
||
POUR TOUT stTerme DE unTerme.ListeMembre
|
||
tabFragments est un tableau de docFragments = DocRecherche(MonDoc,stTerme.Rubrique,MotComplet+
|
||
SansCasse)
|
||
SI tabFragments..Occurrence > 0 ALORS
|
||
nColonne est un entier = tabFragments[1].Elément[1].Cellule..IndiceColonne
|
||
nLigne est un entier = tabFragments[1].Elément[1].Cellule..IndiceLigne
|
||
nIMax est un entier = nIMin
|
||
soit para <- tabFragments[1]..Paragraphe[1]
|
||
SI nIndDebutPara = 0 ALORS // Pour pouvoir savoir si un est toujours dans le même tableau
|
||
nIndDebutPara = para.Parent.Parent.Paragraphe.PositionDébut
|
||
FIN
|
||
SI para.Tableau = Null ALORS
|
||
RETOUR
|
||
FIN
|
||
SI nIndDebutPara = para.Parent.Parent.Paragraphe.PositionDébut ALORS
|
||
// moulinette faite pour savoir si on a est toujours dans la même colonne
|
||
SI CelluleAvecPlusiersRub(unTerme,para..Tableau..Cellules[nIMax,nColonne]..Contenu..Texte,
|
||
tabListeRubCol_2) ALORS
|
||
SI tabListeRubCol_1..Occurrence <= 0 ALORS
|
||
tabListeRubCol_1 = tabListeRubCol_2
|
||
CreationTableauIntDocRapport(unTerme,MonDoc, nIMin, vInfoVariante, CheminImg,
|
||
sdRReq)
|
||
SINON
|
||
SI PAS TableauCherche(tabListeRubCol_1,tcLinéaire,stTerme:Ordre) ALORS
|
||
CreationTableauIntDocRapport(unTerme,MonDoc, nIMin, vInfoVariante, CheminImg,
|
||
sdRReq)
|
||
tabListeRubCol_1 = tabListeRubCol_2
|
||
FIN
|
||
12/08/2026 Batik_WS_Com_Mob 212
|
||
|
||
Partie 4 › Collection de procédures › LIB_Traitements › Code
|
||
FIN
|
||
SINON
|
||
POUR TOUT UnEle DE vInfoVariante
|
||
SI stTerme:EnvoiMob ALORS
|
||
SI UnEle.bSelection ALORS
|
||
imgBuf est un Buffer
|
||
imgBuf = ""
|
||
saInfoV = ""
|
||
RechercheInfoDansVariantRapport(unTerme, stTerme, UnEle,imgBuf,saInfoV,
|
||
sdRReq,CheminImg)
|
||
SI stTerme:TypeMembre = "ChpImage" OU stTerme:Type = "ChpImage"ALORS
|
||
SI imgBuf..Taille > 0 ALORS
|
||
nLargPixCol est un entier = para..Tableau..Colonnes[nColonne]..
|
||
LargeurMillimètres*NBPixelesXMilimetres // transformer le
|
||
milimetres dans pixels (nombre de pixeles par milimetres)
|
||
elt est un docElément <- DonneImgTableauRp(imgBuf,
|
||
nLargPixCol)
|
||
cell est un docCellule <- para..Tableau..Cellules[nIMax,
|
||
nColonne]
|
||
SI elt..Image..Hauteur > 0 _ET_ elt.Image..Largeur > 0 ALORS
|
||
cell2 est un docLigne <- para..Tableau..
|
||
Lignes[nIMax]
|
||
cell2.Hauteur = elt..Image..Hauteur
|
||
cell3 est un docColonne <- para..Tableau..Colonnes[nColonne]
|
||
cell3..LargeurMillimètres = elt.Image..Largeur
|
||
FIN
|
||
para..Tableau..Cellules[nIMax,nColonne]..MiseEnPage..Alignement
|
||
= chCentre
|
||
DocInsère(MonDoc,cell..Contenu..PositionDébut, elt)
|
||
SINON
|
||
//para..Tableau..Cellules[nIMax,nColonne]..Contenu..Texte = " "
|
||
FIN
|
||
SINON
|
||
para..Tableau..Cellules[nIMax,nColonne]..Contenu..Texte =
|
||
TraitementSelonTypeRubRapportMob(stTerme,saInfoV)
|
||
FIN
|
||
nIMax += 1
|
||
SI Contient(stTerme:Rubrique,"$UN") ALORS
|
||
SORTIR
|
||
FIN
|
||
FIN
|
||
FIN
|
||
FIN
|
||
FIN
|
||
FIN
|
||
FIN
|
||
FIN
|
||
Procédure globale ReqRechercheIntervention
|
||
PROCÉDURE ReqRechercheIntervention(stData est une ST_MOB_DATA, saWhere est une chaîne ANSI)
|
||
stParam est un ST_REQ_LISTE_RDV
|
||
12/08/2026 Batik_WS_Com_Mob 213
|
||
|
||
Partie 4 › Collection de procédures › LIB_Traitements › Code
|
||
Désérialise(stParam,stData.saJSON,psdJSON)
|
||
saTxt est une chaîne = stParam.saTxt
|
||
//Construction de la clause WHERE qui sera ensuite ajoutée dans la requête de recherche
|
||
SI saWhere = "" ALORS
|
||
saWhere +=" ( Intervention.IN_RefInterne LIKE '%" + saTxt +"%'"
|
||
saWhere +=" OR Client.CL_Nom LIKE '%" + saTxt +"%'"
|
||
saWhere +=" OR Lieu.LI_CodeLieu LIKE '%" + saTxt +"%'"
|
||
saWhere +=" OR Demandeur.PE_Nom LIKE '%" + saTxt +"%'"
|
||
saWhere +=" ) "
|
||
FIN
|
||
saWhere += "AND Dossier.DO_CleStatut <> '"+cCle_DossierAnnule+"'"// Statut annulé
|
||
TraceINFO("Clause :" + saWhere)
|
||
//Construction de la requête de sélection
|
||
saRQ est une chaîne ANSI
|
||
saRQ=[
|
||
SELECT {TOP}
|
||
Intervention.IN_PKID AS IN_PKID,
|
||
Client.CL_Nom AS CL_Nom,
|
||
Intervention.IN_RefInterne AS IN_RefInterne,
|
||
Intervention.IN_Description,
|
||
Intervention.IN_NoteInterne,
|
||
Intervention.IN_RefExterne,
|
||
Intervention.IN_CleType,
|
||
Intervention.IN_CleEtat,
|
||
Intervention.IN_Titre,
|
||
Intervention.IN_IDSociete,
|
||
Lieu.LI_CodeLieu AS LI_CodeLieu,
|
||
AdLieu.AD_PKID AS AdLieu_PKID,
|
||
AdLieu.AD_Etiquette AS AdLieu_Etiquette,
|
||
AdLieu.AD_Adresse,
|
||
AdLieu.AD_CodePostal AS AdLieu_CodePostal,
|
||
AdLieu.AD_Ville AS AdLieu_Ville,
|
||
Demandeur.PE_Nom AS PE_Nom,
|
||
Demandeur.PE_Prenom
|
||
FROM
|
||
(
|
||
( Intervention LEFT OUTER JOIN Client ON Intervention.IN_IDClient = Client.CL_PKID)
|
||
INNER JOIN Dossier ON Dossier.DO_PKID = Intervention.IN_IDDossier
|
||
LEFT OUTER JOIN Lieu ON Intervention.IN_IDLieu = Lieu.LI_PKID
|
||
LEFT OUTER JOIN Adresse AdLieu ON Lieu.LI_IDAdresse = AdLieu.AD_PKID)
|
||
LEFT OUTER JOIN Personne Demandeur ON Intervention.IN_IDDemandeur = Demandeur.PE_PKID
|
||
WHERE
|
||
(
|
||
{Clause}
|
||
)
|
||
]
|
||
saRQ=Remplace(saRQ,"{Clause}",saWhere)
|
||
SI stParam.saTOP<>"" ALORS
|
||
saRQ=Remplace(saRQ,"{TOP}","TOP " + stParam.saTOP)
|
||
SINON
|
||
saRQ=Remplace(saRQ,"{TOP}","")
|
||
FIN
|
||
12/08/2026 Batik_WS_Com_Mob 214
|
||
|
||
Partie 4 › Collection de procédures › LIB_Traitements › Code
|
||
RENVOYER saRQ
|
||
Procédure globale RqCompteRenduRemplirRapport
|
||
PROCÉDURE RqCompteRenduRemplirRapport(vInfoVariante est un Variant,sdRReqCR est une Source de Données)
|
||
saGUIDS est une chaîne ANSI
|
||
POUR TOUT UnEle DE vInfoVariante
|
||
SI UnEle.bSelection ALORS
|
||
saGUIDS += [" , "]+"'"+UnEle.saGuidCR +"'"
|
||
FIN
|
||
FIN
|
||
SI saGUIDS = "" ALORS
|
||
RENVOYER Faux
|
||
FIN
|
||
saRqCR est une chaîne ANSI = [
|
||
SELECT
|
||
CompteRendu.CR_PKID,
|
||
CompteRendu.GUID AS CR_GUID,
|
||
CompteRendu.CR_DateHeureDebut,
|
||
CompteRendu.CR_DateHeureFin,
|
||
CompteRendu.CR_NoteCollaborateur,
|
||
CompteRendu.CR_NomSignataire,
|
||
CompteRendu.CR_NomSignataireTech,
|
||
CompteRendu.CR_NoteSignataire,
|
||
CompteRendu.CR_DevisConforme,
|
||
CompteRendu.CR_AvecReserve,
|
||
CompteRendu.CR_ReserveCommentaire,
|
||
CompteRendu.CR_DateHeureSignature,
|
||
CompteRendu.CR_Signature,
|
||
CompteRendu.CR_SignatureTech,
|
||
CompteRendu.CR_IDTypeSignataire,
|
||
ParametreMetier.PA_Libelle AS CR_PA_Type
|
||
FROM CompteRendu
|
||
LEFT OUTER JOIN ParametreMetier ON ParametreMetier.PA_CLE = CompteRendu.CR_CleTypeSignataire and
|
||
CompteRendu.CR_CleTypeSignataire <> ''
|
||
WHERE
|
||
CR_GUID IN ({p_GUIDS})
|
||
]
|
||
saRqCR = Remplace(saRqCR,"{p_GUIDS}",Remplace(saGUIDS, RC,""))
|
||
SI PAS HExécuteRequêteSQL(sdRReqCR,hRequêteDéfaut,saRqCR) ALORS
|
||
FIN
|
||
Procédure globale SupprimerToutesRubRapportMob
|
||
PROCÉDURE SupprimerToutesRubRapportMob(tabToutesRub est un tableau de STJSONMembreRubRapport,MonDoc est
|
||
un Document)
|
||
tabFragments est tableau de docFragment
|
||
POUR i = 1 _À_ tabToutesRub..Occurrence
|
||
stUnTerme est un STJSONMembreRubRapport = tabToutesRub[i]
|
||
tabFragments = DocRecherche(MonDoc,stUnTerme.Rubrique,MotComplet+SansCasse)
|
||
12/08/2026 Batik_WS_Com_Mob 215
|
||
|
||
Partie 4 › Collection de procédures › LIB_Traitements › Code
|
||
POUR c = 1 _À_ tabFragments.Occurrence
|
||
tabFragments[c].Texte= ""
|
||
FIN
|
||
POUR TOUT stTermes DE stUnTerme.ListeMembre
|
||
tabFragments = DocRecherche(MonDoc,stTermes.Rubrique,MotComplet+SansCasse)
|
||
POUR h = 1 _À_ tabFragments.Occurrence
|
||
tabFragments[h].Texte= ""
|
||
FIN
|
||
FIN
|
||
FIN
|
||
Procédure globale TestCnxReplica
|
||
PROCÉDURE PRIVÉE TestCnxReplica()
|
||
sd est une Source de Données
|
||
saRes est une chaîne ANSI
|
||
// Déclaration dynamique du (ou des) fichier(s) utilisé(s) dans la requête
|
||
// HPasse("Planning_RDV",gsaPass)
|
||
//SI HDéclareExterne("Planning_RDV.FIC", "Planning_RDV", gcnxReplica) = Faux ALORS
|
||
// saRes=ErreurInfo(errComplet)
|
||
// RENVOYER saRes
|
||
//FIN
|
||
SI HExécuteRequêteSQL(sd,gcnxReplica,hRequêteDéfaut,"SELECT COUNT(*) as Nb FROM RDV_Planning") _ET_
|
||
HLitPremier(sd) ALORS
|
||
saRes=sd.NB
|
||
SINON
|
||
saRes=ErreurInfo(errComplet)
|
||
FIN
|
||
HAnnuleDéclaration(sd)
|
||
RENVOYER saRes
|
||
Procédure globale TraiteDocumentRapportMob
|
||
PROCÉDURE TraiteDocumentRapportMob(tabToutesRubest un tableau de STJSONMembreRubRapport, ListeMob est
|
||
un tableau de STJSONMembreRubRapport,MonDoc est un Document,saCheminImg est une chaîne ANSI )
|
||
c est un entier
|
||
sAInfoRemp est une chaîne ANSI
|
||
TableauTrie(tabToutesRub,ttMembre+tccRespecteNumérique,"+Rubrique;+Ordre")
|
||
sNomRub est une chaîne ANSI
|
||
tabFragments est tableau de docFragment
|
||
POUR i = 1 _À_ tabToutesRub..Occurrence
|
||
unTerme est un STJSONMembreRubRapport = tabToutesRub[i]
|
||
sAInfoRemp = ""
|
||
SI sNomRub <> unTerme.Rubrique ALORS
|
||
// moyen de savoir si la rubrique a été déjà traite, une rubrique peuvent être pressent
|
||
plusieurs fois dans un modèle ,
|
||
// toutes les rubriques seront traites dans la variable tabfragments
|
||
SI unTerme:Type = "Tableau" ALORS
|
||
QUAND EXCEPTION DANS
|
||
POUR c = 1 _À_ tabToutesRub..Occurrence
|
||
SI unTerme.Rubrique = tabToutesRub[c].Rubrique _ET_ tabToutesRub[c].ListeMembre..
|
||
Occurrence > 0 ALORS
|
||
tabFragments = DocRecherche(MonDoc,tabToutesRub[c].ListeMembre[1].Rubrique,
|
||
12/08/2026 Batik_WS_Com_Mob 216
|
||
|
||
Partie 4 › Collection de procédures › LIB_Traitements › Code
|
||
MotComplet+SansCasse)
|
||
SI tabFragments.Occurrence > 0 ALORS
|
||
TraiteLigneTableauRapportMob(ListeMob,tabToutesRub[c], MonDoc,saCheminImg
|
||
)
|
||
FIN
|
||
FIN
|
||
FIN
|
||
FAIRE
|
||
TraceERREUR("Erreur dans la création du rapport "+c+"fragments "+tabFragments.
|
||
Occurrence+ " Condition unTerme:Type = Tableau"+RC+ExceptionInfo())
|
||
FIN
|
||
SINON
|
||
QUAND EXCEPTION DANS
|
||
tabFragments = DocRecherche(MonDoc,unTerme.Rubrique,MotComplet+SansCasse)
|
||
SI tabFragments..Occurrence > 0 ALORS
|
||
SI tabFragments.Occurrence > 1 ALORS
|
||
POUR c = 1 _À_ tabFragments.Occurrence
|
||
sAInfoRemp = RechercheDonneesSimpleRapportMob(ListeMob,
|
||
unTerme)
|
||
tabFragments[c].Texte= sAInfoRemp
|
||
TraceERREUR(sAInfoRemp)
|
||
FIN
|
||
SINON
|
||
sAInfoRemp = RechercheDonneesSimpleRapportMob(ListeMob,unTerme)
|
||
tabFragments[1].Texte= sAInfoRemp
|
||
TraceERREUR(sAInfoRemp)
|
||
//DocRemplace(MonDoc, unTerme:Rubrique, sAInfoRemp,MotComplet+SansCasse)
|
||
FIN
|
||
FIN
|
||
FAIRE
|
||
TraceERREUR("Erreur dans la création du rapport "+c+"fragments "+tabFragments.
|
||
Occurrence+ " sans Condition"+RC+ExceptionInfo())
|
||
FIN
|
||
FIN
|
||
FIN
|
||
sNomRub= unTerme.Rubrique
|
||
FIN
|
||
Procédure globale TraiteEmailBuffer
|
||
PROCÉDURE TraiteEmailBuffer(tabRubMobile est un tableau de STJSONMembreRubRapport, ListeMob est un
|
||
tableau de STJSONMembreRubRapport,MonDoc est un Document)
|
||
c est un entier
|
||
sAInfoRemp est une chaîne ANSI
|
||
TableauTrie(tabRubMobile,ttMembre+tccRespecteNumérique,"+Rubrique;+Ordre")
|
||
sNomRub est une chaîne ANSI
|
||
POUR i = 1 _À_ tabRubMobile..Occurrence
|
||
unTerme est un STJSONMembreRubRapport = tabRubMobile[i]
|
||
sAInfoRemp = ""
|
||
SI sNomRub <> unTerme.Rubrique ALORS
|
||
// moyen de savoir si la rubrique a été déjà traite, une rubrique peuvent être pressent
|
||
plusieurs fois dans un modèle ,
|
||
// toutes les rubriques seront traites dans la variable tabfragments
|
||
SI unTerme.Type = "Tableau" _ET_ unTerme.GroupeApp <> cRp_Inter ALORS
|
||
12/08/2026 Batik_WS_Com_Mob 217
|
||
|
||
Partie 4 › Collection de procédures › LIB_Traitements › Code
|
||
QUAND EXCEPTION DANS
|
||
tabFragments est tableau de docFragment = DocRecherche(MonDoc,unTerme.Rubrique,
|
||
MotComplet+SansCasse)
|
||
c = 1
|
||
POUR c = 1 _À_ tabFragments.Occurrence
|
||
CreationTbdansModeleEmail(ListeMob,tabRubMobile[i],MonDoc)
|
||
//tabFragments[c].Texte = HTMLVersTexte(sAInfoRemp)
|
||
//tabFragments[c].Texte = sAInfoRemp
|
||
FIN
|
||
SI tabFragments..Occurrence <= 0 ALORS
|
||
SI unTerme.ListeMembre..Occurrence > 0 ALORS
|
||
tabFragments = DocRecherche(MonDoc,unTerme.ListeMembre[1].Rubrique,MotComplet
|
||
+SansCasse)
|
||
SI tabFragments.Occurrence > 0 ALORS
|
||
RemplirLigneSansTbModeleMail(ListeMob,unTerme, MonDoc)
|
||
FIN
|
||
FIN
|
||
FIN
|
||
FAIRE
|
||
TraceERREUR("Erreur dans la création du modele mail "+ExceptionInfo())
|
||
FIN
|
||
SINON
|
||
QUAND EXCEPTION DANS
|
||
tabFragments est tableau de docFragment = DocRecherche(MonDoc,unTerme.Rubrique,
|
||
MotComplet+SansCasse)
|
||
SI tabFragments..Occurrence > 0 ALORS
|
||
c = 1
|
||
POUR c = 1 _À_ tabFragments.Occurrence
|
||
sAInfoRemp = RechercheDonneesSimpleRapportMob(ListeMob,unTerme
|
||
)
|
||
tabFragments[c].Texte= sAInfoRemp
|
||
FIN
|
||
FIN
|
||
FAIRE
|
||
TraceERREUR("Erreur dans la création du modele email "+ExceptionInfo())
|
||
FIN
|
||
FIN
|
||
FIN
|
||
sNomRub= unTerme.Rubrique
|
||
FIN
|
||
Procédure globale TraiteLigneTableauRapportMob
|
||
PROCÉDURE TraiteLigneTableauRapportMob(ListeMob est un tableau de STJSONMembreRubRapport, unTerme est
|
||
un STJSONMembreRubRapport, MonDoc est un Document,CheminImg est une chaîne ANSI)
|
||
sADonnes est une chaîne ANSI
|
||
b est un entier
|
||
nColonne, nLigne, nIMax, nIMin,nSel sont des entiers
|
||
bUnAjout est un booléen
|
||
tabFragments est tableau de docFragment
|
||
TableauTrie(unTerme.ListeMembre,ttMembre+tccRespecteNumérique,"+Ordre")
|
||
SI unTerme:EnvoiMob ALORS
|
||
12/08/2026 Batik_WS_Com_Mob 218
|
||
|
||
Partie 4 › Collection de procédures › LIB_Traitements › Code
|
||
b = TableauCherche(ListeMob,tcLinéaire,"Rubrique;Utilisee",unTerme:Rubrique,Faux)
|
||
FIN
|
||
SI b > 0 ALORS
|
||
sADonnes = ListeMob[b].ListeDonnesMob
|
||
TraceINFO("Données mob : "+sADonnes)
|
||
FIN
|
||
SI sADonnes <> "" _ET_ unTerme:Type = "Tableau" ALORS
|
||
vInfoVariante est un Variant = JSONVersVariant(sADonnes)
|
||
ListeMob[b].Utilisee = Vrai
|
||
// on commence pour ajouter le nombre de ligne dans le tableau
|
||
SI unTerme.ListeMembre..Occurrence > 0 ALORS
|
||
tabFragments = DocRecherche(MonDoc,unTerme.ListeMembre[1].Rubrique,MotComplet+SansCasse)
|
||
SI tabFragments..Occurrence <= 0 _ET_ unTerme.ListeMembre..Occurrence > 1 ALORS
|
||
tabFragments = DocRecherche(MonDoc,unTerme.ListeMembre[2].Rubrique,MotComplet+SansCasse)
|
||
FIN
|
||
SI tabFragments..Occurrence > 0 ALORS
|
||
soit para <- tabFragments[1]..Paragraphe[1]
|
||
SI para.Tableau = Null ALORS
|
||
bUnAjout = Faux
|
||
SINON
|
||
bUnAjout = Vrai
|
||
FIN
|
||
SI bUnAjout ALORS
|
||
nColonne = tabFragments[1].Elément[1].Cellule..IndiceColonne
|
||
nLigne = tabFragments[1].Elément[1].Cellule..IndiceLigne
|
||
nIMax = nLigne
|
||
nIMin = nLigne
|
||
POUR TOUT Ele DE vInfoVariante
|
||
SI Ele.bselection ALORS
|
||
nSel += 1
|
||
SI nIMax > nLigne ALORS
|
||
Ajoute(para.Tableau.Lignes)
|
||
FIN
|
||
nIMax += 1
|
||
SI Contient(unTerme.ListeMembre[1].Rubrique,"$UN") ALORS
|
||
SORTIR
|
||
FIN
|
||
FIN
|
||
FIN
|
||
FIN
|
||
FIN
|
||
FIN
|
||
//Âpres l'ajout des toutes les lignes un ajoute l'information
|
||
SI bUnAjout ALORS
|
||
RemplirLigneTableauRapportMob(unTerme,nIMin,MonDoc,vInfoVariante,CheminImg)
|
||
SI nSel > 0 ALORS
|
||
RENVOYER Vrai
|
||
SINON
|
||
RENVOYER Faux
|
||
FIN
|
||
SINON
|
||
RENVOYER RemplirLigneSansTbRapport(unTerme, MonDoc,vInfoVariante,CheminImg)
|
||
FIN
|
||
FIN
|
||
12/08/2026 Batik_WS_Com_Mob 219
|
||
|
||
Partie 4 › Collection de procédures › LIB_Traitements › Code
|
||
RENVOYER Faux
|
||
Procédure globale TraitementSelonTypeRubRapportMob
|
||
PROCÉDURE TraitementSelonTypeRubRapportMob(stMembre, sADonnes est une chaîne ANSI)
|
||
sTexte est une chaîne = " "
|
||
dhUnDateHeure est une DateHeure
|
||
bUnBoolean est un booléen
|
||
sType est une chaîne ANSI = stMembre:TypeMembre
|
||
SI sType = "" ALORS
|
||
sType = stMembre:Type
|
||
FIN
|
||
SI sADonnes..Taille < 8 _ET_ (stMembre:TypeMembre = "ChpSimpleDate" OU stMembre:TypeMembre =
|
||
"ChpSimpleDateHeure") ALORS
|
||
RENVOYER sTexte
|
||
FIN
|
||
QUAND EXCEPTION DANS
|
||
SI stMembre:GroupeApp = cRp_Extra ALORS
|
||
SELON stMembre:Type
|
||
CAS typDate
|
||
dhUnDateHeure = sADonnes
|
||
sTexte=DateVersChaîne(dhUnDateHeure,"JJ/MM/AAAA")
|
||
CAS typHeure
|
||
dhUnDateHeure = sADonnes
|
||
sTexte=HeureVersChaîne(dhUnDateHeure,"HH:mm")
|
||
CAS typTexte
|
||
sTexte=sADonnes
|
||
CAS typSélect
|
||
sTexte=bUnBoolean=Vrai ? "Oui" SINON "Non"
|
||
AUTRE CAS
|
||
sTexte = sADonnes
|
||
FIN
|
||
SINON
|
||
SELON sType
|
||
CAS "ChpSimpleDate" : dhUnDateHeure = sADonnes
|
||
CAS "ChpSimpleDateHeure": dhUnDateHeure = sADonnes
|
||
CAS "ChpSimpleBooleen" : bUnBoolean = sADonnes
|
||
FIN
|
||
SELON sType
|
||
CAS "ChpSimpleChaine" : sTexte=sADonnes
|
||
CAS "ChpSimpleRTF" : sTexte=RTFVersTexte(sADonnes)
|
||
CAS "ChpSimpleDate" : sTexte=DateVersChaîne(dhUnDateHeure,"JJ/MM/AAAA")
|
||
CAS "ChpSimpleDateHeure": sTexte=DateVersChaîne(dhUnDateHeure,"JJ/MM/AAAA HH:mm")
|
||
CAS "ChpSimpleReel" : sTexte=sADonnes
|
||
CAS "ChpSimpleBooleen" : sTexte=bUnBoolean=Vrai ? "Oui" SINON "Non"
|
||
AUTRE CAS
|
||
sTexte = sADonnes
|
||
FIN
|
||
FIN
|
||
RENVOYER sTexte
|
||
FAIRE
|
||
RENVOYER sTexte
|
||
FIN
|
||
Procédure globale WhereRechercheIntDroitDossier
|
||
PROCÉDURE WhereRechercheIntDroitDossier(stData est une ST_MOB_DATA, saGUIDColb est une chaîne ANSI)
|
||
12/08/2026 Batik_WS_Com_Mob 220
|
||
|
||
Partie 4 › Collection de procédures › LIB_Traitements › Code
|
||
stParam est un ST_REQ_LISTE_RDV
|
||
Désérialise(stParam,stData.saJSON,psdJSON)
|
||
saTxt est une chaîne = stParam.saTxt
|
||
saLstIdDossier est une chaîne ANSI
|
||
saWhere est une chaîne ANSI
|
||
saWhere +=" ( Intervention.IN_RefInterne LIKE '%" + saTxt +"%'"
|
||
saWhere +=" OR Client.CL_Nom LIKE '%" + saTxt +"%'"
|
||
saWhere +=" OR Lieu.LI_CodeLieu LIKE '%" + saTxt +"%'"
|
||
saWhere +=" OR Demandeur.PE_Nom LIKE '%" + saTxt +"%'"
|
||
saWhere +=" ) "
|
||
bufRes est un Buffer
|
||
saReq est une chaîne ANSI = [
|
||
select STRING_AGG(RDV_Planning.RV_IdDossier, ',') AS id_list
|
||
FROM
|
||
(
|
||
( RDV_Planning
|
||
INNER JOIN RDV_Collaborateur ON RDV_Collaborateur.RVC_GUID_Colb = {pGUIDColb} AND
|
||
RDV_Collaborateur.Archive = 0
|
||
LEFT OUTER JOIN Intervention on Intervention.IN_PKID = RDV_Planning.RV_IdInter
|
||
LEFT OUTER JOIN Client ON Intervention.IN_IDClient = Client.CL_PKID )
|
||
LEFT OUTER JOIN Lieu ON Intervention.IN_IDLieu = Lieu.LI_PKID
|
||
LEFT OUTER JOIN Adresse AdLieu ON Lieu.LI_IDAdresse = AdLieu.AD_PKID)
|
||
LEFT OUTER JOIN Personne Demandeur ON Intervention.IN_IDDemandeur = Demandeur.PE_PKID
|
||
WHERE
|
||
(
|
||
{Clause} And RDV_Planning.Archive = 0
|
||
)
|
||
]
|
||
saReq=Remplace(saReq,"{Clause}",saWhere)
|
||
saReq=Remplace(saReq,"{pGUIDColb}",saGUIDColb)
|
||
sd est une Source de Données
|
||
// TraceRequete(saRQ)
|
||
SI PAS HExécuteRequêteSQL(sd,gcnxReplica,hRequêteDéfaut,saReq) ALORS
|
||
bufRes="E"+ErreurInfo(errComplet)
|
||
TraceDEBUG("bufREs : " + bufRes)
|
||
RENVOYER bufRes
|
||
SINON
|
||
POUR TOUT sd
|
||
saLstIdDossier = sd.id_list
|
||
FIN
|
||
FIN
|
||
SI saLstIdDossier <> "" ALORS
|
||
saWhere+= "AND Intervention.IN_IDDossier IN ("+saLstIdDossier+")"
|
||
RENVOYER saWhere
|
||
SINON
|
||
RENVOYER ""
|
||
FIN
|
||
Procédure globale WhereRechercheIntDroitRDV
|
||
PROCÉDURE WhereRechercheIntDroitRDV(stData est une ST_MOB_DATA, saGUIDColb est une chaîne ANSI)
|
||
stParam est un ST_REQ_LISTE_RDV
|
||
Désérialise(stParam,stData.saJSON,psdJSON)
|
||
saTxt est une chaîne = stParam.saTxt
|
||
12/08/2026 Batik_WS_Com_Mob 221
|
||
|
||
Partie 4 › Collection de procédures › LIB_Traitements › Code
|
||
| saLstIdInt | est une chaîne ANSI | | | |
|
||
| ------------------------------------------ | ------------------- | --- | ---------------------- | --- |
|
||
| saWhere | est une chaîne ANSI | | | |
|
||
| saWhere +=" ( Intervention.IN_RefInterne | | | LIKE '%" + saTxt +"%'" | |
|
||
| saWhere +=" OR Client.CL_Nom | | | LIKE '%" + saTxt +"%'" | |
|
||
| saWhere +=" OR Lieu.LI_CodeLieu | | | LIKE '%" + saTxt +"%'" | |
|
||
| saWhere +=" OR Demandeur.PE_Nom | | | LIKE '%" + saTxt +"%'" | |
|
||
saWhere +=" ) "
|
||
| bufRes | est un Buffer | | | |
|
||
| ------ | ------------------- | --- | --- | --- |
|
||
| saReq | est une chaîne ANSI | = [ | | |
|
||
select STRING_AGG(RDV_Planning.RV_IdDossier, ',') AS id_list
|
||
FROM
|
||
(
|
||
( RDV_Planning
|
||
INNER JOIN RDV_Collaborateur ON RDV_Collaborateur.RVC_GUID_Colb = {pGUIDColb} AND
|
||
RDV_Collaborateur.Archive = 0
|
||
LEFT OUTER JOIN Intervention on Intervention.IN_PKID = Planning_RDV.PL_IDIntervention
|
||
LEFT OUTER JOIN Client ON Intervention.IN_IDClient = Client.CL_PKID )
|
||
LEFT OUTER JOIN Lieu ON Intervention.IN_IDLieu = Lieu.LI_PKID
|
||
LEFT OUTER JOIN Adresse AdLieu ON Lieu.LI_IDAdresse = AdLieu.AD_PKID)
|
||
LEFT OUTER JOIN Personne Demandeur ON Intervention.IN_IDDemandeur = Demandeur.PE_PKID
|
||
WHERE
|
||
(
|
||
{Clause} And RDV_Planning.Archive = 0
|
||
)
|
||
]
|
||
| saReq = Remplace(saReq,"{Clause}",saWhere) | | | | |
|
||
| ------------------------------------------------ | --- | --- | --- | --- |
|
||
| saReq = Remplace(saReq,"{pGUIDColb}",saGUIDColb) | | | | |
|
||
| sd est une Source de Données | | | | |
|
||
// TraceRequete(saRQ)
|
||
SI PAS HExécuteRequêteSQL(sd,gcnxReplica,hRequêteDéfaut,saReq) ALORS
|
||
bufRes="E"+ErreurInfo(errComplet)
|
||
TraceDEBUG("bufREs : " + bufRes)
|
||
RENVOYER bufRes
|
||
SINON
|
||
POUR TOUT sd
|
||
saLstIdInt = sd.id_list
|
||
FIN
|
||
FIN
|
||
SI saLstIdInt <> "" ALORS
|
||
saWhere+= "AND Intervention.IN_PKID IN ("+saLstIdInt+")"
|
||
RENVOYER saWhere
|
||
SINON
|
||
RENVOYER ""
|
||
FIN
|
||
Procédure globale WhereRechercheIntDroitSoc
|
||
PROCÉDURE WhereRechercheIntDroitSoc(stData est une ST_MOB_DATA, nIdCollab est un entier sur 8 octets)
|
||
stParam est un ST_REQ_LISTE_RDV
|
||
Désérialise(stParam,stData.saJSON,psdJSON)
|
||
| saTxt | est une chaîne | = stParam.saTxt | | |
|
||
| --------------------------- | ------------------- | --------------- | ---------------- | --- |
|
||
| saLstIdSoc | est une chaîne ANSI | | | |
|
||
| saWhere est une chaîne ANSI | | | | |
|
||
| 12/08/2026 | | | Batik_WS_Com_Mob | 222 |
|
||
|
||
Partie 4 › Collection de procédures › LIB_Traitements › Code
|
||
bufRes est un Buffer
|
||
saReq_2 est une chaîne ANSI = [
|
||
select SC_IDCSociete from Societe_Collaborateur where SC_IDCollaborateur =
|
||
]
|
||
saReq_2 += nIdCollab
|
||
sd_2 est une Source de Données
|
||
// TraceRequete(saRQ)
|
||
SI PAS HExécuteRequêteSQL(sd_2,gcnxReplica,hRequêteDéfaut,saReq_2) ALORS
|
||
bufRes="E"+ErreurInfo(errComplet)
|
||
TraceDEBUG("bufREs : " + bufRes)
|
||
RENVOYER bufRes
|
||
SINON
|
||
POUR TOUT sd_2
|
||
saLstIdSoc+= [","] + sd_2.SC_IDCSociete
|
||
FIN
|
||
FIN
|
||
SI saLstIdSoc <> "" ALORS
|
||
//Construction de la clause WHERE qui sera ensuite ajoutée dans la requête de recherche
|
||
saWhere +=" ( Intervention.IN_RefInterne LIKE '%" + saTxt +"%'"
|
||
saWhere +=" OR Client.CL_Nom LIKE '%" + saTxt +"%'"
|
||
saWhere +=" OR Lieu.LI_CodeLieu LIKE '%" + saTxt +"%'"
|
||
saWhere +=" OR Demandeur.PE_Nom LIKE '%" + saTxt +"%'"
|
||
saWhere +=" ) AND Intervention.IN_IDSociete in ("+saLstIdSoc+")"
|
||
FIN
|
||
RENVOYER saWhere
|
||
12/08/2026 Batik_WS_Com_Mob 223
|
||
|
||
Partie 4 › Collection de procédures › LIB_ProcéduresGlobales2 › Code
|
||
LIB_ProcéduresGlobales2
|
||
Code
|
||
Procédure globale DebuteSession
|
||
PROCÉDURE DebuteSession(Token est une chaîne ANSI)
|
||
//res est une chaîne ANSI = WebserviceParamètre("Token",paramAvecDécodage)
|
||
// Utilisez la commande WebserviceParamètre() pour récupérer les paramètres du point d'entrée du
|
||
Webservice REST associé à cette procédure.
|
||
// Consultez l'aide de WebserviceParamètre pour plus d'informations.
|
||
WebserviceEcritCodeHTTP(400,"Super")
|
||
RENVOYER "Recu :[" +Token + "]"
|
||
12/08/2026 Batik_WS_Com_Mob 224
|
||
|
||
Partie 4 › Collection de procédures › LIB_Structures › Code
|
||
LIB_Structures
|
||
Code
|
||
Déclaration de LIB_Structures
|
||
CONSTANT
|
||
cREP_LIC_OK ="E0000"
|
||
cERR_DATA_VIDE ="E1001"
|
||
cERR_FORMAT_JSON ="E1002"
|
||
cERR_CLI_INCONNU ="E2001"
|
||
cERR_CLI_LIC ="E2002"
|
||
cERR_CLI_CONFIG ="E2003" //Configuration incomplète
|
||
cERR_CLI_BADAPI ="E2004" //La clé API n'est pas correcte
|
||
cERR_LIC_INCONNUE ="E3001"
|
||
cERR_LIC_INACTIVE="E3002"
|
||
cERR_LIC_EXPIREE ="E3003"
|
||
cERR_LIC_ATTRIBUEE ="E3004"
|
||
cERR_LIC_AUCUNE ="E3005"
|
||
cERR_CMD_INCONNUE="E4001"
|
||
cERR_HF_BLOCAGE ="E5001"
|
||
cERR_SRV ="E6001" //Erreur générique du serveur
|
||
//Erreur fonctionnelle
|
||
cERR_RDV_PLANIFIER ="E7001"
|
||
cERR_EXCEPTION ="E9000"
|
||
FIN
|
||
ST_ContexteMobile est une Structure
|
||
saToken est une chaîne ANSI
|
||
saIdMobile est une chaîne ANSI
|
||
saBaseData est une chaîne ANSI
|
||
saBaseSync est une chaîne ANSI
|
||
saIdClient est une chaîne ANSI
|
||
bAuthentifié est un booléen
|
||
dhAuthentification est une DateHeure
|
||
saNumPort est une chaîne ANSI
|
||
nIdGroupe est un entier sur 8 octets
|
||
nNbConnexions est un entier
|
||
saNomUser est une chaîne ANSI
|
||
saFichierLog est une chaîne ANSI
|
||
stUser est un ST_PROFIL_UTILISATEUR
|
||
sLstEtatsInter est une chaîne ANSI
|
||
//Liste des ParametreMetier.PA_pkid des États des Interventions non planifiées que l'on peut
|
||
transmettre aux mobile
|
||
sLstDocTypeAcces est une chaîne ANSI
|
||
//Paramètres Métiers
|
||
bParamChargés est un booléen
|
||
12/08/2026 Batik_WS_Com_Mob 225
|
||
|
||
Partie 4 › Collection de procédures › LIB_Structures › Code
|
||
sParamJson est une chaîne ANSI
|
||
tbaDroitsAcces est un tableau associatif de booléens
|
||
FIN
|
||
ST_TAB_PARAM est une Structure
|
||
TbaRoleContact est un tableau associatif (*, "Contact", wlChaîneAnsi) de chaînes
|
||
TbaRoleCntctLieu est un tableau associatif (*, "Contact", wlChaîneAnsi) de chaînes
|
||
TbaCivilite est un tableau associatif (*, *, wlChaîneAnsi) de chaînes
|
||
TbaTypeDossier est un tableau associatif (*, *, wlChaîneAnsi) de chaînes
|
||
TbaStatutDossier est un tableau associatif (*, *, wlChaîneAnsi) de chaînes
|
||
TbaTypeLieu est un tableau associatif (*, *, wlChaîneAnsi) de chaînes
|
||
TbaDestDemande est un tableau associatif (*, *, wlChaîneAnsi) de chaînes
|
||
TbaPriorite est un tableau associatif (*, *, wlChaîneAnsi) de chaînes
|
||
TbaTypeInter est un tableau associatif (*, *, wlChaîneAnsi) de chaînes
|
||
TbaEtatInter est un tableau associatif (*, *, wlChaîneAnsi) de chaînes
|
||
TbaStatutRDV est un tableau associatif (*, *, wlChaîneAnsi) de chaînes
|
||
TbaTypAction est un tableau associatif (*, *, wlChaîneAnsi) de chaînes
|
||
TbaTypActivite est un tableau associatif (*, *, wlChaîneAnsi) de chaînes
|
||
TbaTypAdresse est un tableau associatif (*, *, wlChaîneAnsi) de chaînes
|
||
TbaStatutClient est un tableau associatif (*, *, wlChaîneAnsi) de chaînes
|
||
TbaTypClient est un tableau associatif (*, *, wlChaîneAnsi) de chaînes
|
||
TbaCategorieDoc est un tableau associatif (*, *, wlChaîneAnsi) de chaînes
|
||
TbaCategorieDoc2 est un tableau associatif (*, *, wlChaîneAnsi) d'entiers sur 8 octets
|
||
TbaCategorieDoc3 est un tableau associatif (*, *, wlChaîneAnsi) de STParametreCategDoc
|
||
BDroitProfil est un tableau associatif (*, *, wlChaîneAnsi) de STListeDroit
|
||
FIN
|
||
ST_PROFIL_UTILISATEUR est une Structure
|
||
saGuid est une chaîne ANSI
|
||
nIdUser est un entier sur 8 octets
|
||
nIdCollab est un entier sur 8 octets
|
||
saNom est une chaîne ANSI
|
||
saPrenom est une chaîne ANSI
|
||
saSociete est une chaîne ANSI
|
||
nPond100 est un entier
|
||
nIdGroupe est un entier
|
||
saProfil est une chaîne ANSI
|
||
nIdProfil est un entier sur 8 octets
|
||
bDroit_AnnulationRDV est un booléen
|
||
bDroit_EnvoiEmail est un booléen
|
||
bDroit_CreationRapport est un booléen
|
||
ParamApp est un ST_ParamApp
|
||
FIN
|
||
ST_CONTEXTE est une Structure
|
||
tbParam est un tableau de ST_PARAMETRE_METIER
|
||
stUser est un ST_PROFIL_UTILISATEUR
|
||
FIN
|
||
ST_ParamApp est une Structure
|
||
bDroit_AnnulationRDV est un booléen
|
||
bDroit_CouleurRDV est un booléen
|
||
bDroit_HeureDejRDV est un booléen
|
||
bNumDevis_RDV est un booléen
|
||
bRefInt_RDV est un booléen
|
||
bRefExt_RDV est un booléen
|
||
FIN
|
||
//Structures utilisée pour envoyer la liste des Interventions au mobiles
|
||
ST_ADRESSE est une Structure
|
||
nID est un entier sur 8 octets
|
||
saEtiq est une chaîne ANSI
|
||
saLig est une chaîne ANSI
|
||
saCP est une chaîne ANSI
|
||
12/08/2026 Batik_WS_Com_Mob 226
|
||
|
||
Partie 4 › Collection de procédures › LIB_Structures › Code
|
||
saVil est une chaîne ANSI
|
||
FIN
|
||
ST_PERSONNE_LIEU est une Structure
|
||
saNom est une chaîne ANSI
|
||
saPren est une chaîne ANSI
|
||
saTFix est une chaîne ANSI
|
||
saTMob est une chaîne ANSI
|
||
nID est un entier sur 8 octets
|
||
saRole est une chaîne ANSI
|
||
saEtage est une chaîne ANSI
|
||
saEtiquette est une chaîne ANSI
|
||
saLot est une chaîne ANSI
|
||
saNote est une chaîne ANSI
|
||
saEmail est une chaîne ANSI
|
||
bDemand est un booléen
|
||
bDonneurOrdre est un booléen
|
||
FIN
|
||
ST_NOTE est une Structure
|
||
saGuid est une chaîne ANSI
|
||
nIdInter est un entier sur 8 octets
|
||
saNote est une chaîne ANSI
|
||
saAuteur est une chaîne ANSI
|
||
nIdAuteur est un entier sur 8 octets <zombie> //
|
||
saDate est une chaîne ANSI
|
||
saType est une chaîne ANSI
|
||
nIdUsr est un entier sur 8 octets
|
||
FIN
|
||
ST_COMPTERENDU_V2 est une Structure
|
||
saGuidCR est une chaîne ANSI
|
||
saDebut est une chaîne ANSI
|
||
saFin est une chaîne ANSI
|
||
saNoteCollab est une chaîne ANSI
|
||
saNoteClient est une chaîne ANSI
|
||
saDateSignature est une chaîne ANSI
|
||
saReserveCommentaire est une chaîne ANSI
|
||
nIdInter est un entier sur 8 octets
|
||
saSignataire est une chaîne ANSI
|
||
saGuidRDV est une chaîne ANSI
|
||
nIdCollab est un entier sur 8 octets
|
||
nIdUser est un entier sur 8 octets
|
||
bImgSignature est un booléen
|
||
bImgSignatureTechest un booléen
|
||
saNomCollaborateur est une chaîne ANSI
|
||
nIDTypeSignataireest un entier sur 8 octets
|
||
nIdGroupeRDV est un entier
|
||
bufImgSignature est un Buffer
|
||
FIN
|
||
ST_TEMPS est une Structure
|
||
saGuid est une chaîne ANSI
|
||
nIdInter est un entier sur 8 octets
|
||
nIdTps est un entier sur 8 octets
|
||
nIdCollab est un entier sur 8 octets
|
||
nIdRDV est un entier sur 8 octets
|
||
saNumInter est une chaîne ANSI
|
||
saLibelle est une chaîne ANSI
|
||
saHeureDebut est une chaîne ANSI
|
||
saHeureFin est une chaîne ANSI
|
||
nPond100 est un entier
|
||
nNbMinutes est un entier
|
||
nIdTypeTps est un entier sur 8 octets
|
||
saGuidRdv est une chaîne ANSI
|
||
FIN
|
||
ST_TEMPS_PASSE est une Structure
|
||
12/08/2026 Batik_WS_Com_Mob 227
|
||
|
||
Partie 4 › Collection de procédures › LIB_Structures › Code
|
||
saGuid est une chaîne ANSI
|
||
nIdTypeTps est un entier sur 8 octets
|
||
nTemps est un entier
|
||
saDateHeureDeb est une chaîne ANSI
|
||
saDateHeureFin est une chaîne ANSI
|
||
bModifiable est un booléen
|
||
FIN
|
||
ST_TEMPS_PASSE_RDV est une Structure
|
||
nIdRDV est un entier sur 8 octets
|
||
//nIdInterventionest un entier sur 8 octets
|
||
//saGuidRdv est une chaîne ANSI
|
||
//nIdCollab est un entier sur 8 octets
|
||
tblTemps est un tableau de ST_TEMPS_PASSE
|
||
FIN
|
||
ST_PARAMETRE_METIER est une Structure
|
||
nIdParam est un entier sur 8 octets
|
||
saCode est une chaîne ANSI
|
||
saLib est une chaîne ANSI
|
||
saVal est une chaîne ANSI
|
||
nOrdre est un entier
|
||
bSysteme est un booléen
|
||
bInvisible est un booléen
|
||
FIN
|
||
ST_PARAMETRE_METIER_V2 est une Structure
|
||
nIdParam est un entier sur 8 octets
|
||
saCode est une chaîne ANSI
|
||
saLib est une chaîne ANSI
|
||
saVal est une chaîne ANSI
|
||
nOrdre est un entier
|
||
bSysteme est un booléen
|
||
bInvisible est un booléen
|
||
saJson est un chaîne ANSI
|
||
FIN
|
||
//Toute modif dans cette structure doit être reportée dans la structure ST_RDV_LOC du projet BeMobile
|
||
ST_COMPTERENDU est une Structure
|
||
saGuidCR est une chaîne ANSI
|
||
saDebut est une chaîne ANSI
|
||
saFin est une chaîne ANSI
|
||
saNoteCollab est une chaîne ANSI
|
||
saNoteClient est une chaîne ANSI
|
||
saDateSignature est une chaîne ANSI
|
||
nIdInter est un entier sur 8 octets
|
||
saSignataire est une chaîne ANSI
|
||
saGuidRDV est une chaîne ANSI
|
||
nIdCollab est un entier sur 8 octets
|
||
nIdUser est un entier sur 8 octets
|
||
bufImgSignature est un Buffer
|
||
FIN
|
||
STCompteRenduRqListe_V2 est une Structure
|
||
saCR_GUID est une chaîne ANSI
|
||
saDateHeureDebut est une chaîne ANSI
|
||
saDateHeureFin est une chaîne ANSI
|
||
saNoteCollaborateur est une chaîne ANSI
|
||
saNoteSignataire est une chaîne ANSI
|
||
saReserveCommentaire est une chaîne ANSI
|
||
saDateHeureSignature est une chaîne ANSI
|
||
nRDV_PKID est une entier sur 8 octets
|
||
nIN_PKID est une entier sur 8 octets
|
||
saNomSignataire est une chaîne
|
||
saPL_GUID est une chaîne ANSI
|
||
nPL_IDCollaborateur est un entier sur 8 octets
|
||
nCR_CreationUser est un entier sur 8 octets
|
||
12/08/2026 Batik_WS_Com_Mob 228
|
||
|
||
Partie 4 › Collection de procédures › LIB_Structures › Code
|
||
bCR_Signature est un booléen
|
||
bCR_SignatureTech est un booléen
|
||
nIdGroupe est un entier
|
||
saNomCollaborateur est une chaîne
|
||
nIDTypeSignataire est un entier sur 8 octets
|
||
bufCR_Signature est un Buffer
|
||
FIN
|
||
STCompteRenduRqListe est une Structure
|
||
saCR_GUID est une chaîne ANSI
|
||
saDateHeureDebut est une chaîne ANSI
|
||
saDateHeureFin est une chaîne ANSI
|
||
saNoteCollaborateur est une chaîne ANSI
|
||
saNoteSignataire est une chaîne ANSI
|
||
saDateHeureSignature est une chaîne ANSI
|
||
nRDV_PKID est une entier sur 8 octets
|
||
nIN_PKID est une entier sur 8 octets
|
||
saNomSignataire est une chaîne
|
||
saPL_GUID est une chaîne ANSI
|
||
nPL_IDCollaborateur est un entier sur 8 octets
|
||
nCR_CreationUser est un entier sur 8 octets
|
||
bufCR_Signature est un Buffer
|
||
nIdGroupe est un entier sur 8 octets
|
||
FIN
|
||
ST_RDV_A_PLANIFIER est une Structure
|
||
nIdRdv est un entier sur 8 octets
|
||
saGuidRdv est une chaîne ANSI
|
||
nIdCollab est un entier sur 8 octets
|
||
nIdUser est un entier sur 8 octets
|
||
saDateHeureDeb est une chaîne ANSI
|
||
saDateHeureFin est une chaîne ANSI
|
||
nIDStatut est un entier sur 8 octets
|
||
FIN
|
||
ST_TELEPHONE est une Structure
|
||
saTelNum est une chaîne ANSI
|
||
saTelLib est une chaîne ANSI
|
||
FIN
|
||
ST_RDV_CONTACT est une Structure
|
||
nIdRdvCnt est un entier sur 8 octets
|
||
//nID est un entier sur 8 octets
|
||
saCivilite est une chaîne ANSI
|
||
saNom est une chaîne ANSI
|
||
saPrenom est une chaîne ANSI
|
||
saEmail est une chaîne ANSI
|
||
nIdRole est un entier sur 8 octets
|
||
saRole est une chaîne ANSI
|
||
saEtage est une chaîne ANSI
|
||
saLot est une chaîne ANSI
|
||
saEtiquette est une chaîne ANSI
|
||
saNote est une chaîne ANSI
|
||
bDonneurOrdre est un booléen
|
||
tbLTEL est un tableau de ST_TELEPHONE
|
||
FIN
|
||
// saGuid est une chaîne ANSI
|
||
// nRDV_PKID est un entier sur 8 octets
|
||
// nRDV_IDClb est un entier sur 8 octets
|
||
// nRDV_IDInt est un entier sur 8 octets
|
||
// nRDV_TypActID est un entier sur 8 octets
|
||
// nRDV_StatutID est un entier sur 8 octets
|
||
// saRDV_Obj est une chaîne ANSI
|
||
// saRDV_Dscrpt est une chaîne ANSI
|
||
// saRDV_DtDeb est une chaîne ANSI
|
||
// saRDV_DtFin est une chaîne ANSI
|
||
12/08/2026 Batik_WS_Com_Mob 229
|
||
|
||
Partie 4 › Collection de procédures › LIB_Structures › Code
|
||
//Toute modif dans cette structure doit être reportée dans la structure ST_INTER_LOC du projet BeMobile
|
||
ST_INTER est une Structure
|
||
nDos_IDCli est un entier sur 8 octets
|
||
saDos_Type est une chaîne ANSI
|
||
saDos_Tit est une chaîne ANSI
|
||
saDos_Etat est une chaîne ANSI
|
||
saDos_RfI est une chaîne ANSI
|
||
saDos_RfE est une chaîne ANSI
|
||
saCli_Nom est une chaîne ANSI
|
||
saCli_Tel est une chaîne ANSI
|
||
saCli_Fax est une chaîne ANSI
|
||
saCli_Email est une chaîne ANSI
|
||
stCli_Ad est un ST_ADRESSE
|
||
nInt_PKID est un entier sur 8 octets
|
||
saInt_Typ est une chaîne ANSI
|
||
saInt_Etat est une chaîne ANSI
|
||
nInt_IDSuiv est un entier sur 8 octets
|
||
saNomSuiviPar est une chaîne
|
||
saPrenomSuiviPar est une chaîne
|
||
saTelSuiviPar est une chaîne
|
||
saSuiviEmail est une chaîne ANSI
|
||
nInt_IDDos est un entier sur 8 octets
|
||
nInt_IDDem est un entier sur 8 octets
|
||
nInt_IDCli est un entier sur 8 octets
|
||
nInt_IDLieu est un entier sur 8 octets
|
||
nInt_IDSociete est un entier sur 8 octets
|
||
saInt_Descrip est une chaîne ANSI
|
||
bInt_AtTVA est un booléen
|
||
saInt_Note est une chaîne ANSI
|
||
saInt_Tit est une chaîne ANSI
|
||
saInt_RfI est une chaîne ANSI
|
||
saInt_RfE est une chaîne ANSI
|
||
saInt_NumDevis est une chaîne
|
||
saInt_DateDevis est une chaîne ANSI
|
||
saSoc_Nom est une chaîne ANSI
|
||
nLieu_PKID est un entier sur 8 octets
|
||
saLieu_CodeLieu est une chaîne ANSI
|
||
nLieu_IDAdresse est un entier sur 8 octets
|
||
saLieu_Type est une chaîne ANSI
|
||
saLieu_CodeAcces est une chaîne ANSI
|
||
bLieu_Badge est un booléen
|
||
bLieu_Interphone est un booléen
|
||
saLieu_Note est une chaîne ANSI
|
||
nAdLieu_PKID est un entier sur 8 octets
|
||
stLieu_Ad est un ST_ADRESSE
|
||
nDmd_PKIDest est un entier sur 8 octets
|
||
saDmd_Civ est une chaîne ANSI
|
||
saDmd_Nom est une chaîne ANSI
|
||
saDmd_Prenom est une chaîne ANSI
|
||
saDmd_TelFixe est une chaîne ANSI
|
||
saDmd_TelMobile est une chaîne ANSI
|
||
saDmd_Email est une chaîne ANSI
|
||
saDmd_Role est une chaîne ANSI
|
||
nDmd_IDAdresse est un entier sur 8 octets
|
||
nDmd_IDClient est un entier sur 8 octets
|
||
saDmd_Note est une chaîne ANSI
|
||
saDmd_Fax est une chaîne ANSI
|
||
tblPerLieu est un tableau de ST_PERSONNE_LIEU
|
||
12/08/2026 Batik_WS_Com_Mob 230
|
||
|
||
Partie 4 › Collection de procédures › LIB_Structures › Code
|
||
tblNote est un tableau de ST_NOTE
|
||
// tblTps est un Tableau de ST_TEMPS
|
||
FIN
|
||
ST_RDV est une Structure
|
||
nPKID est un entier sur 8 octets
|
||
nIDGroupe est un entier sur 8 octets
|
||
nIDSociete est un entier sur 8 octets
|
||
nIDEquipe est un entier sur 8 octets
|
||
nIDCollaborateur est un entier sur 8 octets
|
||
nIDDossier est un entier sur 8 octets
|
||
nIDIntervention est un entier sur 8 octets
|
||
nIDTypeActivite est un entier sur 8 octets
|
||
nIDStatut est un entier sur 8 octets
|
||
saStatut est une chaîne ANSI
|
||
saDescription est une chaîne ANSI
|
||
saDateDebut est une chaîne ANSI
|
||
saDateFin est une chaîne ANSI
|
||
bSuperposable est un booléen
|
||
bPrive est un booléen
|
||
bGrouper est un booléen
|
||
saObjet est une chaîne ANSI
|
||
nIDLieu est une chaîne
|
||
saGUID est une chaîne ANSI
|
||
tblContact est un tableau de ST_RDV_CONTACT
|
||
stCompteRendu est un ST_COMPTERENDU
|
||
FIN
|
||
ST_RDV_V2 est une Structure
|
||
nPKID est un entier sur 8 octets
|
||
nIDGroupe est un entier sur 8 octets
|
||
nIDSociete est un entier sur 8 octets
|
||
nIDEquipe est un entier sur 8 octets
|
||
nIDCollaborateur est un entier sur 8 octets
|
||
nIDDossier est un entier sur 8 octets
|
||
nIDIntervention est un entier sur 8 octets
|
||
nIDTypeActivite est un entier sur 8 octets
|
||
nIDStatut est un entier sur 8 octets
|
||
saStatut est une chaîne ANSI
|
||
saDescription est une chaîne ANSI
|
||
saDateDebut est une chaîne ANSI
|
||
saDateFin est une chaîne ANSI
|
||
bSuperposable est un booléen
|
||
bPrive est un booléen
|
||
bGrouper est un booléen
|
||
saObjet est une chaîne ANSI
|
||
nIDLieu est une chaîne
|
||
saGUID est une chaîne ANSI
|
||
saGUID_RDV est une chaîne ANSI
|
||
bSAV est un booléen
|
||
bCR est un booléen
|
||
tblContact est un tableau de ST_RDV_CONTACT
|
||
stCompteRendu est un ST_COMPTERENDU_V2
|
||
saNoteCollab est une chaîne ANSI
|
||
FIN
|
||
ST_RDV_INTER est une Structure
|
||
stRDV est un ST_RDV
|
||
stINTER est un ST_INTER
|
||
saRDV_TypAct est une chaîne ANSI
|
||
saRDV_Statut est une chaîne ANSI
|
||
saRDV_Civ est une chaîne ANSI
|
||
saRDV_Nom est une chaîne ANSI
|
||
saRDV_Pren est une chaîne ANSI
|
||
saRDV_Tel est une chaîne ANSI
|
||
saRDV_Role est une chaîne ANSI
|
||
12/08/2026 Batik_WS_Com_Mob 231
|
||
|
||
Partie 4 › Collection de procédures › LIB_Structures › Code
|
||
nRDV_IdCtact est un entier sur 8 octets
|
||
saRDV_Lieu est une chaîne ANSI
|
||
FIN
|
||
ST_RDV_INTER_V2 est une Structure
|
||
stRDV est un ST_RDV_V2
|
||
stINTER est un ST_INTER
|
||
saRDV_TypAct est une chaîne ANSI
|
||
saRDV_Statut est une chaîne ANSI
|
||
saRDV_Civ est une chaîne ANSI
|
||
saRDV_Nom est une chaîne ANSI
|
||
saRDV_Pren est une chaîne ANSI
|
||
saRDV_Tel est une chaîne ANSI
|
||
saRDV_Role est une chaîne ANSI
|
||
nRDV_IdCtact est un entier sur 8 octets
|
||
saRDV_Lieu est une chaîne ANSI
|
||
FIN
|
||
//Toute modif dans cette structure doit être reportée dans la structure ST_TABELEM_DOC du projet
|
||
BeMobile
|
||
ST_TABELEM_DOC est une Structure
|
||
nDC_PKID est un entier sur 8 octets
|
||
nDC_IdInter est un entier sur 8 octets
|
||
saDC_Nom est une chaîne ANSI
|
||
saDC_DteFic est une chaîne ANSI
|
||
saLibCat est une chaîne ANSI
|
||
saDocGuid est une chaîne ANSI
|
||
tblNotes est un tableau de ST_TABELEM_NOTEDOC
|
||
FIN
|
||
ST_TABELEM_NOTEDOC est une Structure
|
||
nDN_PKID est un entier sur 8 octets
|
||
saDN_Note est une chaîne ANSI
|
||
saDN_Date est une chaîne ANSI
|
||
nDN_Auteur est un entier sur 8 octets <zombie>
|
||
nDN_DOCPKID est un entier sur 8 octets
|
||
saNomAuteur est une chaîne ANSI
|
||
saGUID est une chaîne ANSI
|
||
nIdUsr est un entier sur 8 octets
|
||
FIN
|
||
//Structure lue dans le QRCode d'inscription
|
||
ST_MOB_INSCRIPTION est une Structure
|
||
saSrv est une chaîne ANSI
|
||
saPort est une chaîne ANSI
|
||
saIdCli est une chaîne ANSI
|
||
nIdClb est un entier sur 8 octets
|
||
nIdUsr est un entier sur 8 octets
|
||
saNom est une chaîne ANSI
|
||
saPren est une chaîne ANSI
|
||
FIN
|
||
ST_REQ_LISTE_RDV est une Structure
|
||
nIdCollaborateur est un entier sur 8 octets
|
||
saDateDebut est une chaîne ANSI
|
||
saDateFin est une chaîne ANSI
|
||
saTxt est une chaîne ANSI
|
||
saTOP est une chaîne ANSI
|
||
bSimple est un booléen
|
||
nIdInter est un entier sur 8 octets
|
||
FIN
|
||
ST_REQ_LISTE_TEMPS est une Structure
|
||
nIdCollaborateur est un entier sur 8 octets
|
||
saDateDebut est une chaîne ANSI
|
||
saDateFin est une chaîne ANSI
|
||
12/08/2026 Batik_WS_Com_Mob 232
|
||
|
||
Partie 4 › Collection de procédures › LIB_Structures › Code
|
||
saLstIdInter est une chaîne ANSI
|
||
FIN
|
||
ST_REQ_LISTE_TEMPS_PASSE est une Structure
|
||
nIdCollaborateur est un entier sur 8 octets
|
||
nIdrdv est un entier sur 8 octets
|
||
FIN
|
||
ST_REQ_LISTE_DOC est une Structure
|
||
nIdIntervention est un entier sur 8 octets
|
||
FIN
|
||
//Document
|
||
ST_DOC est une Structure
|
||
saNom est une chaîne ANSI
|
||
saType est une chaîne ANSI
|
||
nInterIDest un entier sur 8 octets
|
||
saNote est une chaîne ANSI
|
||
saDateCreat est une chaîne ANSI
|
||
nIdUser est un entier sur 8 octets
|
||
nDC_PKIDest un entier sur 8 octets
|
||
saDocGUID est une chaîne ANSI
|
||
nStatut est un entier
|
||
FIN
|
||
//Rapport
|
||
STJSONInfoRapportMob est une Structure
|
||
saGuid est une chaîne ANSI
|
||
saDate est une chaîne ANSI
|
||
nIdModele est un entier sur 8 octets
|
||
nIdInter est un entier sur 8 octets
|
||
saNomRapport est une chaîne ANSI
|
||
ListeMob est un tableau de STJSONMembreRubRapport
|
||
FIN
|
||
ST_REQ_LISTE_Chp_Rapport est une Structure
|
||
nIdCollaborateur est un entier sur 8 octets
|
||
nIdInter est un entier sur 8 octets
|
||
nIdModele est un entier sur 8 octets
|
||
FIN
|
||
STJSONMembreRubRapport est une Structure
|
||
nIdRub est un entier sur 8 octets
|
||
Nom est une chaîne
|
||
Rubrique est une chaîne
|
||
Description est une chaîne
|
||
Groupe est une chaîne
|
||
Type est une chaîne
|
||
Ordre est un réel
|
||
// Position dans le document , c'est unique est sert comme identifiant
|
||
MembreMob est une chaîne ANSI
|
||
EnvoiMob est un entier
|
||
BD est un entier
|
||
MembreEmailMob est une chaîne
|
||
TypeMembre est une chaîne
|
||
Utilisee est un booléen
|
||
// pour savoir si la données envoyés par le mobile a été déjà utilisé dans le document, une donné
|
||
peuvent être demande plusieurs fois dans le document (
|
||
img par exemple)
|
||
GroupeApp est une chaîne ANSI
|
||
MasqueSaisie est un booléen
|
||
Modifiable est un booléen
|
||
ListeDonnesMob est une chaîne ANSI
|
||
ListeDonnesBD est une chaîne ANSI
|
||
ListeMembre est un tableau de STJSONListeMembre
|
||
FIN
|
||
12/08/2026 Batik_WS_Com_Mob 233
|
||
|
||
Partie 4 › Collection de procédures › LIB_Structures › Code
|
||
STJSONListeMembre est une Structure
|
||
Nom est une chaîne
|
||
Rubrique est une chaîne
|
||
Membre est une chaîne
|
||
TypeMembre est une chaîne
|
||
LargeurCol est un réel
|
||
MembreMob est une chaîne ANSI
|
||
EnvoiMob est un entier
|
||
BD est un entier
|
||
MembreEmailMob est une chaîne
|
||
GroupeApp est une chaîne ANSI
|
||
InvisibleBO est un entier
|
||
Type est une chaîne
|
||
Ordre est un réel
|
||
// Position dans le document , c'est unique est sert comme identifiant
|
||
Utilisee est un booléen
|
||
// pour savoir si la données envoyés par le mobile a été déjà utilisé dans le document, une donné
|
||
peuvent être demande plusieurs fois dans le document (
|
||
img par exemple)
|
||
FIN
|
||
STJSONRubriqueRapport est une Structure
|
||
NomParamest une chaîne
|
||
ListeTerme est un tableau de STJSONMembreRubRapport
|
||
FIN
|
||
// Modele Mail
|
||
ST_ContactInter est une Structure
|
||
saNom est une chaîne ANSI
|
||
saRole est une chaîne ANSI
|
||
saType est une chaîne ANSI
|
||
saEmail est une chaîne ANSI
|
||
bDemd est un booléen
|
||
FIN
|
||
ST_ModeleMailRub est une Structure
|
||
saType est une chaîne ANSI
|
||
saGUID est une chaîne ANSI
|
||
Listerub est un tableau de STJSONMembreRubRapport
|
||
FIN
|
||
ST_ModeleMailComplet est une Structure
|
||
nIdInter est un entier sur 8 octets
|
||
nIdModele est un entier sur 8 octets
|
||
saType est une chaîne ANSI
|
||
saSujet est une chaîne ANSI
|
||
bufCorpsHTML est un Buffer
|
||
saGUID est une chaîne ANSI
|
||
tbPJ est un tableau de chaînes ANSI
|
||
tbPJID est un tableau de chaînes ANSI
|
||
tbDest est un tableau de chaînes ANSI
|
||
tbDestCC est un tableau de chaînes ANSI
|
||
tbDestCCI est un tableau de chaînes ANSI
|
||
stCompteMail est un STParamEnvoiEmailPerso
|
||
FIN
|
||
STJSONInfoModeleMailMob est une Structure
|
||
saGuid est une chaîne ANSI
|
||
saDate est une chaîne ANSI
|
||
nIdModele est un entier sur 8 octets
|
||
nIdInter est un entier sur 8 octets
|
||
stCompteMail est un STParamEnvoiEmailPerso
|
||
ListeMob est un tableau de STJSONMembreRubRapport
|
||
FIN
|
||
// Email
|
||
STParamEmail est une Structure
|
||
12/08/2026 Batik_WS_Com_Mob 234
|
||
|
||
Partie 4 › Collection de procédures › LIB_Structures › Code
|
||
sCompte est une chaîne
|
||
sEmail est une chaîne
|
||
FIN
|
||
STParamEnvoiEmail est une Structure
|
||
sLogin est une chaîne ANSI
|
||
sMdp est une chaîne ANSI
|
||
sAdresseServeur est une chaîne ANSI
|
||
sPortServeur est une chaîne ANSI
|
||
nCryptage est un entier
|
||
bufSignature est un Buffer
|
||
bEnCopieCachee est un booléen
|
||
sType est une chaîne ANSI
|
||
tabCC_CopieEmail est un tableau de chaînes ANSI
|
||
FIN
|
||
STParamEnvoiEmailPerso est une Structure
|
||
Compte est un STParamEmail
|
||
SMTP est un STParamEnvoiEmail
|
||
FIN
|
||
//Message externe communication avec le service
|
||
ST_MsgExterneMail est une Structure
|
||
nIdInter est un entier sur 8 octets
|
||
saSujet est une chaîne ANSI
|
||
bufCorp est un Buffer
|
||
saGUID est une chaîne ANSI
|
||
saAdrExp est une chaîne ANSI
|
||
saPJ est une chaîne ANSI
|
||
saDest est une chaîne ANSI
|
||
saDestCC est une chaîne ANSI
|
||
saDestCCI est une chaîne ANSI
|
||
bEnvoye est un booléen
|
||
nIdUser est un entier sur 8 octets
|
||
FIN
|
||
//STructure utilisée pour interroger le serveur de Licences
|
||
ST_WS_VERIF_LM est une Structure
|
||
saCodeClient est une chaîne ANSI
|
||
saLicence est une chaîne ANSI
|
||
saIdMobile est une chaîne ANSI
|
||
FIN
|
||
STParametreCategDoc est une Structure
|
||
sCodeDroit est une chaîne
|
||
sNomRepertoire est une chaîne
|
||
FIN
|
||
STDefDroitAcces est une Structure
|
||
bufCle est un Buffer
|
||
sBureau est une chaîne
|
||
sMobile est une chaîne
|
||
FIN
|
||
STElementDroitAcces est une Structure
|
||
sFichier est une chaîne
|
||
sRubrique est une chaîne
|
||
tabDefDroitAcces est un tableau de STDefDroitAcces
|
||
FIN
|
||
STListeDroit est une Structure
|
||
tabElementDroitAcces est un STElementDroitAcces
|
||
FIN
|
||
ST_IdRDVClbDroitC est une Structure
|
||
nIdClb est un entier sur 8 octets
|
||
12/08/2026 Batik_WS_Com_Mob 235
|
||
|
||
Partie 4 › Collection de procédures › LIB_Structures › Code
|
||
sNomPrenom est une chaîne ANSI
|
||
FIN
|
||
//Rapport Mob
|
||
ST_RDV_Rp est une Structure
|
||
saGuid est une chaîne ANSI
|
||
nIDGroupe est un entier sur 8 octets
|
||
saDateDebut est une chaîne ANSI
|
||
saDateFin est une chaîne ANSI
|
||
saObjet est une chaîne ANSI
|
||
saNote est une chaîne ANSI
|
||
saCollaborateurs est une chaîne ANSI
|
||
saExtra est une chaîne ANSI
|
||
bSelection est un booléen
|
||
FIN
|
||
ST_CONTACT_Rp est une Structure
|
||
nID est un entier sur 8 octets
|
||
saNom est une chaîne ANSI
|
||
saPren est une chaîne ANSI
|
||
saRole est une chaîne ANSI
|
||
saTFix est une chaîne ANSI
|
||
saTMob est une chaîne ANSI
|
||
saEtage est une chaîne ANSI
|
||
saExtra est une chaîne ANSI
|
||
bSelection est un booléen
|
||
FIN
|
||
ST_ClientAd est une Structure
|
||
sAAdresse est une chaîne ANSI
|
||
sAExtra est une chaîne ANSI
|
||
bSelection est un booléen
|
||
FIN
|
||
ST_CR_Rp est une Structure
|
||
saGuidCR est une chaîne ANSI
|
||
saDebut est une chaîne ANSI
|
||
saFin est une chaîne ANSI
|
||
saSignataire est une chaîne ANSI
|
||
saNomCollaborateur est une chaîne ANSI
|
||
saExtra est une chaîne ANSI
|
||
bSelection est un booléen
|
||
FIN
|
||
ST_Img_Rp est une Structure
|
||
nDC_PKID est un entier sur 8 octets
|
||
saNom est une chaîne ANSI
|
||
saExtra est une chaîne ANSI
|
||
saNotes est une chaîne ANSI
|
||
saDate est une chaîne ANSI
|
||
bSelection est un booléen
|
||
nPosTable est un entier
|
||
FIN
|
||
12/08/2026 Batik_WS_Com_Mob 236
|
||
|
||
Partie 4 › Collection de procédures › LIB_EXE › Code
|
||
LIB_EXE
|
||
Code
|
||
Déclaration de LIB_EXE
|
||
gcnxE_ServeurLicence est une Connexion
|
||
gcnxE_ServeurWSCom est une Connexion
|
||
Procédure globale EXE_OuvreConnexionHFSQL
|
||
PROCÉDURE EXE_OuvreConnexionHFSQL()
|
||
QUAND EXCEPTION DANS
|
||
<COMPILE SI Configuration="WS_COM_MOBILE">
|
||
LIB_EXE.gcnxe_ServeurLicence..Provider = hAccèsHFClientServeur
|
||
LIB_EXE.gcnxe_ServeurLicence..BaseDeDonnées= "BASE_LICENCES"
|
||
LIB_EXE.gcnxe_ServeurLicence..MotDePasse = "ea0c6460faac5d87db47b4ca0147a34a"
|
||
LIB_EXE.gcnxe_ServeurLicence..Serveur = "127.0.0.1:4900"
|
||
LIB_EXE.gcnxe_ServeurLicence..Utilisateur = "Admin"
|
||
// LIB_EXE.gsaPortWSCOM = "4902"
|
||
// LIB_EXE.gsaServeurWSCOM = "51.68.44.182"
|
||
LIB_EXE.gcnxe_ServeurWSCom..Provider = hAccèsHFClientServeur
|
||
LIB_EXE.gcnxe_ServeurWSCom..BaseDeDonnées = "BATIK.01_BLD"
|
||
LIB_EXE.gcnxe_ServeurWSCom..MotDePasse = "F911-Q927-K880-N196"
|
||
LIB_EXE.gcnxe_ServeurWSCom..Serveur = "127.0.0.1:4900"
|
||
LIB_EXE.gcnxe_ServeurWSCom..Utilisateur = "superuser"
|
||
<FIN>
|
||
gcnxReplica = LIB_EXE.gcnxe_ServeurWSCom
|
||
sPassSysteme est une chaîne ANSI= BufferVersHexa(HashChaîne(HA_MD5_128,Mdp3 + gcnxReplica..
|
||
BaseDeDonnées),SansRegroupement)
|
||
gsaPass = BufferVersHexa(HashChaîne(HA_MD5_128,gcnxReplica..BaseDeDonnées),SansRegroupement)
|
||
SI PAS HOuvreConnexion(gcnxReplica) ALORS
|
||
TraceERREUR("ERREUR OuvreConnexionsHF " + gcnxReplica..BaseDeDonnées + RC + gcnxReplica..
|
||
Serveur +RC+ HErreurInfo(hErrComplet) )
|
||
RENVOYER Faux
|
||
FIN
|
||
// //Vérification ultime de la présence de la base de données du client sur le serveur
|
||
// saLst est une chaîne ANSI = HListeBaseDeDonnées(gcnxReplica,hLstNormal)
|
||
// SI ChaîneOccurrence(saLst, gstContexte.saBaseData ,SansCasse) =0 ALORS
|
||
//
|
||
TraceERREUR("ERREUR OuvreConnexionsHF : La base client n'existe pas sur ce serveur HF " + saLst )
|
||
// RENVOYER Faux
|
||
// FIN
|
||
//Déclaration Externe de tous les fichiers du répliqua
|
||
saLst est une chaîne ANSI = HListeFichier(gcnxReplica)
|
||
POUR TOUTE CHAÎNE saFic DE saLst SÉPARÉE PAR RC
|
||
SI ChaîneOccurrence(saFic,"\")=0 ALORS
|
||
SI saFic="ParametreSysteme.fic" _OU_ saFic="ParametreMetierEntete.fic" _OU_ saFic="
|
||
Etats.fic" ALORS
|
||
SI PAS HPasse(ExtraitChaîne(saFic,1,"."),sPassSysteme) ALORS
|
||
TraceERREUR(HErreurInfo(hErrComplet))
|
||
FIN
|
||
SINON
|
||
SI PAS HPasse(ExtraitChaîne(saFic,1,"."),gsaPass) ALORS
|
||
12/08/2026 Batik_WS_Com_Mob 237
|
||
|
||
Partie 4 › Collection de procédures › LIB_EXE › Code
|
||
TraceERREUR(HErreurInfo(hErrComplet))
|
||
FIN
|
||
FIN
|
||
SI PAS HDéclareExterne(saFic,ExtraitChaîne(saFic,1,"."),gcnxReplica) ALORS
|
||
TraceERREUR(HErreurInfo(hErrComplet))
|
||
FIN
|
||
FIN
|
||
FIN
|
||
//Déclaration Externe de la table paramètres pour pouvoir la manipuler avec des fonction Hxxx
|
||
HPasse(gsdParamApplication,gsaPass)
|
||
HDéclareExterne("ParametreApplication.fic",gsdParamApplication,gcnxReplica)
|
||
TraceINFO("Connexions OK")
|
||
RENVOYER Vrai
|
||
FAIRE
|
||
TraceERREUR("ERREUR OuvreConnexionsHF " + ExceptionInfo(errComplet) )
|
||
RENVOYER Faux
|
||
FIN
|
||
Procédure globale LanceWebService
|
||
PROCÉDURE LanceWebService()
|
||
sInFile est une chaîne = LigneCommande(1)
|
||
sOutFileest une chaîne = LigneCommande(2)
|
||
SI sInFile = "" OU sOutFile = "" ALORS
|
||
// Pas d'arguments : on ne peut pas travailler
|
||
RENVOYER ""
|
||
FIN
|
||
// Lire le JSON d’entrée
|
||
sInJSON est une chaîne = fChargeTexte(sInFile)
|
||
SI sInJSON = "" ALORS
|
||
fSauveTexte(sOutFile, "Entrée JSON vide ou fichier introuvable")
|
||
RENVOYER ""
|
||
FIN
|
||
// Parser JSON
|
||
vIn est un Variant
|
||
vIn = JSONVersVariant(sInJSON)
|
||
SI ErreurDétectée ALORS
|
||
fSauveTexte(sOutFile, "JSON invalide : " + ErreurInfo(errComplet))
|
||
RENVOYER ""
|
||
FIN
|
||
// Identifier le nom de l’opération
|
||
sOp est une chaîne = ""
|
||
SI vIn.procedure <> "" ALORS
|
||
sOp = vIn.procedure
|
||
SINON
|
||
fSauveTexte(sOutFile, "Champ 'procedure' manquant")
|
||
RENVOYER ""
|
||
FIN
|
||
saReponse est une chaîne ANSI
|
||
// Dispatcher
|
||
SELON sOp
|
||
CAS "MOB_CMD":
|
||
saReponse = MOB_CMD(vIn.stID, vIn.stData, vIn.bufDocument)
|
||
CAS "MOB_EnvoieDoc":
|
||
saReponse = MOB_EnvoieDoc(vIn.stID, vIn.saJSON, vIn.bufDocument)
|
||
12/08/2026 Batik_WS_Com_Mob 238
|
||
|
||
Partie 4 › Collection de procédures › LIB_EXE › Code
|
||
CAS "MOB_RecupDoc":
|
||
saReponse = MOB_RecupDoc(vIn.stID, vIn.nID_TOMOB)
|
||
CAS "MOB_RecupDocID":
|
||
saReponse = MOB_RecupDocID(vIn.stID)
|
||
CAS "MOB_RecupValide":
|
||
saReponse = MOB_RecupValide(vIn.stID,vIn.nIdToMob)
|
||
CAS "Tesla":
|
||
saReponse = "OUI"
|
||
AUTRE CAS:
|
||
saReponse = "Opération inconnue : " + sOp
|
||
FIN
|
||
fSauveTexte(sOutFile, saReponse)
|
||
RENVOYER ""
|
||
12/08/2026 Batik_WS_Com_Mob 239
|
||
|
||
Partie 4 › Collection de procédures › LIB_DEBUG › Code
|
||
LIB_DEBUG
|
||
Code
|
||
Déclaration de LIB_DEBUG
|
||
gcnxD_ServeurLicence est une Connexion
|
||
gcnxD_ServeurWSCom est une Connexion
|
||
gtbaListeUsers est un tableau associatif de ST_MOB_IDENTITE
|
||
gsaPortWSCOM est une chaîne ANSI
|
||
gsaServeurWSCOM est une chaîne ANSI
|
||
gID est un WS_COM_MOBILE.ST_MOB_IDENTITE
|
||
gdDateDeb est une Date
|
||
gdDateFin est une Date
|
||
gnIdCollabChoisi est un entier sur 8 octets
|
||
gnIdInterChoisi est un entier sur 8 octets
|
||
gnIdRapportChoisi est un entier sur 8 octets
|
||
gnIdEmailChoisi est un entier sur 8 octets
|
||
gbEnvoiWebService est un booléen = Vrai
|
||
gnIdCollabSID est un entier sur 8 octets
|
||
Procédure globale D_LanceProcedure
|
||
PROCÉDURE D_LanceProcedure(saType est une chaîne ANSI)
|
||
saRep est une chaîne ANSI
|
||
saBuf est une chaîne ANSI
|
||
REQ est un WS_COM_MOBILE.ST_MOB_DATA
|
||
REQ.saCMD=saType
|
||
SELON saType
|
||
CAS cCMD_NoteEcrit,cCMD_DocNoteEcrit,cCMD_TempsEcrit,cCMD_TempsSupprime,cCMD_CREcrit,
|
||
cCMD_CREcrit_V2,cCMD_ListeDocDmd,cCMD_RdvEcrit,cCMD_TempsEcrit_V2,cCMD_RDVValidation,
|
||
cCMD_RDVAnnulation,cCMD_DocRpRecup
|
||
CAS cCMD_RdvAPlanifierEcrit
|
||
CAS cCMD_ListeDOC
|
||
CAS cCMD_ListeRDV_V2, cCMD_IdClbRdvDroitC,cCMD_ListeRDV_Clb
|
||
stParam est un ST_REQ_LISTE_RDV
|
||
stParam.nIdCollaborateur = LIB_DEBUG.gnIdCollabChoisi
|
||
SI saType = cCMD_ListeRDV_V2 ALORS
|
||
stParam.nIdCollaborateur= LIB_DEBUG.gnIdCollabSID
|
||
FIN
|
||
stParam.saDateDebut = LIB_DEBUG.gdDateDeb
|
||
stParam.saDateFin = LIB_DEBUG.gdDateFin
|
||
Sérialise(stParam,saBuf,psdJSON)
|
||
REQ.saJSON=saBuf
|
||
saTest est une chaîne ANSI
|
||
SI gbEnvoiWebService ALORS
|
||
saRep = WS_COM_MOBILE.MOB_CMD(LIB_DEBUG.gID,REQ,saTest)
|
||
SINON
|
||
saRep = MOB_CMD(LIB_DEBUG.gID,REQ,saTest)
|
||
12/08/2026 Batik_WS_Com_Mob 240
|
||
|
||
Partie 4 › Collection de procédures › LIB_DEBUG › Code
|
||
FIN
|
||
saBuf=saRep[2 À]
|
||
CAS cCMD_LitINTER_V2
|
||
stParam est un ST_REQ_LISTE_RDV
|
||
stParam.nIdInter = LIB_DEBUG.gnIdInterChoisi
|
||
stParam.bSimple = Vrai
|
||
stParam.saDateDebut = LIB_DEBUG.gdDateDeb
|
||
stParam.saDateFin = LIB_DEBUG.gdDateFin
|
||
saBufJson est une chaîne ANSI
|
||
Sérialise(stParam,saBufJson,psdJSON)
|
||
REQ.saJSON=saBufJson
|
||
SI gbEnvoiWebService ALORS
|
||
saRep = WS_COM_MOBILE.MOB_CMD(LIB_DEBUG.gID,REQ,"")
|
||
SINON
|
||
saRep = MOB_CMD(LIB_DEBUG.gID,REQ,"")
|
||
FIN
|
||
saBuf=saRep[2 À]
|
||
CAS cCMD_RechercheRDV
|
||
stParam est un ST_REQ_LISTE_RDV
|
||
stParam.saTxt = FEN_Principal.SAI_Recherche
|
||
stParam.saTOP = "50"
|
||
saBufJson est une chaîne ANSI
|
||
Sérialise(stParam,saBufJson,psdJSON)
|
||
REQ.saJSON=saBufJson
|
||
SI gbEnvoiWebService ALORS
|
||
saRep = WS_COM_MOBILE.MOB_CMD(LIB_DEBUG.gID,REQ,"")
|
||
SINON
|
||
saRep = MOB_CMD(LIB_DEBUG.gID,REQ,"")
|
||
FIN
|
||
saBuf=saRep[2 À]
|
||
CAS cCMD_ListeTEMPS
|
||
stParam est un ST_REQ_LISTE_TEMPS
|
||
stParam.nIdCollaborateur=LIB_DEBUG.gnIdCollabChoisi
|
||
dh est une DateHeure = DateHeureSys()
|
||
stParam.saDateFin = dh
|
||
dh..Mois--
|
||
dh..Jour = 1
|
||
dh..Heure = 0
|
||
dh..Minute = 0
|
||
dh..Seconde = 0
|
||
dh..Milliseconde = 0
|
||
stParam.saDateDebut = dh
|
||
saBufJson est une chaîne ANSI
|
||
Sérialise(stParam,saBufJson,psdJSON)
|
||
REQ.saJSON=saBufJson
|
||
SI gbEnvoiWebService ALORS
|
||
saRep = WS_COM_MOBILE.MOB_CMD(LIB_DEBUG.gID,REQ,"")
|
||
SINON
|
||
saRep = MOB_CMD(LIB_DEBUG.gID,REQ,"")
|
||
FIN
|
||
saBuf=saRep[2 À]
|
||
CAS cCMD_LitParam_V2 //Appelé par la fonction RécupContexte du mobile
|
||
SI gbEnvoiWebService ALORS
|
||
saRep = WS_COM_MOBILE.MOB_CMD(LIB_DEBUG.gID,REQ,"")
|
||
SINON
|
||
saRep = MOB_CMD(LIB_DEBUG.gID,REQ,"")
|
||
FIN
|
||
saBuf=saRep[2 À]
|
||
CAS cCMD_LitContexte
|
||
12/08/2026 Batik_WS_Com_Mob 241
|
||
|
||
Partie 4 › Collection de procédures › LIB_DEBUG › Code
|
||
REQ.saJSON = NumériqueVersChaîne(LIB_DEBUG.gID.nIdUser)
|
||
SI gbEnvoiWebService ALORS
|
||
saRep = WS_COM_MOBILE.MOB_CMD(LIB_DEBUG.gID,REQ,"")
|
||
SINON
|
||
saRep = MOB_CMD(LIB_DEBUG.gID,REQ,"")
|
||
FIN
|
||
saBuf=saRep[2 À]
|
||
CAS cCMD_ListeCh_Rapport
|
||
stParam est un ST_REQ_LISTE_Chp_Rapport
|
||
stParam.nIdCollaborateur = LIB_DEBUG.gnIdCollabSID
|
||
stParam.nIdInter = LIB_DEBUG.gnIdInterChoisi
|
||
stParam.nIdModele = LIB_DEBUG.gnIdRapportChoisi
|
||
saBufJson est une chaîne ANSI
|
||
Sérialise(stParam,saBufJson,psdJSON)
|
||
REQ.saJSON=saBufJson
|
||
SI gbEnvoiWebService ALORS
|
||
saRep = WS_COM_MOBILE.MOB_CMD(LIB_DEBUG.gID,REQ,"")
|
||
SINON
|
||
saRep = MOB_CMD(LIB_DEBUG.gID,REQ,"")
|
||
FIN
|
||
saBuf=saRep[2 À]
|
||
CAS cCMD_RecupImgRapport
|
||
CAS cCMD_ListeCh_Mail
|
||
stParam est un STJSONInfoModeleMailMob
|
||
stParam.nIdInter = LIB_DEBUG.gnIdInterChoisi
|
||
stParam.nIdModele = LIB_DEBUG.gnIdEmailChoisi
|
||
saBufJson est une chaîne ANSI
|
||
Sérialise(stParam,saBufJson,psdJSON)
|
||
REQ.saJSON=saBufJson
|
||
SI gbEnvoiWebService ALORS
|
||
saRep = WS_COM_MOBILE.MOB_CMD(LIB_DEBUG.gID,REQ,"")
|
||
SINON
|
||
saRep = MOB_CMD(LIB_DEBUG.gID,REQ,"")
|
||
FIN
|
||
saBuf=saRep[2 À]
|
||
CAS cCMD_Cr_Structure_Mail
|
||
AUTRE CAS
|
||
FIN
|
||
FEN_Log.SAI_Log = saRep
|
||
RENVOYER saBuf
|
||
Procédure globale D_OuvreConnexionHFSQL
|
||
PROCÉDURE D_OuvreConnexionHFSQL()
|
||
QUAND EXCEPTION DANS
|
||
<COMPILE SI Configuration="WS_COM_MOBILE">
|
||
LIB_DEBUG.gcnxD_ServeurLicence..Provider = hAccèsHFClientServeur
|
||
LIB_DEBUG.gcnxD_ServeurLicence..BaseDeDonnées = "BASE_LICENCES"
|
||
LIB_DEBUG.gcnxD_ServeurLicence..MotDePasse = "ea0c6460faac5d87db47b4ca0147a34a"
|
||
LIB_DEBUG.gcnxD_ServeurLicence..Serveur = "51.68.44.182:4943"
|
||
LIB_DEBUG.gcnxD_ServeurLicence..Utilisateur = "Admin"
|
||
LIB_DEBUG.gsaPortWSCOM = "4902"
|
||
LIB_DEBUG.gsaServeurWSCOM = "51.68.44.182"
|
||
12/08/2026 Batik_WS_Com_Mob 242
|
||
|
||
Partie 4 › Collection de procédures › LIB_DEBUG › Code
|
||
LIB_DEBUG.gcnxD_ServeurWSCom..Provider = hAccèsHFClientServeur
|
||
LIB_DEBUG.gcnxD_ServeurWSCom..BaseDeDonnées = "BATIK.01_BLD"
|
||
LIB_DEBUG.gcnxD_ServeurWSCom..MotDePasse = "F911-Q927-K880-N196"
|
||
LIB_DEBUG.gcnxD_ServeurWSCom..Serveur = "51.68.44.182:4902"
|
||
LIB_DEBUG.gcnxD_ServeurWSCom..Utilisateur = "superuser"
|
||
<FIN>
|
||
gcnxReplica = LIB_DEBUG.gcnxD_ServeurWSCom
|
||
uneConexxion est une Connexion
|
||
uneConexxion..Provider = hAccèsHFClientServeur
|
||
uneConexxion..BaseDeDonnées = "BATIK.01_BLD"
|
||
uneConexxion..MotDePasse = "F911-Q927-K880-N196"
|
||
uneConexxion..Serveur = "51.68.44.182:4902"
|
||
uneConexxion..Utilisateur = "superuser"
|
||
gcnxReplica = uneConexxion
|
||
sPassSysteme est une chaîne ANSI= BufferVersHexa(HashChaîne(HA_MD5_128,Mdp3 + gcnxReplica..
|
||
BaseDeDonnées),SansRegroupement)
|
||
gsaPass = BufferVersHexa(HashChaîne(HA_MD5_128,gcnxReplica..BaseDeDonnées),SansRegroupement)
|
||
SI PAS HOuvreConnexion(gcnxReplica) ALORS
|
||
TraceERREUR("ERREUR OuvreConnexionsHF " + gcnxReplica..BaseDeDonnées + RC + gcnxReplica..
|
||
Serveur +RC+ HErreurInfo(hErrComplet) )
|
||
RENVOYER Faux
|
||
FIN
|
||
// //Vérification ultime de la présence de la base de données du client sur le serveur
|
||
// saLst est une chaîne ANSI = HListeBaseDeDonnées(gcnxReplica,hLstNormal)
|
||
// SI ChaîneOccurrence(saLst, gstContexte.saBaseData ,SansCasse) =0 ALORS
|
||
//
|
||
TraceERREUR("ERREUR OuvreConnexionsHF : La base client n'existe pas sur ce serveur HF " + saLst )
|
||
// RENVOYER Faux
|
||
// FIN
|
||
//Déclaration Externe de tous les fichiers du répliqua
|
||
saLst est une chaîne ANSI = HListeFichier(gcnxReplica)
|
||
POUR TOUTE CHAÎNE saFic DE saLst SÉPARÉE PAR RC
|
||
SI ChaîneOccurrence(saFic,"\")=0 ALORS
|
||
SI saFic="ParametreSysteme.fic" _OU_ saFic="ParametreMetierEntete.fic" _OU_ saFic="
|
||
Etats.fic" ALORS
|
||
SI PAS HPasse(ExtraitChaîne(saFic,1,"."),sPassSysteme) ALORS
|
||
TraceERREUR(HErreurInfo(hErrComplet))
|
||
FIN
|
||
SINON
|
||
SI PAS HPasse(ExtraitChaîne(saFic,1,"."),gsaPass) ALORS
|
||
TraceERREUR(HErreurInfo(hErrComplet))
|
||
FIN
|
||
FIN
|
||
SI PAS HDéclareExterne(saFic,ExtraitChaîne(saFic,1,"."),gcnxReplica) ALORS
|
||
TraceERREUR(HErreurInfo(hErrComplet))
|
||
FIN
|
||
FIN
|
||
FIN
|
||
//Déclaration Externe de la table paramètres pour pouvoir la manipuler avec des fonction Hxxx
|
||
HPasse(gsdParamApplication,gsaPass)
|
||
HPasse(gsdParamApplication,sPassSysteme)
|
||
HDéclareExterne("ParametreApplication.fic",gsdParamApplication,uneConexxion)
|
||
TraceINFO("Connexions OK")
|
||
RENVOYER Vrai
|
||
FAIRE
|
||
TraceERREUR("ERREUR OuvreConnexionsHF " + ExceptionInfo(errComplet) )
|
||
RENVOYER Faux
|
||
FIN
|
||
Procédure globale D_OuvreConnexionHFSQLLicence
|
||
12/08/2026 Batik_WS_Com_Mob 243
|
||
|
||
Partie 4 › Collection de procédures › LIB_DEBUG › Code
|
||
PROCÉDURE D_OuvreConnexionHFSQLLicence(saMP est une chaîne ANSI)
|
||
HChangeConnexion("*",LIB_DEBUG.gcnxD_ServeurLicence)
|
||
HOuvreConnexion(LIB_DEBUG.gcnxD_ServeurLicence)
|
||
//Déclaration Externe de tous les fichiers du répliqua
|
||
saLst est une chaîne ANSI = HListeFichier(LIB_DEBUG.gcnxD_ServeurLicence)
|
||
POUR TOUTE CHAÎNE saFic DE saLst SÉPARÉE PAR RC
|
||
SI ChaîneOccurrence(saFic,"\")=0 ALORS
|
||
SI PAS HPasse(ExtraitChaîne(saFic,1,"."),saMP) ALORS
|
||
TraceERREUR(HErreurInfo(hErrComplet))
|
||
FIN
|
||
SI PAS HDéclareExterne(saFic,ExtraitChaîne(saFic,1,"."),LIB_DEBUG.gcnxD_ServeurLicence) ALORS
|
||
TraceERREUR(HErreurInfo(hErrComplet))
|
||
FIN
|
||
FIN
|
||
FIN
|
||
Procédure globale D_RecupIdentiteLicence
|
||
PROCÉDURE D_RecupIdentiteLicence()
|
||
TableauSupprimeTout(LIB_DEBUG.gtbaListeUsers)
|
||
pstUnId est un ST_MOB_IDENTITE dynamique
|
||
saReqLicences est une chaîne ANSI = [
|
||
SELECT * FROM Licence
|
||
INNER JOIN ClientBase ON ClientBase.CL_PKID = Licence.LI_IDClient
|
||
WHERE LI_Active = 1 AND LI_IDCollaborateur > 0 AND LI_IDUser > 0
|
||
]
|
||
sdLicences est une Source de Données
|
||
saCle est une chaîne ANSI
|
||
SI PAS HExécuteRequêteSQL(sdLicences,LIB_DEBUG.gcnxD_ServeurLicence,hRequêteDéfaut,saReqLicences)
|
||
ALORS
|
||
TraceDEBUG("Erreur D_RecupIdentiteLicence " + HErreurInfo(hErrComplet))
|
||
SINON
|
||
POUR TOUT sdLicences
|
||
pstUnId = allouer un ST_MOB_IDENTITE
|
||
pstUnId.saLicence = sdLicences.LI_Numero
|
||
pstUnId.saIdMob = sdLicences.LI_IDMobile
|
||
pstUnId.nIdColb = sdLicences.LI_IDCollaborateur
|
||
pstUnId.nIdUser = sdLicences.LI_IDUser
|
||
pstUnId.saNumPort = LIB_DEBUG.gsaPortWSCOM
|
||
pstUnId.saBaseData = LIB_DEBUG.gsaServeurWSCOM
|
||
pstUnId.saBaseSync = LIB_DEBUG.gsaServeurWSCOM
|
||
pstUnId.saIdClient = sdLicences.LI_IDClient
|
||
saCle = SansEspace(sdLicences.LI_UserNom,sscExtérieur)+" "+SansEspace(sdLicences.LI_UserPrenom,
|
||
sscExtérieur)+" "+sdLicences.CL_Nom
|
||
LIB_DEBUG.gtbaListeUsers[saCle] = pstUnId
|
||
FIN
|
||
FIN
|
||
RENVOYER Vrai
|
||
12/08/2026 Batik_WS_Com_Mob 244
|
||
|
||
Partie 5 › Table des matières
|
||
Partie 5
|
||
Table des matières
|
||
| 12/08/2026 | Batik_WS_Com_Mob | 245 |
|
||
| ---------- | ---------------- | --- |
|
||
|
||
Partie 5 › Table des matières
|
||
Projet Batik_WS_Com_Mob
|
||
Partie 1 Projet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
|
||
Informations générales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
|
||
Liste des éléments du projet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
|
||
Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
|
||
Erreurs, warnings et informations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
|
||
Statistiques sur le code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
|
||
Partie 2 Analyse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
|
||
Graphe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
|
||
Informations générales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
|
||
Dictionnaire des rubriques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
|
||
Connexions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
|
||
Fichiers et rubriques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
|
||
MOBILES 16
|
||
PARAMETRES 17
|
||
TOMOB 18
|
||
TOSRV 19
|
||
Partie 3 Fenêtre WINDEV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
|
||
FEN_Principal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
|
||
Image 21
|
||
Informations générales 21
|
||
Informations sur les champs 23
|
||
Code 61
|
||
Code des champs 62
|
||
Procédures 76
|
||
FEN_Connexion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
|
||
Image 80
|
||
Informations générales 80
|
||
Informations sur les champs 82
|
||
Code 105
|
||
Code des champs 105
|
||
Procédures 107
|
||
FEN_Log . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
|
||
Image 108
|
||
Informations générales 108
|
||
Informations sur les champs 110
|
||
12/08/2026 Batik_WS_Com_Mob 246
|
||
|
||
Partie 5 › Table des matières
|
||
Code 112
|
||
Code des champs 112
|
||
Partie 4 Collection de procédures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
|
||
LIB_GestionTableParamètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
|
||
Code 114
|
||
LIB_WS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
|
||
Code 116
|
||
LIB_GENERALE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
|
||
Code 117
|
||
LIB_COMMUNE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
|
||
Code 119
|
||
LIB_ProcéduresGlobales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
|
||
Code 122
|
||
LIB_WS_MOB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
|
||
Code 129
|
||
LIB_Traitements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
|
||
Code 135
|
||
LIB_ProcéduresGlobales2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
|
||
Code 224
|
||
LIB_Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
|
||
Code 225
|
||
LIB_EXE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
|
||
Code 237
|
||
LIB_DEBUG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240
|
||
Code 240
|
||
12/08/2026 Batik_WS_Com_Mob 247 |