Files
Omika/docs/Documentation_Service.md
T
2026-10-23 18:46:50 +02:00

11286 lines
379 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
DOCUMENTATION
TECHNIQUE
DU PROJET
Omika_S_Comm_DEV
12/08/2026
Partie 1 › Projet
Partie 1
Projet
| 12/08/2026 | Omika_S_Comm_DEV | 2 |
| ---------- | ---------------- | --- |
Partie 1 › Projet
Projet
Informations générales
Omika_S_Comm_DEV
Répertoire D:\Projets Windev\Batik\Nouvelle Version\Service\Batik_S_Comm_DEV
Thème 190 Gensteel
Projet
Liste des éléments du projet
Nom Libellé
FEN_Connexion
FEN_Menu
COL_GestionDuLog
LIB_DEBUG
LIB_Globales
LIB_InterfaceComposant
LIB_ParametrageMobiles
LIB_Service
WS_COM_MOBILE
Statistiques
Nombre de fenêtres : 2
Nombre de collections de procédures : 6
Projet
Code
Initialisation de Omika_S_Comm_DEV
12/08/2026 Omika_S_Comm_DEV 3
Partie 1 › Projet › Code
constant
cNomService ="Omika_Comm"
cNomComposant ="COM_Omika_Comm"
cNomRepData ="Omika\"
cNomFicIni ="Omika.ini"
cSocSLAMM ="SLAMM"
12/08/2026 Omika_S_Comm_DEV 4
Exécution du service de Omika_S_Comm_DEV (appelé en boucle)
<compile si Configuration="Service Avec Composant">
BoucleService()
<fin>
ServiceTemporise(10s)
Fermeture de Omika_S_Comm_DEV
//ExécuteTraitement("FermetureDuService",trtProcédure)
Arrêt du service de Omika_S_Comm_DEV
//ExécuteTraitement("ArretDuService",trtProcédure)
Projet
Erreurs, warnings et informations
Détail de l'erreur Localisation engiL
ennoloC
La variable locale 'saRep' n'est pas utilisée. LIB_Service.TH_TraiteDocRecu
7 2
Procédure locale
Partie 1 › Projet › Statistiques sur le code
Projet
Statistiques sur le code
¹ .tiart/.giL
¹ .mmoc %
¹ sengiL
| COL_GestionDuLog | | 87 0 | 12 |
| ---------------------- | --- | ------- | --- |
| LIB_DEBUG | | 66 8 | 16 |
| LIB_Globales | | 48 0 | 48 |
| LIB_InterfaceComposant | | 2 0 | 2 |
| LIB_ParametrageMobiles | | 12 8 | 12 |
| LIB_Service | | 3159 17 | 45 |
| FEN_Connexion | | 65 0 | 21 |
| FEN_Menu | | 571 8 | 13 |
| Omika_S_Comm_DEV | | 180 9 | 45 |
| | | 4076 15 | 30 |
¹ Lignes : Nombre total de lignes de code. % comm. : Pourcentage de commentaires dans le code.
Lig./trait. : Nombre de lignes de code par traitement.
Projet
Composants créés depuis le projet
COM_Batik_Comm
elbisiV
Nom Libellé
Omika_S_Comm_DEV
WS_COM_MOBILE
COL_GestionDuLog
LIB_Globales
LIB_InterfaceComposant
LIB_ParametrageMobiles
LIB_Service
| 12/08/2026 | Omika_S_Comm_DEV | | 7 |
| ---------- | ---------------- | --- | --- |
Partie 1 › Projet › Composants inclus dans le projet
Projet
Composants inclus dans le projet
COM_Batik_Comm
D:\Projets Windev\Batik\Nouvelle
COM_Batik_Comm
Version\Service\Batik_S_Comm_DEV\COM_Omika_Comm.wdi
Emplacement d'origine D:\Projets Windev\Batik\Nouvelle
Propriétaire Applilogik
Version 1.00Eo
Copyright Applilogik 2022
Les entrées/sorties du composant :
Liste des procédures
Le composant Service Comm propose les collections de procédures suivantes :
Collection de procédures 'LIB_InterfaceComposant'
BoucleService Fonction appelée à chaque boucle du service
1 - Collections de procédures accessibles
1.1 - Collection de procédures 'LIB_InterfaceComposant'
1.1.1 - Procédure 'BoucleService'
Résumé : <indiquez ici ce que fait la procédure>
Syntaxe :
BoucleService ()
Paramètres :
Aucun
Valeur de retour :
Aucune
Exemple :
Indiquez ici un exemple d'utilisation.
1 - Collections de procédures navigateur accessibles
<Pas de procédure navigateur disponible dans ce composant>
2 - Classes accessibles
<Pas de classe disponible dans ce composant>
3 - Pages accessibles
<Pas de page disponible dans ce composant>
12/08/2026 Omika_S_Comm_DEV 8
Partie 1 › Projet › Composants inclus dans le projet
3 - Fenêtres accessibles
<Pas de fenêtre disponible dans ce composant>
4 - Etats accessibles
<Pas d'état disponible dans ce composant>
5 - Manipulation des éléments accessibles
Pour manipuler un élément du composant (fenêtre, etc.) par programmation, il suffit de manipuler l'élément comme s'il
s'agissait d'un élément créé dans le projet :
- pour appeler une procédure : utilisez la syntaxe habituelle :
ProcédureDuComposant(Param1,Param2)
- pour utiliser une classe : déclarer une variable du type de la classe :
MaVariable est un objet ClasseDuComposant
La variable s'utilise par la suite comme une variable objet normale.
- pour ouvrir une fenêtre : utilisez par exemple la fonction Ouvre en passant si nécessaire les paramètres attendus par
cette fenêtre.
Ouvre(FenêtreDuComposant [, Param1, Param2])
- pour imprimer un état : utilisez la fonction iImprimeEtat en passant si nécessaire les paramètres attendus par cet état.
iImprimeEtat(EtatComposant [, Param1, Param2])
Nom
LIB_InterfaceComposant
12/08/2026 Omika_S_Comm_DEV 9
Partie 2 › Fenêtre WINDEV
Partie 2
Fenêtre WINDEV
| 12/08/2026 | Omika_S_Comm_DEV | 10 |
| ---------- | ---------------- | --- |
Partie 2 › Fenêtre WINDEV
FEN_Connexion
Image
FEN_Connexion
Informations générales
FEN_Connexion
Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Service\Batik_S_Comm_DEV\FEN_Connexion.wdw
Créé par susana@applilogik.fr
Date de création 21/01/2026 08:39:47
Dernière modification par susana@applilogik.fr
Date dernière modification 20/02/2026 09:38:38
Titre FR: Connexion
Type fenêtre Fenêtre libre
Mode ouverture (Desktop) Centrée par rapport à la mère
12/08/2026 Omika_S_Comm_DEV 11
Partie 2 › Fenêtre WINDEV › FEN_Connexion › Informations générales
| Position X | 0 Position Y | | 0 Largeur | 628 Hauteur | 513 |
| --------------------- | ------------ | -------------------- | --------- | --------------- | --- |
| 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 | | Compatible desktop ET 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 thème 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 | | | |
| Optimisations | | Comme le projet | | | |
| 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 | | | Omika_S_Comm_DEV | | 12 |
Partie 2 › Fenêtre WINDEV › FEN_Connexion › Informations générales
Statistiques de la fenêtre
| | Champ de saisie | | 16 | Libellé | | 3 |
| --- | --------------- | --- | --- | ------- | --- | --- |
| | Bouton | | 1 | | | |
Nombre d'éléments dans la fenêtre : 20
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 | 8 51 182 | 49 0 | Actif Texte | Non | | |
| -------------------- | ----------- | ---- | ---------------- | --- | --- | --- |
| SAI_BaseService | 9 329 179 | 49 0 | Actif Texte | Non | | |
| SAI_BaseWSCom | 8 190 179 | 49 0 | Actif Texte | Non | | |
| SAI_MPLicence | 196 102 206 | 49 0 | Actif Texte | Non | | |
| SAI_MPLicenceFichier | 413 102 206 | 49 0 | Actif Texte | Non | | |
| SAI_MPService | 322 384 298 | 49 0 | Actif Texte | Non | | |
| SAI_MPWSCom | 321 241 298 | 49 0 | Actif Texte | Non | | |
| SAI_NomBaseLicence | 319 51 300 | 49 0 | Actif Texte | Non | | |
| SAI_NomBaseService | 320 329 300 | 49 0 | Actif Texte | Non | | |
| SAI_NomBaseWSCom | 319 190 300 | 49 0 | Actif Texte | Non | | |
| SAI_PortLicence | 196 51 117 | 49 0 | Actif Texte | Non | | |
| SAI_PortService | 194 329 117 | 49 0 | Actif Texte | Non | | |
| SAI_PortWSCom | 193 190 117 | 49 0 | Actif Texte | Non | | |
| SAI_UserLicence | 8 102 182 | 49 0 | Actif Texte | Non | | |
| SAI_UserService | 9 380 305 | 49 0 | Actif Texte | Non | | |
| SAI_UserWSCom | 8 241 305 | 49 0 | Actif Texte | Non | | |
| 12/08/2026 | | | Omika_S_Comm_DEV | | | 13 |
Partie 2 › 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é | 8 19 | 203 26 | 0 | Actif | Gauche Haut | |
| ------------ | ----- | ------ | --- | ----- | ----------- | --- |
| LIB_Libellé1 | 8 158 | 242 26 | 0 | Actif | Gauche Haut | |
| LIB_Libellé2 | 7 296 | 242 26 | 0 | Actif | Gauche Haut | |
Bouton
BAT ehcuoT notuob epyT
| | X noitisoP | Y noitisoP | | | laitini tatE | |
| --- | ---------- | ---------- | --- | --- | ------------ | --- |
ruetuaH
ruegraL
elbisiV
nalP
| BTN_Valider | 505 | 443 115 | 24 | 0 | Actif | Normal |
| ----------- | --- | ------- | --- | --- | ----- | ------ |
Fenêtre : FEN_Connexion
Bouton : BTN_Valider
| Libellé | FR: Se Connecter | | | | | |
| -------------------------------- | ----------------------------------- | ---------------- | --- | --- | --- | --- |
| Ordre navigation | 17 | | | | | |
| 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 | | | | | |
| Animer si trop long | Non | | | | | |
| 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 | | | | | |
| 12/08/2026 | | Omika_S_Comm_DEV | | | | 14 |
Partie 2 › Fenêtre WINDEV › FEN_Connexion › Informations sur les champs
Mode menu ctx. <Aucun>
Nb. états image 1
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
Animer si trop long Non
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 Omika_S_Comm_DEV 15
Partie 2 › 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
Animer si trop long Non
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
Libellé : LIB_Libellé2
Libellé FR: Serveur Service
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
Animer si trop long Non
12/08/2026 Omika_S_Comm_DEV 16
Partie 2 › Fenêtre WINDEV › FEN_Connexion › Informations sur les champs
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 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 10
Largeur interne 180
Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité)
Numéro aide 0
Opacité 100
Autorise ChangeGabarit Oui
Format HTML 0
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
12/08/2026 Omika_S_Comm_DEV 17
Partie 2 › Fenêtre WINDEV › FEN_Connexion › Informations sur les champs
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 Couleur monochrome du style
Bouton droit : Monochrome Couleur monochrome du style
Ancrage <Aucun>
Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000
12/08/2026 Omika_S_Comm_DEV 18
Partie 2 › Fenêtre WINDEV › FEN_Connexion › Informations sur les champs
Champ de saisie : SAI_BaseService
Libellé FR: Base de données serveur
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 11
Largeur interne 177
Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité)
Numéro aide 0
Opacité 100
Autorise ChangeGabarit Oui
Format HTML 0
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
12/08/2026 Omika_S_Comm_DEV 19
Partie 2 › Fenêtre WINDEV › FEN_Connexion › Informations sur les champs
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 Couleur monochrome du style
Bouton droit : Monochrome Couleur monochrome du style
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 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 10
Largeur interne 177
Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité)
Numéro aide 0
Opacité 100
Autorise ChangeGabarit Oui
Format HTML 0
Sécurité HTML Oui
Visualisation markdown Non
12/08/2026 Omika_S_Comm_DEV 20
Partie 2 › Fenêtre WINDEV › FEN_Connexion › Informations sur les champs
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 Couleur monochrome du style
Bouton droit : Monochrome Couleur monochrome du style
Ancrage <Aucun>
Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000
12/08/2026 Omika_S_Comm_DEV 21
Partie 2 › Fenêtre WINDEV › FEN_Connexion › Informations sur les champs
Champ de saisie : SAI_MPLicence
Libellé FR: Mot de passe
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 196
Largeur interne 206
Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité)
Numéro aide 0
Opacité 100
Autorise ChangeGabarit Oui
Format HTML 0
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
12/08/2026 Omika_S_Comm_DEV 22
Partie 2 › Fenêtre WINDEV › FEN_Connexion › 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 Couleur monochrome du style
Bouton droit : Monochrome Couleur monochrome du style
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 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 413
Largeur interne 206
Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité)
Numéro aide 0
Opacité 100
Autorise ChangeGabarit Oui
Format HTML 0
Sécurité HTML Oui
Visualisation markdown Non
12/08/2026 Omika_S_Comm_DEV 23
Partie 2 › Fenêtre WINDEV › FEN_Connexion › Informations sur les champs
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 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 Couleur monochrome du style
Bouton droit : Monochrome Couleur monochrome du style
Ancrage <Aucun>
Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000
12/08/2026 Omika_S_Comm_DEV 24
Partie 2 › Fenêtre WINDEV › FEN_Connexion › Informations sur les champs
Champ de saisie : SAI_MPService
Libellé FR: Mot de passe
Ordre navigation 16
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
Format HTML 0
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
12/08/2026 Omika_S_Comm_DEV 25
Partie 2 › Fenêtre WINDEV › FEN_Connexion › 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 Couleur monochrome du style
Bouton droit : Monochrome Couleur monochrome du style
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 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 321
Largeur interne 298
Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité)
Numéro aide 0
Opacité 100
Autorise ChangeGabarit Oui
Format HTML 0
Sécurité HTML Oui
Visualisation markdown Non
12/08/2026 Omika_S_Comm_DEV 26
Partie 2 › Fenêtre WINDEV › FEN_Connexion › Informations sur les champs
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 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 Couleur monochrome du style
Bouton droit : Monochrome Couleur monochrome du style
Ancrage <Aucun>
Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000
12/08/2026 Omika_S_Comm_DEV 27
Partie 2 › 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 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 321
Largeur interne 298
Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité)
Numéro aide 0
Opacité 100
Autorise ChangeGabarit Oui
Format HTML 0
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
12/08/2026 Omika_S_Comm_DEV 28
Partie 2 › Fenêtre WINDEV › FEN_Connexion › Informations sur les champs
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 Couleur monochrome du style
Bouton droit : Monochrome Couleur monochrome du style
Ancrage <Aucun>
Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000
Champ de saisie : SAI_NomBaseService
Libellé FR: Nom de la base de données
Ordre navigation 14
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
Format HTML 0
Sécurité HTML Oui
Visualisation markdown Non
12/08/2026 Omika_S_Comm_DEV 29
Partie 2 › Fenêtre WINDEV › FEN_Connexion › Informations sur les champs
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 Couleur monochrome du style
Bouton droit : Monochrome Couleur monochrome du style
Ancrage <Aucun>
Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000
12/08/2026 Omika_S_Comm_DEV 30
Partie 2 › Fenêtre WINDEV › FEN_Connexion › Informations sur les champs
Champ de saisie : SAI_NomBaseWSCom
Libellé FR: Nom de la base de données
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 321
Largeur interne 298
Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité)
Numéro aide 0
Opacité 100
Autorise ChangeGabarit Oui
Format HTML 0
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
12/08/2026 Omika_S_Comm_DEV 31
Partie 2 › Fenêtre WINDEV › FEN_Connexion › Informations sur les champs
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 Couleur monochrome du style
Bouton droit : Monochrome Couleur monochrome du style
Ancrage <Aucun>
Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000
Champ de saisie : SAI_PortLicence
Libellé FR: Port
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 196
Largeur interne 117
Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité)
Numéro aide 0
Opacité 100
Autorise ChangeGabarit Oui
Format HTML 0
Sécurité HTML Oui
Visualisation markdown Non
12/08/2026 Omika_S_Comm_DEV 32
Partie 2 › Fenêtre WINDEV › FEN_Connexion › Informations sur les champs
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 Couleur monochrome du style
Bouton droit : Monochrome Couleur monochrome du style
Ancrage <Aucun>
Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000
12/08/2026 Omika_S_Comm_DEV 33
Partie 2 › Fenêtre WINDEV › FEN_Connexion › Informations sur les champs
Champ de saisie : SAI_PortService
Libellé FR: Port
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 194
Largeur interne 117
Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité)
Numéro aide 0
Opacité 100
Autorise ChangeGabarit Oui
Format HTML 0
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
12/08/2026 Omika_S_Comm_DEV 34
Partie 2 › Fenêtre WINDEV › FEN_Connexion › Informations sur les champs
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 Couleur monochrome du style
Bouton droit : Monochrome Couleur monochrome du style
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 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 193
Largeur interne 117
Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité)
Numéro aide 0
Opacité 100
Autorise ChangeGabarit Oui
Format HTML 0
Sécurité HTML Oui
Visualisation markdown Non
12/08/2026 Omika_S_Comm_DEV 35
Partie 2 › Fenêtre WINDEV › FEN_Connexion › Informations sur les champs
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 Couleur monochrome du style
Bouton droit : Monochrome Couleur monochrome du style
Ancrage <Aucun>
Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000
12/08/2026 Omika_S_Comm_DEV 36
Partie 2 › Fenêtre WINDEV › FEN_Connexion › Informations sur les champs
Champ de saisie : SAI_UserLicence
Libellé FR: Utilisateur
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 10
Largeur interne 180
Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité)
Numéro aide 0
Opacité 100
Autorise ChangeGabarit Oui
Format HTML 0
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
12/08/2026 Omika_S_Comm_DEV 37
Partie 2 › Fenêtre WINDEV › FEN_Connexion › Informations sur les champs
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 Couleur monochrome du style
Bouton droit : Monochrome Couleur monochrome du style
Ancrage <Aucun>
Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000
Champ de saisie : SAI_UserService
Libellé FR: Utilisateur
Ordre navigation 15
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 303
Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité)
Numéro aide 0
Opacité 100
Autorise ChangeGabarit Oui
Format HTML 0
Sécurité HTML Oui
Visualisation markdown Non
12/08/2026 Omika_S_Comm_DEV 38
Partie 2 › Fenêtre WINDEV › FEN_Connexion › Informations sur les champs
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 Couleur monochrome du style
Bouton droit : Monochrome Couleur monochrome du style
Ancrage <Aucun>
Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000
12/08/2026 Omika_S_Comm_DEV 39
Partie 2 › Fenêtre WINDEV › FEN_Connexion › Informations sur les champs
Champ de saisie : SAI_UserWSCom
Libellé FR: Utilisateur
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 10
Largeur interne 303
Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité)
Numéro aide 0
Opacité 100
Autorise ChangeGabarit Oui
Format HTML 0
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
12/08/2026 Omika_S_Comm_DEV 40
Partie 2 › Fenêtre WINDEV › FEN_Connexion › Informations sur les champs
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 Couleur monochrome du style
Bouton droit : Monochrome Couleur monochrome du style
Ancrage <Aucun>
Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000
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
12/08/2026 Omika_S_Comm_DEV 41
Partie 2 › Fenêtre WINDEV › FEN_Connexion › Code des champs
Connexion()
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 LIB_Libellé2
// 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_BaseService
// 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
// 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_MPService
// Version 1
12/08/2026 Omika_S_Comm_DEV 42
Partie 2 › Fenêtre WINDEV › FEN_Connexion › Code des champs
// 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_NomBaseService
// 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_PortService
// 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_UserLicence
// Version 1
// Description
// Champ de saisie pour un texte simple sur une ligne
Initialisation de SAI_UserService
12/08/2026 Omika_S_Comm_DEV 43
Partie 2 › 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 Connexion
procédure Connexion()
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 | |
| ----------------------------------------- | ----------------------- | --- |
| LIB_DEBUG.gcnxD_Service..Provider | = hAccèsHFClientServeur | |
| LIB_DEBUG.gcnxD_Service..BaseDeDonnées | = SAI_NomBaseService | |
| LIB_DEBUG.gcnxD_Service..MotDePasse | = SAI_MPService | |
LIB_DEBUG.gcnxD_Service..Serveur = SAI_BaseService+":"+SAI_PortService
| LIB_DEBUG.gcnxD_Service..Utilisateur | = SAI_UserService | |
| ------------------------------------ | ----------------- | --- |
| LIB_Service.gsaSW_Cle | = SAI_MPService | |
D_OuvreConnexionHFSQLLicence(SAI_MPLicenceFichiers)
D_RecupIdentiteLicence()
si D_OuvreConnexionHFSQL() alors
InitialisationParametres()
Ouvre(FEN_Menu)
fin
| 12/08/2026 | Omika_S_Comm_DEV | 44 |
| ---------- | ---------------- | --- |
Partie 2 › Fenêtre WINDEV › FEN_Menu › Image
FEN_Menu
Image
| 12/08/2026 | Omika_S_Comm_DEV | 45 |
| ---------- | ---------------- | --- |
Partie 2 › Fenêtre WINDEV › FEN_Menu › Image
| 12/08/2026 | Omika_S_Comm_DEV | 46 |
| ---------- | ---------------- | --- |
Partie 2 › Fenêtre WINDEV › FEN_Menu › Image
FEN_Menu
Informations générales
FEN_Menu
Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Service\Batik_S_Comm_DEV\FEN_Menu.wdw
Créé par susana@applilogik.fr
Date de création 21/01/2026 08:30:23
Dernière modification par susana@applilogik.fr
Date dernière modification 19/02/2026 18:20:18
Titre FR: Menu
Type fenêtre Fenêtre libre
Mode ouverture (Desktop) Centrée par rapport à la mère
12/08/2026 Omika_S_Comm_DEV 47
Partie 2 › Fenêtre WINDEV › FEN_Menu › Informations générales
| Position X | 0 Position Y | | 0 Largeur | 1025 Hauteur | 699 |
| --------------------- | ------------ | -------------------- | --------- | --------------- | --- |
| 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 | | Compatible desktop ET 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 thème 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 | | | |
| Optimisations | | Comme le projet | | | |
| 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 | | | Omika_S_Comm_DEV | | 48 |
Partie 2 › Fenêtre WINDEV › FEN_Menu › Informations générales
Statistiques de la fenêtre
| | Champ de saisie | | 25 | Bouton | | 13 |
| --- | ------------------- | --- | --- | --------------------- | --- | --- |
| | Interrupteur | | 3 | Sélecteur | | 1 |
| | Image | | 4 | Table | | 3 |
| | Combo | | 6 | Onglet | | 1 |
| | Superchamp | | 9 | Option d'interrupteur | | 3 |
| | Option de sélecteur | | 2 | Colonne de table | | 14 |
| | Volet (Onglet) | | 3 | Éditeur HTML | | 1 |
Nombre d'éléments dans la fenêtre : 88
FEN_Menu
Informations sur les champs
Fenêtre : FEN_Menu
Bouton
notuob epyT
BAT ehcuoT
| | | X noitisoP Y noitisoP | | | laitini tatE | |
| --- | --- | --------------------- | --- | --- | ------------ | --- |
ruetuaH
| | | | ruegraL | | elbisiV | |
| --- | --- | --- | ------- | --- | ------- | --- |
nalP
| BTN_RecupDoc | | 786 | 110 225 | 24 0 | Actif | Validati |
| ------------ | --- | --- | ------- | ---- | ----- | -------- |
| BTN_Valider | | 849 | 424 162 | 24 0 | Actif | Validati |
Sélecteur
ellennoitroporp .loC
sennoloc .bN
BAT ehcuoT
| | | X noitisoP Y noitisoP | | | laitini tatE | staté siorT |
| --- | --- | --------------------- | --- | --- | ------------ | ----------- |
ruetuaH
| | | | ruegraL | elbisiV | | |
| --- | --- | --- | ------- | ------- | --- | --- |
nalP
| SEL_test | | 625 31 | 291 24 | 0 | Actif | 2 |
| ---------- | --- | ------ | ---------------- | --- | ----- | --- |
| 12/08/2026 | | | Omika_S_Comm_DEV | | | 49 |
Partie 2 › Fenêtre WINDEV › FEN_Menu › 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_Buffer | | | 361 | 72 | 142 | 138 | 0 | Actif | | | |
| ---------- | --- | --- | ---- | --- | --- | --- | --- | ----- | --- | --- | --- |
| IMG_Vide | | | -182 | -28 | 36 | 42 | 0 | Actif | | | |
Table
eitros ne tnemertsigernE
ruesnecsa/egahciffA
| | | | | | | | | | lennoitroporp .csA .loc .gifnoc .oméM | | |
| --- | --- | --- | --- | --- | --- | --- | ------------------ | -------------- | ------------------------------------- | -------------- | -------------- |
| | | | | | | | )(ertliFH resilitU | | ruesnecsa elluB EERTNE noitseG | eércna ennoloC | |
| | | | | | | | .gerne egacolB | noitcelésitluM | edacsac eisiaS | | 5.5 elbitapmoC |
BAT ehcuoT
| | X noitisoP | Y noitisoP | | | laitini tatE | | | | | | |
| --- | ---------- | ---------- | ------- | --- | ------------ | --- | -------- | --- | --- | --- | --- |
| | | ruegraL | ruetuaH | | | | sruocraP | | | | |
elbisiV
elbaT
nalP
Mémoir
| TABLE_Document | 12 | 210 999 | 438 | 0 | affichag | | | | | | 3 |
| -------------- | --- | -------- | --- | --- | -------- | ------ | --- | --- | --- | --- | --- |
| TABLE_Inter | 8 | 96 331 | 560 | 0 | affichag | Mémoir | | | | | 2 |
| TABLE_RDV | 8 | 454 1003 | 178 | 0 | affichag | Mémoir | | | | | 5 |
Combo
reihcif eétsissa eisiaS
| | | | | | | | | | eriotagilbo eisiaS | | .zroH tnemeliféD |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | ------------------ | --- | ---------------- |
ruesnecsa elluB
| | | | | | | | BAT ehcuoT | | | ediv is LLUN | |
| --- | ---------- | ---------- | --- | ------- | --- | ------------ | ---------- | --- | ----------- | ------------ | --- |
| | X noitisoP | Y noitisoP | | | | laitini tatE | | | eisias cevA | | |
| | | | | ruetuaH | | | sruocraP | | | | |
ruegraL
| | | | | | elbisiV | | elbaT | | | | |
| --------- | --- | --- | ----- | --- | ------- | ----- | ------- | ----- | --- | --- | --- |
| | | | | | nalP | | | eéirT | | | |
| CMB_Users | | 6 | 7 594 | 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_Menu | | | 6 | 61 1011 | 601 | 0 | Actif | | haut | | 0 |
| ---------- | --- | --- | --- | ---------------- | --- | --- | ----- | --- | ---- | --- | --- |
| 12/08/2026 | | | | Omika_S_Comm_DEV | | | | | | | 50 |
Partie 2 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs
Superchamp
BAT ehcuoT
| | | X noitisoP | Y noitisoP | | | | laitini tatE | |
| --- | --- | ---------- | ---------- | --- | --- | --- | ------------ | --- |
ruetuaH
ruegraL
elbisiV
nalP
| SC_AnnulerRDV | | 666 | 93 | 320 | 188 | 0 | Actif | |
| --------------- | --- | --- | --- | --- | --- | --- | ----- | --- |
| SC_CR | | 7 | 93 | 322 | 355 | 0 | Actif | |
| SC_CreationDoc | | 666 | 291 | 320 | 108 | 0 | Actif | |
| SC_CreationDoc1 | | 687 | 125 | 320 | 80 | 0 | Actif | |
| SC_MsgExt | | 345 | 211 | 666 | 445 | 0 | Actif | |
| SC_NoteDoc | | 6 | 93 | 336 | 106 | 0 | Actif | |
| SC_NoteInter | | 345 | 99 | 336 | 106 | 0 | Actif | |
| SC_Planifier | | 335 | 93 | 320 | 151 | 0 | Actif | |
| SC_ValiderRDV | | 335 | 250 | 320 | 188 | 0 | Actif | |
Table : ONG_Menu.TABLE_Document
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_IdDoc | 161 | Actif | | | Droite Centre | Numériq | | |
| COL_NomDoc | 247 | Actif | | | Gauche Centre | Texte | | |
| COL_Chemin | 363 | Actif | | | Gauche Centre | Texte | | |
| COL_IdInterDoc | 114 | Actif | | | Droite Centre | Numériq | | |
| COL_GUIDDoc | 100 | Actif | | | Gauche Centre | Texte | | |
Table : ONG_Menu.TABLE_Inter
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 | engilitluM FTR tamroF | eisias cevA |
ruegraL
elbisiV
| epyT | | | | | | | eéirT | |
| ------------ | --- | ----- | ---------------- | --- | ------------- | ------- | ----- | --- |
| COL_IdInter | 158 | Actif | | | Droite Centre | Numériq | | |
| COL_RefInter | 158 | Actif | | | Gauche Centre | Texte | | |
| 12/08/2026 | | | Omika_S_Comm_DEV | | | | | 51 |
Partie 2 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs
Table : ONG_Menu.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_DateDeb | | 132 | Actif | | | Droite | Centre | Date | | |
| COL_DateFin | | 103 | Actif | | | Droite | Centre | Date | | |
| COL_Status | | 100 | Actif | | | Gauche | Centre | Texte | | |
Numériq
| COL_IdInterRDV | | 100 | Actif | | | Droite | Centre | | | |
| --------------- | --- | --- | ----- | --- | --- | ------ | ------ | ------- | --- | --- |
| COL_GUIDRDV | | 324 | Actif | | | Gauche | Centre | Texte | | |
| COL_IDGroupeRDV | | 111 | Actif | | | Droite | Centre | Numériq | | |
| COL_IdRdvRDV | | 100 | Actif | | | Droite | Centre | Numériq | | |
Superchamp : ONG_Menu.SC_AnnulerRDV
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 | | |
| --- | --------------------- | --- | --- | --- | ------------------------ | ---------- | ------------ | ------------ | --- | ------------- |
| | | | | | BAT ehcuoT | | FTR tamroF | ediv is LLUN | | lacitrev .csA |
| | X noitisoP Y noitisoP | | | | laitini tatE eisias epyT | engilitluM | | | | |
ruetuaH
ruegraL
elbisiV
nalP
| SAI_NoteAnnu | 678 184 | 300 | 44 0 | | Actif Texte | | Non | | | |
| ------------ | ------- | --- | ---- | --- | ----------- | --- | --- | --- | --- | --- |
Bouton
BAT ehcuoT notuob epyT
laitini tatE
| | | | X noitisoP Y noitisoP | | | | | | | |
| --- | --- | --- | --------------------- | --- | --------------- | --- | --- | --- | --- | --- |
| | | | | | ruegraL ruetuaH | | | | | |
elbisiV
nalP
| BTN_AnnulerRDV | | | 753 | 242 | 225 | 24 | 0 | Actif | Validati | |
| -------------- | --- | --- | --- | ---------------- | --- | --- | --- | ----- | -------- | --- |
| 12/08/2026 | | | | Omika_S_Comm_DEV | | | | | | 52 |
Partie 2 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs
Combo
reihcif eétsissa eisiaS
| | | | | | | | eriotagilbo eisiaS | | .zroH tnemeliféD |
| --- | --- | --- | --- | --- | --- | --- | ------------------ | --- | ---------------- |
ruesnecsa elluB
ediv is LLUN
| | | | | laitini tatE | BAT ehcuoT | | eisias cevA | | |
| --- | ---------- | --------------- | --- | ------------ | ---------- | -------- | ----------- | --- | --- |
| | X noitisoP | Y noitisoP | | | | | | | |
| | | ruegraL ruetuaH | | | | sruocraP | | | |
elbisiV
| | | | | | | elbaT | eéirT | | |
| --- | --- | --- | --- | --- | --- | ----- | ----- | --- | --- |
nalP
| CMB_MotifAnnu | 674 | 139 304 | 37 0 | Actif | | Mémoire | Non | | |
| ------------- | --- | ------- | ---- | ----- | --- | ------- | --- | --- | --- |
| CMB_OrigAnnu | 674 | 100 304 | 37 0 | Actif | | Mémoire | Non | | |
Superchamp : ONG_Menu.SC_CR
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 | | FTR tamroF | cnalb à esiM ediv is LLUN | | lacitrev .csA |
| --- | --------------------- | --- | ------------ | ----------- | ---------- | ---------- | ------------------------- | --- | ------------- |
| | X noitisoP Y noitisoP | | laitini tatE | eisias epyT | engilitluM | | | | |
ruegraL ruetuaH
elbisiV
nalP
| SAI_Client | 16 244 | 300 27 0 | Actif | Texte | | Non | | | |
| -------------- | ------- | -------- | ----- | ----- | --- | --- | --- | --- | --- |
| SAI_DateDebCR | 16 102 | 162 22 0 | Actif | Date | | Non | | | |
| SAI_DateFinCR | 16 130 | 162 22 0 | Actif | Date | | Non | | | |
| SAI_HeureDCR | 184 102 | 132 22 0 | Actif | Heure | | Non | | | |
| SAI_HeureFCR | 184 130 | 132 22 0 | Actif | Heure | | Non | | | |
| SAI_NoteClient | 173 300 | 149 57 0 | Actif | Texte | | Non | | | |
| SAI_NoteUser | 14 301 | 149 57 0 | Actif | Texte | | Non | | | |
| SAI_Reserve | 16 196 | 300 44 0 | Actif | Texte | | Non | | | |
Bouton
notuob epyT
BAT ehcuoT
| | | X noitisoP Y noitisoP | | | | | laitini tatE | | |
| --- | --- | --------------------- | --- | --- | --- | --- | ------------ | --- | --- |
ruetuaH
| | | | | ruegraL | | elbisiV | | | |
| --- | --- | --- | --- | ------- | --- | ------- | --- | --- | --- |
nalP
| BTN_Valider1 | | 111 | 415 | 208 | 24 | 0 | Actif | Validati | |
| ------------ | --- | --- | --- | --- | --- | --- | ----- | -------- | --- |
Interrupteur
ellennoitroporp .loC
| | | | | | | | BAT ehcuoT sennoloc .bN | | |
| --- | --- | --- | --- | --- | --- | ------------ | ----------------------- | --- | ----------- |
| | | | | | | laitini tatE | | | staté siorT |
X noitisoP Y noitisoP
ruegraL ruetuaH
elbisiV
nalP
| INT_DevisConforme | | 128 169 | 125 | 23 | 0 | Actif | | 1 | |
| ----------------- | --- | ------- | ---------------- | --- | --- | ----- | --- | --- | --- |
| INT_Reserve | | 16 169 | 102 | 23 | 0 | Actif | | 1 | |
| 12/08/2026 | | | Omika_S_Comm_DEV | | | | | | 53 |
Partie 2 › Fenêtre WINDEV › FEN_Menu › 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_Sign1 | | 24 | 359 | 68 52 | 0 | | Actif | | |
| --------- | --- | --- | --- | ----- | --- | --- | ----- | --- | --- |
| IMG_Sign2 | | 97 | 359 | 88 52 | 0 | | Actif | | |
Combo
reihcif eétsissa eisiaS
eriotagilbo eisiaS
ruesnecsa elluB .zroH tnemeliféD
| | | | | | BAT ehcuoT | | | ediv is LLUN | |
| --- | --------------------- | --- | --- | ------------ | ---------- | --- | ----------- | ------------ | --- |
| | X noitisoP Y noitisoP | | | laitini tatE | | | eisias cevA | | |
sruocraP
ruegraL ruetuaH
elbisiV
| | | | nalP | | elbaT | | eéirT | | |
| ----------- | ------ | --- | ---- | ----- | ------- | --- | ----- | --- | --- |
| CMB_TypeSig | 13 272 | 304 | 24 0 | Actif | Mémoire | | Non | | |
Superchamp : ONG_Menu.SC_CreationDoc
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_Img | 673 300 278 | 38 0 | Actif | Texte | | Non | | | |
| ------- | ----------- | ---- | ----- | ----- | --- | --- | --- | --- | --- |
Bouton
notuob epyT
BAT ehcuoT
| | | X noitisoP Y noitisoP | | | | | laitini tatE | | |
| --- | --- | --------------------- | --- | --------------- | --- | --- | ------------ | --- | --- |
| | | | | ruegraL ruetuaH | | | | | |
elbisiV
nalP
| BTN_AnnulerRDV | | 754 | 363 | 225 24 | | 0 | Actif | Validati | |
| -------------- | --- | --- | ---------------- | ------ | --- | --- | ----- | -------- | --- |
| BTN_Fichier | | 957 | 313 | 21 21 | | 0 | Actif | Normal | |
| 12/08/2026 | | | Omika_S_Comm_DEV | | | | | | 54 |
Partie 2 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs
Superchamp : ONG_Menu.SC_CreationDoc1
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 | FTR tamroF | cnalb à esiM ediv is LLUN | lacitrev .csA |
| --- | --------------------- | --- | ------------------------ | ---------- | ------------------------- | ------------- |
| | X noitisoP Y noitisoP | | laitini tatE eisias epyT | engilitluM | | |
ruetuaH
ruegraL
elbisiV
nalP
| SAI_Rapport | 690 132 283 | 38 0 | Actif Texte | | Non | |
| ----------- | ----------- | ---- | ----------- | --- | --- | --- |
Bouton
BAT ehcuoT notuob epyT
laitini tatE
X noitisoP Y noitisoP
| | | | ruegraL ruetuaH | | | |
| --- | --- | --- | --------------- | --- | --- | --- |
elbisiV
nalP
| BTN_Fichier | | 979 | 149 21 | 21 | 0 Actif | Normal |
| ----------- | --- | --- | ------- | --- | ------- | -------- |
| BTN_Rapport | | 760 | 176 240 | 24 | 0 Actif | Validati |
Superchamp : ONG_Menu.SC_MsgExt
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 | FTR tamroF | cnalb à esiM ediv is LLUN | lacitrev .csA |
| --- | --------------------- | --- | ------------------------ | ---------- | ------------------------- | ------------- |
| | X noitisoP Y noitisoP | | laitini tatE eisias epyT | engilitluM | | |
ruetuaH
ruegraL
elbisiV
nalP
| SAI_AdDest | 610 218 391 | 34 0 | Actif Texte | | Non | |
| ---------- | ----------- | ---- | ----------- | --- | --- | --- |
| SAI_AdExp | 354 218 250 | 34 0 | Actif Texte | | Non | |
| SAI_Sujet | 354 258 647 | 42 0 | Actif Texte | | Non | |
Bouton
BAT ehcuoT notuob epyT
laitini tatE
X noitisoP Y noitisoP
| | | | ruegraL ruetuaH | | | |
| --- | --- | --- | --------------- | --- | --- | --- |
elbisiV
nalP
| BTN_MsgExt | | 785 | 622 225 | 24 | 0 Actif | Validati |
| ---------- | --- | --- | ---------------- | --- | ------- | -------- |
| 12/08/2026 | | | Omika_S_Comm_DEV | | | 55 |
Partie 2 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs
Éditeur HTML
BAT ehcuoT
| | | X noitisoP | Y noitisoP | | | | | | laitini tatE | |
| --- | --- | ---------- | ---------- | --- | --- | --- | --- | --- | ------------ | --- |
ruetuaH
ruegraL
elbisiV
nalP
| EDHTML_Corps | | 346 | | 306 | 664 | 306 | | 0 | Actif | |
| ------------ | --- | --- | --- | --- | --- | --- | --- | --- | ----- | --- |
Superchamp : ONG_Menu.SC_NoteDoc
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 | | FTR tamroF | | cnalb à esiM ediv is LLUN | | lacitrev .csA |
| --- | --------------------- | --- | --- | ------------ | ----------- | ---------- | --- | ------------------------- | --- | ------------- |
| | X noitisoP Y noitisoP | | | laitini tatE | eisias epyT | engilitluM | | | | |
ruetuaH
ruegraL
elbisiV
nalP
| SAI_NoteDoc | 14 99 320 | 62 0 | | Actif | Texte | | Non | | | |
| ----------- | --------- | ---- | --- | ----- | ----- | --- | --- | --- | --- | --- |
Bouton
notuob epyT
| | | | | | | | | laitini tatE | BAT ehcuoT | |
| --- | --- | --- | --- | --- | --- | --- | --- | ------------ | ---------- | --- |
X noitisoP Y noitisoP
| | | | | ruegraL | ruetuaH | | | | | |
| --- | --- | --- | --- | ------- | ------- | --- | --- | --- | --- | --- |
elbisiV
nalP
| BTN_AnnulerRDV | | 70 | 167 | 264 | 24 | | 0 | Actif | Validati | |
| -------------- | --- | --- | --- | --- | --- | --- | --- | ----- | -------- | --- |
Superchamp : ONG_Menu.SC_NoteInter
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_NoteInt | 353 105 320 | 62 0 | | Actif | Texte | | Non | | | |
| ----------- | ----------- | ---- | ---------------- | ----- | ----- | --- | --- | --- | --- | --- |
| 12/08/2026 | | | Omika_S_Comm_DEV | | | | | | | 56 |
Partie 2 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs
Bouton
notuob epyT
| | | | | | | laitini tatE BAT ehcuoT | | |
| --- | --- | --------------------- | --------------- | --- | --- | ----------------------- | --- | --- |
| | | X noitisoP Y noitisoP | | | | | | |
| | | | ruegraL ruetuaH | | | | | |
elbisiV
nalP
| BTN_AnnulerRDV | | 448 | 173 225 | 24 | 0 | Actif | Validati | |
| -------------- | --- | --- | ------- | --- | --- | ----- | -------- | --- |
Superchamp : ONG_Menu.SC_Planifier
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_DateDebP | 340 99 | 162 22 0 | Actif Date | | Non | | | |
| ------------ | ------- | -------- | ----------- | --- | --- | --- | --- | --- |
| SAI_DateFinP | 340 127 | 162 22 0 | Actif Date | | Non | | | |
| SAI_HeureDP | 508 99 | 132 22 0 | Actif Heure | | Non | | | |
| SAI_HeureFP | 508 127 | 132 22 0 | Actif Heure | | Non | | | |
Bouton
notuob epyT
| | | | | | | laitini tatE BAT ehcuoT | | |
| --- | --- | --------------------- | --------------- | --- | --- | ----------------------- | --- | --- |
| | | X noitisoP Y noitisoP | | | | | | |
| | | | ruegraL ruetuaH | | | | | |
elbisiV
nalP
| BTN_Planifier | | 420 | 214 225 | 24 | 0 | Actif | Validati | |
| ------------- | --- | --- | ------- | --- | --- | ----- | -------- | --- |
Interrupteur
ellennoitroporp .loC
sennoloc .bN
BAT ehcuoT
| | | X noitisoP Y noitisoP | | | laitini tatE | | | staté siorT |
| --- | --- | --------------------- | --- | --- | ------------ | --- | --- | ----------- |
ruetuaH
ruegraL
elbisiV
nalP
| INT_Superposable | | 341 185 | 131 23 | 0 | Actif | | 1 | |
| ---------------- | --- | ------- | ---------------- | --- | ----- | --- | --- | --- |
| 12/08/2026 | | | Omika_S_Comm_DEV | | | | | 57 |
Partie 2 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs
Combo
reihcif eétsissa eisiaS
| | | | | | | eriotagilbo eisiaS | .zroH tnemeliféD |
| --- | --- | --- | --- | --- | --- | ------------------ | ---------------- |
ruesnecsa elluB
ediv is LLUN
| | | | laitini tatE | BAT ehcuoT | eisias cevA | | |
| --- | --------------------- | --------------- | ------------ | ---------- | ----------- | --- | --- |
| | X noitisoP Y noitisoP | | | | | | |
| | | ruegraL ruetuaH | | | sruocraP | | |
elbisiV
| | | | | elbaT | eéirT | | |
| --- | --- | --- | --- | ----- | ----- | --- | --- |
nalP
| CMB_StatusP | 336 155 | 304 | 24 0 Actif | Mémoire | | Non | |
| ----------- | ------- | --- | ---------- | ------- | --- | --- | --- |
Superchamp : ONG_Menu.SC_ValiderRDV
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 | |
| --- | --------------------- | --- | ---------------------- | ---------- | ------------------------- | ------------ | ------------- |
| | | | BAT ehcuoT eisias epyT | FTR tamroF | | | lacitrev .csA |
| | X noitisoP Y noitisoP | | laitini tatE | engilitluM | | | |
ruegraL ruetuaH
elbisiV
nalP
| SAI_DateDebT | 347 255 162 | 22 0 | Actif Date | | Non | | |
| ------------- | ----------- | ---- | ----------- | --- | --- | --- | --- |
| SAI_DateFinT | 347 283 162 | 22 0 | Actif Date | | Non | | |
| SAI_HeureDT | 515 255 132 | 22 0 | Actif Heure | | Non | | |
| SAI_HeureFT | 515 283 132 | 22 0 | Actif Heure | | Non | | |
| SAI_NoteTemps | 347 341 300 | 44 0 | Actif Texte | | Non | | |
Bouton
notuob epyT
BAT ehcuoT
| | | X noitisoP Y noitisoP | | | | laitini tatE | |
| --- | --- | --------------------- | --- | --- | --- | ------------ | --- |
ruetuaH
ruegraL
elbisiV
nalP
| BTN_Valider1Temps | | 422 | 399 225 | 24 | 0 Actif | | Validati |
| ----------------- | --- | --- | ------- | --- | ------- | --- | -------- |
Combo
reihcif eétsissa eisiaS
| | | | | | | eriotagilbo eisiaS | .zroH tnemeliféD |
| --- | --- | --- | --- | --- | --- | ------------------ | ---------------- |
ruesnecsa elluB
| | | | | BAT ehcuoT | | | ediv is LLUN |
| --- | --------------------- | --- | ------------ | ---------- | ----------- | --- | ------------ |
| | | | laitini tatE | | eisias cevA | | |
| | X noitisoP Y noitisoP | | | | sruocraP | | |
ruegraL ruetuaH
elbisiV
| | | | | elbaT | eéirT | | |
| --- | --- | --- | --- | ----- | ----- | --- | --- |
nalP
| CMB_TypeTemps | 343 311 | 304 | 24 0 Actif | Mémoire | | Non | |
| ------------- | ------- | --- | ---------------- | ------- | --- | --- | --- |
| 12/08/2026 | | | Omika_S_Comm_DEV | | | | 58 |
Partie 2 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs
Fenêtre : FEN_Menu
Bouton : ONG_Menu.BTN_RecupDoc
Libellé FR: Recuperer le document sélectionné
Ordre navigation 2
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
Animer si trop long Non
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>
Image FR: D:\Projets Windev\Batik\Nouvelle Version\Service\Batik_S_Comm_DEV\Gabarits\WD\270
Mika Dark\Mika Dark_Pict_ok_16_5.png
Nb. états image 5
Nb. états fond 5
Etirement de l'image de fond <Aucun>
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 0 Taux anc. hauteur 1000
12/08/2026 Omika_S_Comm_DEV 59
Partie 2 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs
Bouton : ONG_Menu.BTN_Valider
Libellé FR: Valider RDV Sélectionné
Ordre navigation 6
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
Animer si trop long Non
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>
Image FR: D:\Projets Windev\Batik\Nouvelle Version\Service\Batik_S_Comm_DEV\Gabarits\WD\270
Mika Dark\Mika Dark_Pict_ok_16_5.png
Nb. états image 5
Image fond FR: D:\Projets Windev\Batik\Nouvelle Version\Service\Batik_S_Comm_DEV\Gabarits\WD\270
Mika Dark\Mika Dark_Btn_Media_Right.png
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 Bas
Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000
12/08/2026 Omika_S_Comm_DEV 60
Partie 2 › Fenêtre WINDEV › FEN_Menu › 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 Omika_S_Comm_DEV 61
Partie 2 › Fenêtre WINDEV › FEN_Menu › 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 <Aucun>
Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000
Image : ONG_Menu.IMG_Buffer
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 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
Force monochrome Non
Mode 9 images Non
Chargement en fond Non
Orientation EXIF Oui
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 Omika_S_Comm_DEV 62
Partie 2 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs
Image : IMG_Vide
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 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
Force monochrome Non
Mode 9 images Non
Chargement en fond Non
Orientation EXIF Oui
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
Onglet : ONG_Menu
Libellé FR: &Onglet
Valeur initiale 1
Ordre navigation 3
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 4
Retrait des onglets 0
Numéro aide 0
12/08/2026 Omika_S_Comm_DEV 63
Partie 2 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs
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
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
Superchamp : ONG_Menu.SC_AnnulerRDV
Ordre navigation 3
UI par l'utilisateur Selon fenêtre
Taux Paral. hauteur 0
Taux Paral. Y 0
Épinglé Non
Masquer lors du scrolling Non
Largeur externe 318
Hauteur externe 186
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 Table chargée en mémoire
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 Omika_S_Comm_DEV 64
Partie 2 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs
Superchamp : ONG_Menu.SC_CR
Ordre navigation 1
UI par l'utilisateur Selon fenêtre
Taux Paral. hauteur 0
Taux Paral. Y 0
Épinglé Non
Masquer lors du scrolling Non
Largeur externe 320
Hauteur externe 353
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 Table chargée en mémoire
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
Superchamp : ONG_Menu.SC_CreationDoc
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 318
Hauteur externe 106
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 Table chargée en mémoire
Personnaliser le picto AMI Non
Indice du picto AMI 1
Ancrage <Aucun>
12/08/2026 Omika_S_Comm_DEV 65
Partie 2 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs
Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000
Superchamp : ONG_Menu.SC_CreationDoc1
Ordre navigation 3
UI par l'utilisateur Selon fenêtre
Taux Paral. hauteur 0
Taux Paral. Y 0
Épinglé Non
Masquer lors du scrolling Non
Largeur externe 318
Hauteur externe 78
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 Table chargée en mémoire
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
Superchamp : ONG_Menu.SC_MsgExt
Ordre navigation 4
UI par l'utilisateur Selon fenêtre
Taux Paral. hauteur 0
Taux Paral. Y 0
Épinglé Non
Masquer lors du scrolling Non
Largeur externe 664
Hauteur externe 443
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
12/08/2026 Omika_S_Comm_DEV 66
Partie 2 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs
Source de remplissage Table chargée en mémoire
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
Superchamp : ONG_Menu.SC_NoteDoc
Ordre navigation 1
UI par l'utilisateur Selon fenêtre
Taux Paral. hauteur 0
Taux Paral. Y 0
Épinglé Non
Masquer lors du scrolling Non
Largeur externe 334
Hauteur externe 104
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 Table chargée en mémoire
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
Superchamp : ONG_Menu.SC_NoteInter
Ordre navigation 2
UI par l'utilisateur Selon fenêtre
Taux Paral. hauteur 0
Taux Paral. Y 0
Épinglé Non
Masquer lors du scrolling Non
Largeur externe 334
Hauteur externe 104
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)
12/08/2026 Omika_S_Comm_DEV 67
Partie 2 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs
Facteur de rétrécissement 0
Facteur d'agrandissement 0
Valeur persistante Non
Texte Markdown Non
Source de remplissage Table chargée en mémoire
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
Superchamp : ONG_Menu.SC_Planifier
Ordre navigation 2
UI par l'utilisateur Selon fenêtre
Taux Paral. hauteur 0
Taux Paral. Y 0
Épinglé Non
Masquer lors du scrolling Non
Largeur externe 318
Hauteur externe 149
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 Table chargée en mémoire
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
Superchamp : ONG_Menu.SC_ValiderRDV
Ordre navigation 4
UI par l'utilisateur Selon fenêtre
Taux Paral. hauteur 0
Taux Paral. Y 0
Épinglé Non
Masquer lors du scrolling Non
Largeur externe 318
Hauteur externe 186
12/08/2026 Omika_S_Comm_DEV 68
Partie 2 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs
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 Table chargée en mémoire
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
Sélecteur : SEL_test
Libellé FR: &Sélecteur 2 colonnes
Valeur initiale 1
Ordre navigation 2
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 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
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>
12/08/2026 Omika_S_Comm_DEV 69
Partie 2 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs
Image D:\Projets Windev\Batik\Nouvelle Version\Service\Batik_S_Comm_DEV\Gabarits\WD\270 Mika
Nb. états image 1
Largeur image 64
Nb. étapes animation 1
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
Table : ONG_Menu.TABLE_Document
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
Ajout éléments suppl. par le haut Non
12/08/2026 Omika_S_Comm_DEV 70
Partie 2 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs
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 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000
Table : ONG_Menu.TABLE_Inter
Libellé FR: Table
Ordre navigation 1
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
12/08/2026 Omika_S_Comm_DEV 71
Partie 2 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs
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
Ajout éléments suppl. par le haut 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 Hauteur
Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000
12/08/2026 Omika_S_Comm_DEV 72
Partie 2 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs
Table : ONG_Menu.TABLE_RDV
Libellé FR: Table
Ordre navigation 7
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
Ajout éléments suppl. par le haut 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
12/08/2026 Omika_S_Comm_DEV 73
Partie 2 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs
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 Bas, largeur et hauteur
Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000
Superchamp : ONG_Menu.SC_AnnulerRDV
Bouton : ONG_Menu.SC_AnnulerRDV.BTN_AnnulerRDV
Libellé FR: Annuler le RDV Sélectionné
Ordre navigation 4
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
Animer si trop long Non
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>
12/08/2026 Omika_S_Comm_DEV 74
Partie 2 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs
Image FR: D:\Projets Windev\Batik\Nouvelle Version\Service\Batik_S_Comm_DEV\Gabarits\WD\270
Mika Dark\Mika Dark_Pict_ok_16_5.png
Nb. états image 5
Nb. états fond 5
Etirement de l'image de fond <Aucun>
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 0 Taux anc. hauteur 1000
Combo : ONG_Menu.SC_AnnulerRDV.CMB_MotifAnnu
Libellé FR: Motif d'annulation
Ordre navigation 2
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 302
Larg. déroulée perso. Non
Hauteur ligne 20
Retrait gauche 2
Position X interne 676
Largeur interne 302
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
12/08/2026 Omika_S_Comm_DEV 75
Partie 2 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs
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 <Aucun>
Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000
Combo : ONG_Menu.SC_AnnulerRDV.CMB_OrigAnnu
Libellé FR: Origine d'annulation
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 302
Larg. déroulée perso. Non
Hauteur ligne 20
Retrait gauche 2
Position X interne 676
Largeur interne 302
12/08/2026 Omika_S_Comm_DEV 76
Partie 2 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs
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 <Aucun>
Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000
12/08/2026 Omika_S_Comm_DEV 77
Partie 2 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs
Champ de saisie : ONG_Menu.SC_AnnulerRDV.SAI_NoteAnnu
Libellé FR: Note
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 713
Largeur interne 265
Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité)
Numéro aide 0
Opacité 100
Autorise ChangeGabarit Oui
Format HTML 0
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
12/08/2026 Omika_S_Comm_DEV 78
Partie 2 › Fenêtre WINDEV › FEN_Menu › 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 Couleur monochrome du style
Bouton droit : Monochrome Couleur monochrome du style
Ancrage <Aucun>
Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000
Superchamp : ONG_Menu.SC_CR
Bouton : ONG_Menu.SC_CR.BTN_Valider1
Libellé FR: Valider CR pour le RDV Sélectionné
Ordre navigation 12
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
Animer si trop long Non
Animée par défaut Oui
12/08/2026 Omika_S_Comm_DEV 79
Partie 2 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs
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>
Image FR: D:\Projets Windev\Batik\Nouvelle Version\Service\Batik_S_Comm_DEV\Gabarits\WD\270
Mika Dark\Mika Dark_Pict_ok_16_5.png
Nb. états image 5
Nb. états fond 5
Etirement de l'image de fond <Aucun>
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 0 Taux anc. hauteur 1000
Combo : ONG_Menu.SC_CR.CMB_TypeSig
Libellé FR: Type Sign
Ordre navigation 9
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 246
Larg. déroulée perso. Non
Hauteur ligne 20
Retrait gauche 2
Position X interne 71
Largeur interne 246
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>
12/08/2026 Omika_S_Comm_DEV 80
Partie 2 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs
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 <Aucun>
Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000
Image : ONG_Menu.SC_CR.IMG_Sign1
Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Service\Batik_S_Comm_DEV\sign1.jpg
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 vert. Haut
Cadrage fonctions gXXX Tenir compte du cadrage
Numéro aide 0
Opacité 100
12/08/2026 Omika_S_Comm_DEV 81
Partie 2 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs
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
Force monochrome Non
Mode 9 images Non
Chargement en fond Non
Orientation EXIF Oui
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
Image : ONG_Menu.SC_CR.IMG_Sign2
Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Service\Batik_S_Comm_DEV\sign2.jpg
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 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
Force monochrome Non
Mode 9 images Non
Chargement en fond Non
Orientation EXIF Oui
Personnaliser le picto AMI Non
Indice du picto AMI 1
12/08/2026 Omika_S_Comm_DEV 82
Partie 2 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs
Ancrage <Aucun>
Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000
Interrupteur : ONG_Menu.SC_CR.INT_DevisConforme
Libellé FR: &Interrupteur
Valeur initiale 0
Ordre navigation 6
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 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
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\Service\Batik_S_Comm_DEV\Gabarits\WD\270 Mika
Nb. états image 1
Largeur image 64
Nb. étapes animation 1
Personnaliser le picto AMI Non
Indice du picto AMI 1
Ancrage <Aucun>
Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000
12/08/2026 Omika_S_Comm_DEV 83
Partie 2 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs
Interrupteur : ONG_Menu.SC_CR.INT_Reserve
Libellé FR: &Interrupteur
Valeur initiale 0
Ordre navigation 5
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 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
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\Service\Batik_S_Comm_DEV\Gabarits\WD\270 Mika
Nb. états image 1
Largeur image 64
Nb. étapes animation 1
Personnaliser le picto AMI Non
Indice du picto AMI 1
Ancrage <Aucun>
Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000
12/08/2026 Omika_S_Comm_DEV 84
Partie 2 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs
Champ de saisie : ONG_Menu.SC_CR.SAI_Client
Libellé FR: Client
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 67
Largeur interne 249
Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité)
Numéro aide 0
Opacité 100
Autorise ChangeGabarit Oui
Format HTML 0
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
12/08/2026 Omika_S_Comm_DEV 85
Partie 2 › Fenêtre WINDEV › FEN_Menu › 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 Couleur monochrome du style
Bouton droit : Monochrome Couleur monochrome du style
Ancrage <Aucun>
Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000
Champ de saisie : ONG_Menu.SC_CR.SAI_DateDebCR
Libellé FR: Date Début
Ordre navigation 1
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 89
Largeur interne 89
Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité)
Numéro aide 0
Opacité 100
Autorise ChangeGabarit Oui
Format HTML 0
Sécurité HTML Oui
Visualisation markdown Non
12/08/2026 Omika_S_Comm_DEV 86
Partie 2 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs
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
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 Couleur monochrome du style
Bouton droit : Monochrome <Aucun>
Ancrage <Aucun>
Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000
12/08/2026 Omika_S_Comm_DEV 87
Partie 2 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs
Champ de saisie : ONG_Menu.SC_CR.SAI_DateFinCR
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 89
Largeur interne 89
Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité)
Numéro aide 0
Opacité 100
Autorise ChangeGabarit Oui
Format HTML 0
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
12/08/2026 Omika_S_Comm_DEV 88
Partie 2 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs
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 Couleur monochrome du style
Bouton droit : Monochrome <Aucun>
Ancrage <Aucun>
Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000
Champ de saisie : ONG_Menu.SC_CR.SAI_HeureDCR
Libellé FR: Heure Début
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. Droite
Position X interne 258
Largeur interne 58
Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité)
Numéro aide 0
Opacité 100
Autorise ChangeGabarit Oui
Format HTML 0
Sécurité HTML Oui
12/08/2026 Omika_S_Comm_DEV 89
Partie 2 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs
Visualisation markdown Non
Saisie manuscrite Non
Taille de saisie 0
Masque saisie FR: HH:MM:SS
Format retour HHMMSS
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 Couleur monochrome du style
Bouton droit : Monochrome Couleur monochrome du style
Ancrage <Aucun>
Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000
12/08/2026 Omika_S_Comm_DEV 90
Partie 2 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs
Champ de saisie : ONG_Menu.SC_CR.SAI_HeureFCR
Libellé FR: Heure Fin
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. Droite
Position X interne 258
Largeur interne 58
Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité)
Numéro aide 0
Opacité 100
Autorise ChangeGabarit Oui
Format HTML 0
Sécurité HTML Oui
Visualisation markdown Non
Saisie manuscrite Non
Taille de saisie 0
Masque saisie FR: HH:MM:SS
Format retour HHMMSS
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
12/08/2026 Omika_S_Comm_DEV 91
Partie 2 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs
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 Couleur monochrome du style
Bouton droit : Monochrome Couleur monochrome du style
Ancrage <Aucun>
Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000
Champ de saisie : ONG_Menu.SC_CR.SAI_NoteClient
Libellé FR: Note Client
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 173
Largeur interne 149
Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité)
Numéro aide 0
Opacité 100
Autorise ChangeGabarit Oui
Format HTML 0
Sécurité HTML Oui
12/08/2026 Omika_S_Comm_DEV 92
Partie 2 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs
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 Couleur monochrome du style
Bouton droit : Monochrome Couleur monochrome du style
Ancrage <Aucun>
Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000
12/08/2026 Omika_S_Comm_DEV 93
Partie 2 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs
Champ de saisie : ONG_Menu.SC_CR.SAI_NoteUser
Libellé FR: Note Colb
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 14
Largeur interne 149
Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité)
Numéro aide 0
Opacité 100
Autorise ChangeGabarit Oui
Format HTML 0
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
12/08/2026 Omika_S_Comm_DEV 94
Partie 2 › Fenêtre WINDEV › FEN_Menu › 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 Couleur monochrome du style
Bouton droit : Monochrome Couleur monochrome du style
Ancrage <Aucun>
Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000
Champ de saisie : ONG_Menu.SC_CR.SAI_Reserve
Libellé FR: Reserve
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 67
Largeur interne 249
Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité)
Numéro aide 0
Opacité 100
Autorise ChangeGabarit Oui
Format HTML 0
Sécurité HTML Oui
Visualisation markdown Non
12/08/2026 Omika_S_Comm_DEV 95
Partie 2 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs
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 Couleur monochrome du style
Bouton droit : Monochrome Couleur monochrome du style
Ancrage <Aucun>
Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000
12/08/2026 Omika_S_Comm_DEV 96
Partie 2 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs
Superchamp : ONG_Menu.SC_CreationDoc
Bouton : ONG_Menu.SC_CreationDoc.BTN_AnnulerRDV
Libellé FR: Ajouter l'img dans le RDV sélectionné
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
Animer si trop long Non
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>
Image FR: D:\Projets Windev\Batik\Nouvelle Version\Service\Batik_S_Comm_DEV\Gabarits\WD\270
Mika Dark\Mika Dark_Pict_ok_16_5.png
Nb. états image 5
Nb. états fond 5
Etirement de l'image de fond <Aucun>
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 0 Taux anc. hauteur 1000
12/08/2026 Omika_S_Comm_DEV 97
Partie 2 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs
Bouton : ONG_Menu.SC_CreationDoc.BTN_Fichier
Libellé FR: &Bouton
Ordre navigation 2
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
Animer si trop long Non
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>
Image FR: D:\Projets Windev\Batik\Nouvelle Version\Service\Batik_S_Comm_DEV\Gabarits\WD\270
Mika Dark\Mika Dark_Pict_Browse_16_5.png
Nb. états image 5
Nb. états fond 1
Etirement de l'image de fond <Aucun>
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
12/08/2026 Omika_S_Comm_DEV 98
Partie 2 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs
Champ de saisie : ONG_Menu.SC_CreationDoc.SAI_Img
Libellé FR: Image
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 675
Largeur interne 276
Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité)
Numéro aide 0
Opacité 100
Autorise ChangeGabarit Oui
Format HTML 0
Sécurité HTML Oui
Visualisation markdown Non
Saisie manuscrite Non
Taille de saisie 260
Masque saisie FR: 10
Borne dans bulle Non
Borne dans texte d'indication Oui
Sélection multiple Non
Mode ellipse Chemin de fichier
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 Oui
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 Omika_S_Comm_DEV 99
Partie 2 › Fenêtre WINDEV › FEN_Menu › 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 Jamais
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 Couleur monochrome du style
Bouton droit : Monochrome Couleur monochrome du style
Ancrage Largeur
Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000
Superchamp : ONG_Menu.SC_CreationDoc1
Bouton : ONG_Menu.SC_CreationDoc1.BTN_Fichier
Libellé FR: &Bouton
Ordre navigation 2
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
Animer si trop long Non
Animée par défaut Oui
12/08/2026 Omika_S_Comm_DEV 100
Partie 2 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs
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>
Image FR: D:\Projets Windev\Batik\Nouvelle Version\Service\Batik_S_Comm_DEV\Gabarits\WD\270
Mika Dark\Mika Dark_Pict_Browse_16_5.png
Nb. états image 5
Nb. états fond 1
Etirement de l'image de fond <Aucun>
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
Bouton : ONG_Menu.SC_CreationDoc1.BTN_Rapport
Libellé FR: Ajouter rapport dans l'inter sélectionné
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
Animer si trop long Non
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>
12/08/2026 Omika_S_Comm_DEV 101
Partie 2 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs
Image FR: D:\Projets Windev\Batik\Nouvelle Version\Service\Batik_S_Comm_DEV\Gabarits\WD\270
Mika Dark\Mika Dark_Pict_ok_16_5.png
Nb. états image 5
Nb. états fond 5
Etirement de l'image de fond <Aucun>
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 0 Taux anc. hauteur 1000
Champ de saisie : ONG_Menu.SC_CreationDoc1.SAI_Rapport
Libellé FR: Rapport
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 696
Largeur interne 277
Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité)
Numéro aide 0
Opacité 100
Autorise ChangeGabarit Oui
Format HTML 0
Sécurité HTML Oui
Visualisation markdown Non
Saisie manuscrite Non
Taille de saisie 260
Masque saisie FR: 10
Borne dans bulle Non
Borne dans texte d'indication Oui
Sélection multiple Non
Mode ellipse Chemin de fichier
Lien automatique Non
Verifier l'orthographe Non
Unicode Non
12/08/2026 Omika_S_Comm_DEV 102
Partie 2 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs
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 Oui
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 Jamais
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 Couleur monochrome du style
Bouton droit : Monochrome Couleur monochrome du style
Ancrage Largeur
Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000
12/08/2026 Omika_S_Comm_DEV 103
Partie 2 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs
Superchamp : ONG_Menu.SC_MsgExt
Bouton : ONG_Menu.SC_MsgExt.BTN_MsgExt
Libellé FR: Créer message externe inter sélectionné
Ordre navigation 5
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
Animer si trop long Non
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>
Image FR: D:\Projets Windev\Batik\Nouvelle Version\Service\Batik_S_Comm_DEV\Gabarits\WD\270
Mika Dark\Mika Dark_Pict_ok_16_5.png
Nb. états image 5
Nb. états fond 5
Etirement de l'image de fond <Aucun>
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 0 Taux anc. hauteur 1000
12/08/2026 Omika_S_Comm_DEV 104
Partie 2 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs
Éditeur HTML : ONG_Menu.SC_MsgExt.EDHTML_Corps
Libellé FR: Éditeur HTML
Ordre navigation 4
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
Autorise ChangeGabarit Oui
Sécurité HTML Non
WL.Execute() dans JS Non
Verifier l'orthographe Oui
Unicode Non
Barre d'outils Oui
Alignement sur l'axe secondaire défini par le champ flexbox (auto)
Facteur de rétrécissement 0
Facteur d'agrandissement 0
Mode Minibarre Non
Texte Markdown Non
Mode menu ctx. <Aucun>
Thème sur ruban Non
Change Document Oui
Édition EMail Non
Code source Oui
Exécute JS dans document Non
Liaison sur <body> Non
Personnaliser le picto AMI Non
Indice du picto AMI 1
Ancrage Largeur
Taux anc. droite 1000 Taux anc. bas 0 Taux anc. largeur 1000 Taux anc. hauteur 1000
Champ de saisie : ONG_Menu.SC_MsgExt.SAI_AdDest
Libellé FR: Destinateur
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
12/08/2026 Omika_S_Comm_DEV 105
Partie 2 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs
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 681
Largeur interne 320
Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité)
Numéro aide 0
Opacité 100
Autorise ChangeGabarit Oui
Format HTML 0
Sécurité HTML Oui
Visualisation markdown Non
Saisie manuscrite Non
Taille de saisie 260
Masque saisie FR: 17
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) Oui
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
12/08/2026 Omika_S_Comm_DEV 106
Partie 2 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs
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 Couleur monochrome du style
Bouton droit : Monochrome Couleur monochrome du style
Ancrage <Aucun>
Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000
Champ de saisie : ONG_Menu.SC_MsgExt.SAI_AdExp
Libellé FR: Expéditeur
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 416
Largeur interne 188
Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité)
Numéro aide 0
Opacité 100
Autorise ChangeGabarit Oui
Format HTML 0
Sécurité HTML Oui
Visualisation markdown Non
Saisie manuscrite Non
Taille de saisie 260
Masque saisie FR: 17
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)
12/08/2026 Omika_S_Comm_DEV 107
Partie 2 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs
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) Oui
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 Couleur monochrome du style
Bouton droit : Monochrome Couleur monochrome du style
Ancrage <Aucun>
Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000
Champ de saisie : ONG_Menu.SC_MsgExt.SAI_Sujet
Libellé FR: Sujet
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
12/08/2026 Omika_S_Comm_DEV 108
Partie 2 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs
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 358
Largeur interne 643
Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité)
Numéro aide 0
Opacité 100
Autorise ChangeGabarit Oui
Format HTML 0
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
12/08/2026 Omika_S_Comm_DEV 109
Partie 2 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs
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 Couleur monochrome du style
Bouton droit : Monochrome Couleur monochrome du style
Ancrage <Aucun>
Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000
Superchamp : ONG_Menu.SC_NoteDoc
Bouton : ONG_Menu.SC_NoteDoc.BTN_AnnulerRDV
Libellé FR: Créer note dans le document Sélectionné
Ordre navigation 2
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
Animer si trop long Non
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>
Image FR: D:\Projets Windev\Batik\Nouvelle Version\Service\Batik_S_Comm_DEV\Gabarits\WD\270
Mika Dark\Mika Dark_Pict_ok_16_5.png
Nb. états image 5
Nb. états fond 5
12/08/2026 Omika_S_Comm_DEV 110
Partie 2 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs
Etirement de l'image de fond <Aucun>
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 0 Taux anc. hauteur 1000
Champ de saisie : ONG_Menu.SC_NoteDoc.SAI_NoteDoc
Libellé FR: Note
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 15
Largeur interne 319
Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité)
Numéro aide 0
Opacité 100
Autorise ChangeGabarit Oui
Format HTML 0
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 Omika_S_Comm_DEV 111
Partie 2 › Fenêtre WINDEV › FEN_Menu › 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 Couleur monochrome du style
Bouton droit : Monochrome Couleur monochrome du style
Ancrage <Aucun>
Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000
Superchamp : ONG_Menu.SC_NoteInter
12/08/2026 Omika_S_Comm_DEV 112
Partie 2 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs
Bouton : ONG_Menu.SC_NoteInter.BTN_AnnulerRDV
Libellé FR: Créer note dans l'inter Sélectionné
Ordre navigation 2
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
Animer si trop long Non
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>
Image FR: D:\Projets Windev\Batik\Nouvelle Version\Service\Batik_S_Comm_DEV\Gabarits\WD\270
Mika Dark\Mika Dark_Pict_ok_16_5.png
Nb. états image 5
Nb. états fond 5
Etirement de l'image de fond <Aucun>
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 0 Taux anc. hauteur 1000
12/08/2026 Omika_S_Comm_DEV 113
Partie 2 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs
Champ de saisie : ONG_Menu.SC_NoteInter.SAI_NoteInt
Libellé FR: Note
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 354
Largeur interne 319
Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité)
Numéro aide 0
Opacité 100
Autorise ChangeGabarit Oui
Format HTML 0
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
12/08/2026 Omika_S_Comm_DEV 114
Partie 2 › Fenêtre WINDEV › FEN_Menu › 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 Couleur monochrome du style
Bouton droit : Monochrome Couleur monochrome du style
Ancrage <Aucun>
Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000
Superchamp : ONG_Menu.SC_Planifier
Bouton : ONG_Menu.SC_Planifier.BTN_Planifier
Libellé FR: Planifier le RDV Sélectionné
Ordre navigation 7
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
Animer si trop long Non
Animée par défaut Oui
12/08/2026 Omika_S_Comm_DEV 115
Partie 2 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs
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>
Image FR: D:\Projets Windev\Batik\Nouvelle Version\Service\Batik_S_Comm_DEV\Gabarits\WD\270
Mika Dark\Mika Dark_Pict_ok_16_5.png
Nb. états image 5
Nb. états fond 5
Etirement de l'image de fond <Aucun>
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 0 Taux anc. hauteur 1000
Combo : ONG_Menu.SC_Planifier.CMB_StatusP
Libellé FR: Status du RDV
Ordre navigation 5
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 219
Larg. déroulée perso. Non
Hauteur ligne 20
Retrait gauche 2
Position X interne 421
Largeur interne 219
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>
12/08/2026 Omika_S_Comm_DEV 116
Partie 2 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs
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 <Aucun>
Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000
Interrupteur : ONG_Menu.SC_Planifier.INT_Superposable
Libellé FR: &Interrupteur
Valeur initiale 0
Ordre navigation 6
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 vert. Haut
Hauteur options auto Oui
12/08/2026 Omika_S_Comm_DEV 117
Partie 2 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs
Compacter option Oui
Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité)
Numéro aide 0
Opacité 100
Autorise ChangeGabarit Oui
Look Vista Non
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\Service\Batik_S_Comm_DEV\Gabarits\WD\270 Mika
Nb. états image 1
Largeur image 64
Nb. étapes animation 1
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 : ONG_Menu.SC_Planifier.SAI_DateDebP
Libellé FR: Date Début
Ordre navigation 1
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 413
Largeur interne 89
Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité)
Numéro aide 0
12/08/2026 Omika_S_Comm_DEV 118
Partie 2 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs
Opacité 100
Autorise ChangeGabarit Oui
Format HTML 0
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
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 Couleur monochrome du style
Bouton droit : Monochrome <Aucun>
12/08/2026 Omika_S_Comm_DEV 119
Partie 2 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs
Ancrage <Aucun>
Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000
Champ de saisie : ONG_Menu.SC_Planifier.SAI_DateFinP
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 413
Largeur interne 89
Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité)
Numéro aide 0
Opacité 100
Autorise ChangeGabarit Oui
Format HTML 0
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
12/08/2026 Omika_S_Comm_DEV 120
Partie 2 › Fenêtre WINDEV › FEN_Menu › 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 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 Couleur monochrome du style
Bouton droit : Monochrome <Aucun>
Ancrage <Aucun>
Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000
Champ de saisie : ONG_Menu.SC_Planifier.SAI_HeureDP
Libellé FR: Heure Début
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. Droite
Position X interne 582
Largeur interne 58
Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité)
12/08/2026 Omika_S_Comm_DEV 121
Partie 2 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs
Numéro aide 0
Opacité 100
Autorise ChangeGabarit Oui
Format HTML 0
Sécurité HTML Oui
Visualisation markdown Non
Saisie manuscrite Non
Taille de saisie 0
Masque saisie FR: HH:MM:SS
Format retour HHMMSS
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 Couleur monochrome du style
12/08/2026 Omika_S_Comm_DEV 122
Partie 2 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs
Bouton droit : Monochrome Couleur monochrome du style
Ancrage <Aucun>
Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000
Champ de saisie : ONG_Menu.SC_Planifier.SAI_HeureFP
Libellé FR: Heure Fin
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. Droite
Position X interne 582
Largeur interne 58
Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité)
Numéro aide 0
Opacité 100
Autorise ChangeGabarit Oui
Format HTML 0
Sécurité HTML Oui
Visualisation markdown Non
Saisie manuscrite Non
Taille de saisie 0
Masque saisie FR: HH:MM:SS
Format retour HHMMSS
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
12/08/2026 Omika_S_Comm_DEV 123
Partie 2 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs
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 Couleur monochrome du style
Bouton droit : Monochrome Couleur monochrome du style
Ancrage <Aucun>
Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000
Superchamp : ONG_Menu.SC_ValiderRDV
Bouton : ONG_Menu.SC_ValiderRDV.BTN_Valider1Temps
Libellé FR: Valider le temps du RDV Sélectionné
Ordre navigation 7
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>
12/08/2026 Omika_S_Comm_DEV 124
Partie 2 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs
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
Animer si trop long Non
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>
Image FR: D:\Projets Windev\Batik\Nouvelle Version\Service\Batik_S_Comm_DEV\Gabarits\WD\270
Mika Dark\Mika Dark_Pict_ok_16_5.png
Nb. états image 5
Nb. états fond 5
Etirement de l'image de fond <Aucun>
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 0 Taux anc. hauteur 1000
Combo : ONG_Menu.SC_ValiderRDV.CMB_TypeTemps
Libellé FR: Type de temps
Ordre navigation 5
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 219
Larg. déroulée perso. Non
Hauteur ligne 20
Retrait gauche 2
Position X interne 428
12/08/2026 Omika_S_Comm_DEV 125
Partie 2 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs
Largeur interne 219
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 <Aucun>
Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000
12/08/2026 Omika_S_Comm_DEV 126
Partie 2 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs
Champ de saisie : ONG_Menu.SC_ValiderRDV.SAI_DateDebT
Libellé FR: Date Début
Ordre navigation 1
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 420
Largeur interne 89
Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité)
Numéro aide 0
Opacité 100
Autorise ChangeGabarit Oui
Format HTML 0
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
12/08/2026 Omika_S_Comm_DEV 127
Partie 2 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs
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 Couleur monochrome du style
Bouton droit : Monochrome <Aucun>
Ancrage <Aucun>
Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000
Champ de saisie : ONG_Menu.SC_ValiderRDV.SAI_DateFinT
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 420
Largeur interne 89
Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité)
Numéro aide 0
Opacité 100
Autorise ChangeGabarit Oui
Format HTML 0
Sécurité HTML Oui
12/08/2026 Omika_S_Comm_DEV 128
Partie 2 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs
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
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 Couleur monochrome du style
Bouton droit : Monochrome <Aucun>
Ancrage <Aucun>
Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000
12/08/2026 Omika_S_Comm_DEV 129
Partie 2 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs
Champ de saisie : ONG_Menu.SC_ValiderRDV.SAI_HeureDT
Libellé FR: Heure Début
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. Droite
Position X interne 589
Largeur interne 58
Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité)
Numéro aide 0
Opacité 100
Autorise ChangeGabarit Oui
Format HTML 0
Sécurité HTML Oui
Visualisation markdown Non
Saisie manuscrite Non
Taille de saisie 0
Masque saisie FR: HH:MM:SS
Format retour HHMMSS
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
12/08/2026 Omika_S_Comm_DEV 130
Partie 2 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs
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 Couleur monochrome du style
Bouton droit : Monochrome Couleur monochrome du style
Ancrage <Aucun>
Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000
Champ de saisie : ONG_Menu.SC_ValiderRDV.SAI_HeureFT
Libellé FR: Heure Fin
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. Droite
Position X interne 589
Largeur interne 58
Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité)
Numéro aide 0
Opacité 100
Autorise ChangeGabarit Oui
Format HTML 0
Sécurité HTML Oui
12/08/2026 Omika_S_Comm_DEV 131
Partie 2 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs
Visualisation markdown Non
Saisie manuscrite Non
Taille de saisie 0
Masque saisie FR: HH:MM:SS
Format retour HHMMSS
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 Couleur monochrome du style
Bouton droit : Monochrome Couleur monochrome du style
Ancrage <Aucun>
Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000
12/08/2026 Omika_S_Comm_DEV 132
Partie 2 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs
Champ de saisie : ONG_Menu.SC_ValiderRDV.SAI_NoteTemps
Libellé FR: Note
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 382
Largeur interne 265
Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité)
Numéro aide 0
Opacité 100
Autorise ChangeGabarit Oui
Format HTML 0
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
12/08/2026 Omika_S_Comm_DEV 133
Partie 2 › Fenêtre WINDEV › FEN_Menu › 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 Couleur monochrome du style
Bouton droit : Monochrome Couleur monochrome du style
Ancrage <Aucun>
Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000
Table : ONG_Menu.TABLE_Document
Colonne de table : ONG_Menu.TABLE_Document.COL_IdDoc (1)
Titre FR: Id Doc
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
Format HTML 0
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
12/08/2026 Omika_S_Comm_DEV 134
Partie 2 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs
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 : ONG_Menu.TABLE_Document.COL_NomDoc (2)
Titre FR: Nom de document
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
Format HTML 0
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 Omika_S_Comm_DEV 135
Partie 2 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs
Colonne de table : ONG_Menu.TABLE_Document.COL_Chemin (3)
Titre FR: Chemin
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
Format HTML 0
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
Colonne de table : ONG_Menu.TABLE_Document.COL_IdInterDoc (4)
Titre FR: IdInterDoc
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
Format HTML 0
Taille de saisie 0
Mot de passe Non
Masque saisie FR: 99 999 999 999 999 999 999
12/08/2026 Omika_S_Comm_DEV 136
Partie 2 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs
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 : ONG_Menu.TABLE_Document.COL_GUIDDoc (5)
Titre FR: GUID
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
Format HTML 0
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 Omika_S_Comm_DEV 137
Partie 2 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs
Table : ONG_Menu.TABLE_Inter
Colonne de table : ONG_Menu.TABLE_Inter.COL_IdInter (1)
Titre FR: Id Intervention
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
Format HTML 0
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 : ONG_Menu.TABLE_Inter.COL_RefInter (2)
Titre FR: RefInter
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
12/08/2026 Omika_S_Comm_DEV 138
Partie 2 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs
Format HTML 0
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
Table : ONG_Menu.TABLE_RDV
Colonne de table : ONG_Menu.TABLE_RDV.COL_DateDeb (1)
Titre FR: Date 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
Format HTML 0
Taille de saisie 0
Mot de passe Non
Masque saisie FR: JJ/MM/AAAA HH:mm:SS
Masque affichage 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>
12/08/2026 Omika_S_Comm_DEV 139
Partie 2 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs
Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000
Colonne de table : ONG_Menu.TABLE_RDV.COL_DateFin (2)
Titre FR: Date 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
Format HTML 0
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 : ONG_Menu.TABLE_RDV.COL_Status (3)
Titre FR: Status
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
12/08/2026 Omika_S_Comm_DEV 140
Partie 2 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs
Format HTML 0
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
Colonne de table : ONG_Menu.TABLE_RDV.COL_IdInterRDV (4)
Titre FR: Id Intervention
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
Format HTML 0
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
12/08/2026 Omika_S_Comm_DEV 141
Partie 2 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs
Colonne de table : ONG_Menu.TABLE_RDV.COL_GUIDRDV (5)
Titre FR: GUID 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
Format HTML 0
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
Colonne de table : ONG_Menu.TABLE_RDV.COL_IDGroupeRDV (6)
Titre FR: Rdv Groupe
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
Format HTML 0
Taille de saisie 0
Mot de passe Non
Masque saisie FR: 99 999 999 999 999 999 999
12/08/2026 Omika_S_Comm_DEV 142
Partie 2 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs
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 : ONG_Menu.TABLE_RDV.COL_IdRdvRDV (7)
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
Format HTML 0
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
FEN_Menu
Code
Déclarations globales de FEN_Menu
12/08/2026 Omika_S_Comm_DEV 143
Partie 2 › Fenêtre WINDEV › FEN_Menu › Code
procédure FEN_Menu()
Fermeture de FEN_Menu
si OuiNon("Voulez-vous fermer l'application") = Oui alors
FinProgramme()
sinon
RepriseSaisie(FEN_Menu)
fin
FEN_Menu
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()
Initialisation de BTN_RecupDoc
// Version 1
// Description
// Bouton en validation
Clic sur BTN_RecupDoc
RecupUnDoc()
Initialisation de BTN_Valider
// Version 1
// Description
// Bouton en validation
Clic sur BTN_Valider
12/08/2026 Omika_S_Comm_DEV 144
Partie 2 › Fenêtre WINDEV › FEN_Menu › Code des champs
ValiderRDV()
Initialisation de BTN_AnnulerRDV ( SC_AnnulerRDV )
// Version 1
// Description
// Bouton en validation
Clic sur BTN_AnnulerRDV ( SC_AnnulerRDV )
AnnulerleRDV()
Initialisation de CMB_MotifAnnu ( SC_AnnulerRDV )
// Version 1
// Description
// Combo liste simple
Initialisation de CMB_OrigAnnu ( SC_AnnulerRDV )
// Version 1
// Description
// Combo liste simple
Initialisation de SAI_NoteAnnu ( SC_AnnulerRDV )
// Version 1
// Description
// Champ de saisie pour un texte simple sur une ligne
Initialisation de BTN_Valider1 ( SC_CR )
// Version 1
// Description
// Bouton en validation
Clic sur BTN_Valider1 ( SC_CR )
CreerCR()
Initialisation de CMB_TypeSig ( SC_CR )
// Version 1
// Description
// Combo liste simple
Initialisation de INT_DevisConforme ( SC_CR )
12/08/2026 Omika_S_Comm_DEV 145
Partie 2 › Fenêtre WINDEV › FEN_Menu › Code des champs
// Version 1
// Description
// Interrupteur simple 2 états
Initialisation de INT_Reserve ( SC_CR )
// Version 1
// Description
// Interrupteur simple 2 états
Initialisation de SAI_Client ( SC_CR )
// Version 1
// Description
// Champ de saisie pour un texte simple sur une ligne
Initialisation de SAI_DateDebCR ( SC_CR )
// Version 1
// Description
// Saisie d'une date avec calendrier
MoiMême=DateSys()
Initialisation de SAI_DateFinCR ( SC_CR )
// Version 1
// Description
// Saisie d'une date avec calendrier
MoiMême=DateSys()
Initialisation de SAI_HeureDCR ( SC_CR )
// Version 1
// Description
// Saisie d'une heure
MoiMême =HeureSys()
Initialisation de SAI_HeureFCR ( SC_CR )
// Version 1
// Description
// Saisie d'une heure
MoiMême =HeureSys()
Initialisation de SAI_NoteClient ( SC_CR )
// Version 1
// Description
// Champ de saisie pour un texte simple sur une ligne
Initialisation de SAI_NoteUser ( SC_CR )
// Version 1
// Description
// Champ de saisie pour un texte simple sur une ligne
Initialisation de SAI_Reserve ( SC_CR )
12/08/2026 Omika_S_Comm_DEV 146
Partie 2 › Fenêtre WINDEV › FEN_Menu › Code des champs
// Version 1
// Description
// Champ de saisie pour un texte simple sur une ligne
Initialisation de BTN_AnnulerRDV ( SC_CreationDoc )
// Version 1
// Description
// Bouton en validation
Clic sur BTN_AnnulerRDV ( SC_CreationDoc )
AjouterImage()
Clic sur BTN_Fichier ( SC_CreationDoc )
sFichier est une chaîne
// Ouvre le sélecteur de fichiers
soit sCheminOuverture = fExtraitChemin(SAI_Img,fDisque+fRépertoire)
soit sFichierInitial = fExtraitChemin(SAI_Img,fFichier+fExtension)
// ouvre le sélecteur
sFichier = fSélecteurImage(sCheminOuverture, sFichierInitial, "Sélectionner une image", ...
"JPEG (*.JPG)" + TAB + "*.jpg" + RC + "BMP (*.BMP)" + TAB + "*.gif")
si sFichier<>"" alors
SAI_Img = sFichier
ExécuteTraitement(SAI_Img,trtModification)
fin
Initialisation de SAI_Img ( SC_CreationDoc )
// Version 1
// Description
// Sélecteur de fichier
Clic sur BTN_Fichier ( SC_CreationDoc1 )
sFichier est une chaîne
// Ouvre le sélecteur de fichiers
soit sCheminOuverture = fExtraitChemin(SAI_Rapport,fDisque+fRépertoire)
soit sFichierInitial = fExtraitChemin(SAI_Rapport,fFichier+fExtension)
soit sTitre="Sélectionner un fichier..."
soit sFiltre="*.pdf"
// ouvre le sélecteur
sFichier = fSélecteur(sCheminOuverture, sFichierInitial, sTitre, sFiltre, "", fselOuvre + fselExiste)
si sFichier<>"" alors
SAI_Rapport = sFichier
ExécuteTraitement(SAI_Rapport,trtModification)
fin
Initialisation de BTN_Rapport ( SC_CreationDoc1 )
// Version 1
// Description
// Bouton en validation
Clic sur BTN_Rapport ( SC_CreationDoc1 )
12/08/2026 Omika_S_Comm_DEV 147
Partie 2 › Fenêtre WINDEV › FEN_Menu › Code des champs
RapportInter()
Initialisation de SAI_Rapport ( SC_CreationDoc1 )
// Version 1
// Description
// Sélecteur de fichier
Initialisation de BTN_MsgExt ( SC_MsgExt )
// Version 1
// Description
// Bouton en validation
Clic sur BTN_MsgExt ( SC_MsgExt )
MsgExt()
Modification de la sélection de EDHTML_Corps ( SC_MsgExt )
procédure ModificationSélection(selectionHTML est un edtHTMLSélection)
Chargement de ressources par EDHTML_Corps ( SC_MsgExt )
procédure ChargementRessources(sUrl est chaîne, nType est entier)
// nType donne le type de ressource à télécharger
// exemple : typehtmlResImage, typehtmlResScript, typehtmlResCss, typehtmlResXMLHttpRequest,
typehtmlAutre
// ATTENTION : ce traitement est appelé depuis un thread secondaire
renvoyer Vrai
Initialisation de SAI_AdDest ( SC_MsgExt )
// Version 1
// Description
// Saisie d'une adresse email avec jetons
Ajout d'un jeton dans SAI_AdDest ( SC_MsgExt )
procédure AjoutJeton (MonJeton est un Jeton)
si EmailVérifieAdresse(MonJeton..Libellé,emailValideSyntaxeStrict) <> emailAdresseValide alors
MoiMême..JetonSaisieEnCours = MonJeton..Libellé
//pour interdire l'ajout du jeton
renvoyer Faux
fin
renvoyer Vrai
Suppression d'un jeton dans SAI_AdDest ( SC_MsgExt )
procédure SuppressionJeton (MonJeton est un Jeton)
//RENVOYER Faux pour interdire la suppression du jeton
12/08/2026 Omika_S_Comm_DEV 148
Partie 2 › Fenêtre WINDEV › FEN_Menu › Code des champs
renvoyer Vrai
Clic sur un jeton de SAI_AdDest ( SC_MsgExt )
procédure ClicJeton (MonJeton est un Jeton)
Entrée en saisie d'un jeton de SAI_AdDest ( SC_MsgExt )
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 SAI_AdDest ( SC_MsgExt )
procédure ModificationJeton (MonJeton est un Jeton)
// RENVOYER Faux pour interdire la modification du jeton
renvoyer Vrai
Initialisation de SAI_AdExp ( SC_MsgExt )
// Version 1
// Description
// Saisie d'une adresse email avec jetons
Ajout d'un jeton dans SAI_AdExp ( SC_MsgExt )
procédure AjoutJeton (MonJeton est un Jeton)
si EmailVérifieAdresse(MonJeton..Libellé,emailValideSyntaxeStrict) <> emailAdresseValide alors
MoiMême..JetonSaisieEnCours = MonJeton..Libellé
//pour interdire l'ajout du jeton
renvoyer Faux
fin
renvoyer Vrai
Suppression d'un jeton dans SAI_AdExp ( SC_MsgExt )
procédure SuppressionJeton (MonJeton est un Jeton)
//RENVOYER Faux pour interdire la suppression du jeton
renvoyer Vrai
Clic sur un jeton de SAI_AdExp ( SC_MsgExt )
procédure ClicJeton (MonJeton est un Jeton)
Entrée en saisie d'un jeton de SAI_AdExp ( SC_MsgExt )
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 SAI_AdExp ( SC_MsgExt )
12/08/2026 Omika_S_Comm_DEV 149
Partie 2 › Fenêtre WINDEV › FEN_Menu › Code des champs
procédure ModificationJeton (MonJeton est un Jeton)
// RENVOYER Faux pour interdire la modification du jeton
renvoyer Vrai
Initialisation de SAI_Sujet ( SC_MsgExt )
// Version 1
// Description
// Champ de saisie pour un texte simple sur une ligne
Initialisation de BTN_AnnulerRDV ( SC_NoteDoc )
// Version 1
// Description
// Bouton en validation
Clic sur BTN_AnnulerRDV ( SC_NoteDoc )
NoteDoc()
Initialisation de SAI_NoteDoc ( SC_NoteDoc )
// Version 1
// Description
// Champ de saisie pour un texte simple sur une ligne
Initialisation de BTN_AnnulerRDV ( SC_NoteInter )
// Version 1
// Description
// Bouton en validation
Clic sur BTN_AnnulerRDV ( SC_NoteInter )
NoteInter()
Initialisation de SAI_NoteInt ( SC_NoteInter )
// Version 1
// Description
// Champ de saisie pour un texte simple sur une ligne
Initialisation de BTN_Planifier ( SC_Planifier )
// Version 1
// Description
// Bouton en validation
Clic sur BTN_Planifier ( SC_Planifier )
12/08/2026 Omika_S_Comm_DEV 150
Partie 2 › Fenêtre WINDEV › FEN_Menu › Code des champs
Plannifier()
Initialisation de CMB_StatusP ( SC_Planifier )
// Version 1
// Description
// Combo liste simple
Initialisation de INT_Superposable ( SC_Planifier )
// Version 1
// Description
// Interrupteur simple 2 états
Initialisation de SAI_DateDebP ( SC_Planifier )
// Version 1
// Description
// Saisie d'une date avec calendrier
MoiMême=DateSys()
Initialisation de SAI_DateFinP ( SC_Planifier )
// Version 1
// Description
// Saisie d'une date avec calendrier
MoiMême=DateSys()
Initialisation de SAI_HeureDP ( SC_Planifier )
// Version 1
// Description
// Saisie d'une heure
MoiMême =HeureSys()
Initialisation de SAI_HeureFP ( SC_Planifier )
// Version 1
// Description
// Saisie d'une heure
MoiMême =HeureSys()
Initialisation de BTN_Valider1Temps ( SC_ValiderRDV )
// Version 1
// Description
// Bouton en validation
Clic sur BTN_Valider1Temps ( SC_ValiderRDV )
ValiderTemps()
Initialisation de CMB_TypeTemps ( SC_ValiderRDV )
12/08/2026 Omika_S_Comm_DEV 151
Partie 2 › Fenêtre WINDEV › FEN_Menu › Code des champs
// Version 1
// Description
// Combo liste simple
Initialisation de SAI_DateDebT ( SC_ValiderRDV )
// Version 1
// Description
// Saisie d'une date avec calendrier
MoiMême=DateSys()
Initialisation de SAI_DateFinT ( SC_ValiderRDV )
// Version 1
// Description
// Saisie d'une date avec calendrier
MoiMême=DateSys()
Initialisation de SAI_HeureDT ( SC_ValiderRDV )
// Version 1
// Description
// Saisie d'une heure
MoiMême =HeureSys()
Initialisation de SAI_HeureFT ( SC_ValiderRDV )
// Version 1
// Description
// Saisie d'une heure
MoiMême =HeureSys()
Initialisation de SAI_NoteTemps ( SC_ValiderRDV )
// Version 1
// Description
// Champ de saisie pour un texte simple sur une ligne
Initialisation de SEL_test
// Version 1
// Description
// Sélecteur simple en lignes sur 2 colonnes
A chaque modification de SEL_test
nPos est un entier = Position("BATIK.01_BLD","_")
si nPos > 1 alors
nPos -= 1
fin
saMp est une chaîne ANSI = Mdp3+"!"+Gauche("BATIK.01_BLD",nPos)
bufMDP est un Buffer =Crypte("BATIK.01_BLD",LIB_Service.gsCleMdp,crypteRC516,encodePCS)
saPass est une chaîne ANSI = BufferVersHexa(HashChaîne(HA_MD5_128,"BATIK.01_BLD"),SansRegroupement)
12/08/2026 Omika_S_Comm_DEV 152
Partie 2 › Fenêtre WINDEV › FEN_Menu › Code des champs
sPassSysteme est une chaîne ANSI = BufferVersHexa(HashChaîne(HA_MD5_128,Mdp3 + "BATIK.01_BLD"),
SansRegroupement)
FEN_Menu
Procédures
Procédure locale AjouterImage
procédure AjouterImage()
HRAZ(LIB_Service.gsdMobReception)
stDoc est un ST_DOC
bufInfo est un Buffer
bufImg est un Buffer
si TABLE_RDV > 0 _et_ COL_IdInterRDV[TABLE_RDV] > 0 alors
stDoc.saType = "IMG"
stDoc.saNom = fExtraitChemin(SAI_Img,fFichier+fExtension)
stDoc.nInterID = COL_IdInterRDV[TABLE_RDV]
stDoc.saDateCreat= DateHeureSys()
stDoc.nIdUser = LIB_DEBUG.gID.nIdUser
stDoc.saDocGUID = DonneGUID(guidBrut)
bufImg = fChargeBuffer(SAI_Img)
Sérialise(stDoc,bufInfo,psdJSON)
si SEL_test alors
LIB_Service.gsdMobReception.MR_Buffer = bufImg
DocEcrit(bufInfo,LIB_Service.gsdMobReception)
sinon
si pas AjouterMobReception(cCMD_DocEcrit,bufInfo,bufImg) alors
renvoyer Faux
fin
fin
HRAZ(LIB_Service.gsdMobReception)
ToastAffiche("Traitement terminé")
sinon
Erreur("Un rdv avec un id d'intervention est obligatoire")
fin
Procédure locale AjouterMobReception
procédure AjouterMobReception(saCMD est une chaîne ANSI, bufJson est un Buffer, bufDoc est un Buffer =
"")
HRAZ(LIB_Service.gsdTOSRV)
LIB_Service.gsdTOSRV.TS_CMD = saCMD
LIB_Service.gsdTOSRV.TS_Date = DateHeureSys()
LIB_Service.gsdTOSRV.TS_JSON = bufJson
LIB_Service.gsdTOSRV.TS_Lu = 0
LIB_Service.gsdTOSRV.TS_Mobile= LIB_DEBUG.gID.saIdMob
LIB_Service.gsdTOSRV.TS_Buffer= bufDoc
si pas HAjoute(LIB_Service.gsdTOSRV) alors
12/08/2026 Omika_S_Comm_DEV 153
Partie 2 › Fenêtre WINDEV › FEN_Menu › Procédures
Erreur(HErreur())
renvoyer Faux
sinon
renvoyer Vrai
fin
Procédure locale AnnulerleRDV
procédure AnnulerleRDV()
HRAZ(LIB_Service.gsdMobReception)
stARDV est un ST_Annulations_RDV
stRdv est un ST_Annulation_RDV
bufInfo est un Buffer
si TABLE_RDV > 0 _et_ COL_GUIDRDV[TABLE_RDV] <> "" alors
stRdv.nMotif = CMB_MotifAnnu
stRdv.nOrigine = CMB_OrigAnnu
stRdv.nIDGroupeRDV = COL_IDGroupeRDV[TABLE_RDV]
stRdv.saGUID_RDV = COL_GUIDRDV[TABLE_RDV]
stRdv.saCommentaire = SAI_NoteAnnu
TableauAjoute(stARDV.tbAnnulations,stRdv)
Sérialise(stARDV,bufInfo,psdJSON)
si SEL_test alors
AnnulerRDV(bufInfo,LIB_Service.gsdMobReception)
sinon
si pas AjouterMobReception(cCMD_RDVAnnulation,bufInfo) alors
renvoyer Faux
fin
fin
HRAZ(LIB_Service.gsdMobReception)
ToastAffiche("Traitement terminé")
sinon
Erreur("Un rdv avec un GUID est obligatoire")
fin
Procédure locale CreerCR
procédure CreerCR()
HRAZ(LIB_Service.gsdMobReception)
stCR est un ST_CR
bufInfo est un Buffer
dhDateDeb est une DateHeure
dhDateFin est une DateHeure
bufSig1 est un Buffer
bufSig2 est un Buffer
si TABLE_RDV > 0 _et_ COL_GUIDRDV[TABLE_RDV] <> "" _et_ LIB_DEBUG.gnIdColbEnCours > 0 alors
stCR.saGuidRDV = COL_GUIDRDV[TABLE_RDV]
stCR.nIdInter = COL_IdInterRDV[TABLE_RDV]
stCR.saGuidCR = DonneGUID(guidBrut)
dhDateDeb..PartieDate = SAI_DateDebCR
dhDateDeb..PartieHeure = SAI_HeureDCR
dhDateFin..PartieDate = SAI_DateFinCR
dhDateFin..PartieHeure = SAI_HeureFCR
stCR.saDebut = dhDateDeb
stCR.saFin = dhDateFin
stCR.saDateSignature = DateHeureSys()
stCR.saNoteCollab = SAI_NoteUser
stCR.saNoteClient = SAI_NoteClient
stCR.saNomCollaborateur = CMB_Users..ValeurAffichée
12/08/2026 Omika_S_Comm_DEV 154
Partie 2 › Fenêtre WINDEV › FEN_Menu › Procédures
stCR.saSignataire = SAI_Client
stCR.nIdCollab = LIB_DEBUG.gnIdColbEnCours
stCR.bDevisConforme = INT_DevisConforme
stCR.bReserve = INT_Reserve
stCR.saReserveCommentaire = SAI_Reserve
stCR.nIdUser = LIB_DEBUG.gID.nIdUser
stCR.nRoleClient = CMB_TypeSig
bufSig1 = fChargeBuffer(IMG_Sign1)
bufSig2 = fChargeBuffer(IMG_Sign2)
si SEL_test alors
HRAZ(LIB_Service.gsdMobReception)
stCR.bTech = Vrai
LIB_Service.gsdMobReception.MR_Buffer = bufSig1
Sérialise(stCR,bufInfo,psdJSON)
CompteRenduEcrit(bufInfo,LIB_Service.gsdMobReception)
stCR.bTech = Faux
HRAZ(LIB_Service.gsdMobReception)
LIB_Service.gsdMobReception.MR_Buffer = bufSig2
Sérialise(stCR,bufInfo,psdJSON)
CompteRenduEcrit(bufInfo,LIB_Service.gsdMobReception)
sinon
stCR.bTech = Vrai
Sérialise(stCR,bufInfo,psdJSON)
si pas AjouterMobReception(cCMD_CREcrit_V2,bufInfo,bufSig1) alors
renvoyer Faux
fin
stCR.bTech = Faux
Sérialise(stCR,bufInfo,psdJSON)
si pas AjouterMobReception(cCMD_CREcrit_V2,bufInfo,bufSig2) alors
renvoyer Faux
fin
fin
HRAZ(LIB_Service.gsdMobReception)
ToastAffiche("Traitement terminé")
sinon
Erreur("Un rdv avec un GUID est obligatoire")
fin
Procédure locale MsgExt
procédure MsgExt()
HRAZ(LIB_Service.gsdMobReception)
stMSG est un ST_MsgExterneMail
bufInfo est un Buffer
si TABLE_Inter > 0 _et_ COL_IdInter[TABLE_Inter] > 0 alors
stMSG.nIdInter = COL_IdInter[TABLE_Inter]
stMSG.saAdrExp = Remplace(SAI_AdExp,RC,";")
stMSG.saDest = Remplace(SAI_AdDest,RC,";")
stMSG.saSujet = SAI_Sujet
stMSG.bufCorp = EDHTML_Corps
stMSG.bEnvoye = Vrai
stMSG.nIdUser = LIB_DEBUG.gID.nIdUser
stMSG.saGUID = DonneGUID(guidBrut)
Sérialise(stMSG,bufInfo,psdJSON)
si SEL_test alors
MessageExterne(bufInfo,LIB_Service.gsdMobReception)
sinon
si pas AjouterMobReception(cCMD_MsgExtEcrit,bufInfo) alors
renvoyer Faux
fin
fin
12/08/2026 Omika_S_Comm_DEV 155
Partie 2 › Fenêtre WINDEV › FEN_Menu › Procédures
HRAZ(LIB_Service.gsdMobReception)
ToastAffiche("Traitement terminé")
sinon
Erreur("Un rdv avec un id d'intervention est obligatoire")
fin
Procédure locale NoteDoc
procédure NoteDoc()
HRAZ(LIB_Service.gsdMobReception)
stDN est un ST_DOCNOTE
bufInfo est un Buffer
si TABLE_Document > 0 _et_ COL_GUIDDoc[TABLE_Document] <> "" alors
stDN.saNote = SAI_NoteDoc
stDN.saDate = DateHeureSys()
stDN.nAuteur = LIB_DEBUG.gID.nIdUser
stDN.saGuid = DonneGUID(guidBrut)
stDN.saGuidDoc = COL_GUIDDoc[TABLE_Inter]
Sérialise(stDN,bufInfo,psdJSON)
HRAZ(LIB_Service.gsdMobReception)
si SEL_test alors
DocNoteEcrit(bufInfo,LIB_Service.gsdMobReception)
sinon
si pas AjouterMobReception(cCMD_DocNoteEcrit,bufInfo) alors
renvoyer Faux
fin
fin
HRAZ(LIB_Service.gsdMobReception)
ToastAffiche("Traitement terminé")
sinon
Erreur("Un document avec un GUID est obligatoire")
fin
Procédure locale NoteInter
procédure NoteInter()
HRAZ(LIB_Service.gsdMobReception)
tb est un tableau de ST_MSGINTERNE
bufInfo est un Buffer
stUnMsg est un ST_MSGINTERNE
si TABLE_Inter > 0 _et_ COL_IdInter[TABLE_Inter] > 0 alors
stUnMsg.sAGuid = DonneGUID(guidBrut)
stUnMsg.nIdInter = COL_IdInter[TABLE_Inter]
stUnMsg.sANote = SAI_NoteInt
stUnMsg.nIdUser = LIB_DEBUG.gID.nIdUser
stUnMsg.sADate = DateHeureSys()
TableauAjoute(tb,stUnMsg)
Sérialise(tb,bufInfo,psdJSON)
HRAZ(LIB_Service.gsdMobReception)
si SEL_test alors
NoteEcrit(bufInfo,LIB_Service.gsdMobReception)
sinon
si pas AjouterMobReception(cCMD_NoteEcrit,bufInfo) alors
renvoyer Faux
fin
fin
12/08/2026 Omika_S_Comm_DEV 156
Partie 2 › Fenêtre WINDEV › FEN_Menu › Procédures
HRAZ(LIB_Service.gsdMobReception)
ToastAffiche("Traitement terminé")
sinon
Erreur("Une intervention est obligatoire")
fin
Procédure locale Plannifier
procédure Plannifier()
HRAZ(LIB_Service.gsdMobReception)
stRDV est un ST_RDV
bufInfo est un Buffer
dhDateDeb est une DateHeure
dhDateFin est une DateHeure
si TABLE_RDV > 0 _et_ COL_GUIDRDV[TABLE_RDV] <> "" alors
stRDV.nPKID = COL_IdRdvRDV[TABLE_RDV]
stRDV.saGUID = COL_GUIDRDV[TABLE_RDV]
stRDV.nIDStatut = CMB_StatusP
dhDateDeb..PartieDate = SAI_DateDebP
dhDateDeb..PartieHeure = SAI_HeureDP
dhDateFin..PartieDate = SAI_DateFinP
dhDateFin..PartieHeure = SAI_HeureFP
stRDV.saDateDebut = dhDateDeb
stRDV.saDateFin = dhDateFin
stRDV.bSuperposable = INT_Superposable
Sérialise(stRDV,bufInfo,psdJSON)
HRAZ(LIB_Service.gsdMobReception)
si SEL_test alors
RdvEcrit(bufInfo,LIB_Service.gsdMobReception)
sinon
si pas AjouterMobReception(cCMD_RdvAPlanifierEcrit,bufInfo) alors
renvoyer Faux
fin
fin
HRAZ(LIB_Service.gsdMobReception)
ToastAffiche("Traitement terminé")
sinon
Erreur("Un rdv avec un GUID est obligatoire")
fin
Procédure locale RapportInter
procédure RapportInter()
HRAZ(LIB_Service.gsdMobReception)
stDoc est un ST_DOC
bufInfo est un Buffer
bufImg est un Buffer
si TABLE_Inter > 0 _et_ COL_IdInter[TABLE_Inter] > 0 alors
stDoc.saType = "PDF_RP"
stDoc.saNom = fExtraitChemin(SAI_Rapport,fFichier+fExtension)
stDoc.nInterID = COL_IdInter[TABLE_Inter]
stDoc.saDateCreat= DateHeureSys()
stDoc.nIdUser = LIB_DEBUG.gID.nIdUser
stDoc.saDocGUID = DonneGUID(guidBrut)
bufImg = fChargeBuffer(SAI_Img)
Sérialise(stDoc,bufInfo,psdJSON)
12/08/2026 Omika_S_Comm_DEV 157
Partie 2 › Fenêtre WINDEV › FEN_Menu › Procédures
si SEL_test alors
LIB_Service.gsdMobReception.MR_Buffer = bufImg
DocEcrit(bufInfo,LIB_Service.gsdMobReception)
sinon
si pas AjouterMobReception(cCMD_DocEcrit,bufInfo,bufImg) alors
renvoyer Faux
fin
fin
HRAZ(LIB_Service.gsdMobReception)
ToastAffiche("Traitement terminé")
sinon
Erreur("Un rdv avec un id d'intervention est obligatoire")
fin
Procédure locale RecupUnDoc
procédure RecupUnDoc()
HRAZ(LIB_Service.gsdMobReception)
stLst est un ST_LISTE_IDDOC
bufInfo est un Buffer
si TABLE_Document > 0 _et_ COL_IdDoc[TABLE_Document] > 0 alors
TableauAjoute(stLst.tblIdDoc,COL_IdDoc[TABLE_Document])
Sérialise(stLst,bufInfo,psdJSON)
HRAZ(LIB_Service.gsdMobReception)
si SEL_test alors
DemandeListeDoc(bufInfo,LIB_Service.gsdMobReception)
si LIB_Service.gsdTOMOB.TM_Buffer <> "" alors
IMG_Buffer = LIB_Service.gsdTOMOB.TM_Buffer
sinon
IMG_Buffer = IMG_Vide
fin
si LIB_Service.gsdTOMOB.IDTOMOB > 0 alors
HSupprime(LIB_Service.gsdTOMOB)
fin
sinon
si pas AjouterMobReception(cCMD_ListeDocDmd,bufInfo) alors
renvoyer Faux
fin
fin
HRAZ(LIB_Service.gsdMobReception)
ToastAffiche("Traitement terminé")
sinon
Erreur("Un document avec un ID est obligatoire")
fin
Procédure locale SelectUser
procédure SelectUser()
si CMB_Users <> Null _et_ LIB_DEBUG.gtbaListeUsers[CMB_Users]..Existe = Vrai alors
LIB_DEBUG.gID = LIB_DEBUG.gtbaListeUsers[CMB_Users]
ONG_Menu..Visible = Vrai
fin
TableSupprimeTout(TABLE_Document)
TableSupprimeTout(TABLE_Inter)
TableSupprimeTout(TABLE_RDV)
12/08/2026 Omika_S_Comm_DEV 158
Partie 2 › Fenêtre WINDEV › FEN_Menu › Procédures
saReqRdv est une chaîne ANSI = [
SELECT RVC_PKID, RVC_DateDeb, RVC_DateFin,RVC_CleStatut, RDV_Collaborateur.GUID, RV_IdInter,
RV_PKID,RV_Groupe, CO_PKID FROM RDV_Collaborateur
INNER JOIN RDV_Planning ON RDV_Planning.GUID = RVC_GUID_RDV
INNER JOIN Utilisateur ON UT_PKID = {p_IdUser}
INNER JOIN Collaborateur ON Collaborateur.CO_PKID = UT_IDCollaborateur
WHERE RVC_GUID_Colb = Collaborateur.GUID AND RDV_Planning.Archive = 0 AND RDV_Collaborateur.Archive
= 0
AND RVC_CleStatut <> '{p_status}' ORDER BY RVC_DateDeb DESC LIMIT 50
]
saReqRdv = Remplace(saReqRdv,"{p_IdUser}",LIB_DEBUG.gID.nIdUser)
saReqRdv = Remplace(saReqRdv,"{p_status}",cCle_RDVFait)
sdRDV est une Source de Données
sdInter est une Source de Données
sdDocs est une Source de Données
i est un entier
si HExécuteRequêteSQL(sdRDV,LIB_Service.gcnxAPart,hRequêteDéfaut,saReqRdv) alors
pour tout sdRDV
si sdRDV.CO_PKID > 0 alors
LIB_DEBUG.gnIdColbEnCours = sdRDV.CO_PKID
fin
i = TableAjouteLigne(TABLE_RDV)
COL_DateDeb[i] = sdRDV.RVC_DateDeb
COL_DateFin[i] = sdRDV.RVC_DateFin
COL_Status[i] = sdRDV.RVC_CleStatut
COL_IdInterRDV[i] = sdRDV.RV_IdInter
COL_GUIDRDV[i] = sdRDV.GUID
COL_IdRdvRDV[i] = sdRDV.RVC_PKID
si sdRDV.RV_Groupe alors
COL_IDGroupeRDV[i] = sdRDV.RV_PKID
fin
fin
sinon
Erreur("ERREUR :" + HErreurInfo(hErrComplet),cTrace_Exception)
fin
saReqInter est une chaîne ANSI = [
SELECT IN_PKID,IN_RefInterne FROM Intervention ORDER BY ModifDate DESC LIMIT 50
]
si HExécuteRequêteSQL(sdInter,LIB_Service.gcnxAPart,hRequêteDéfaut,saReqInter) alors
pour tout sdInter
i = TableAjouteLigne(TABLE_Inter)
COL_IdInter[i] = sdInter.IN_PKID
COL_RefInter[i] = sdInter.IN_RefInterne
fin
sinon
Erreur("ERREUR :" + HErreurInfo(hErrComplet),cTrace_Exception)
fin
saReqDoc est une chaîne ANSI = [
SELECT DC_PKID, DC_IDIntervention,DC_Nom,DC_Chemin, GUID FROM Document WHERE DC_CleCategorie =
'T.DOC.PHOT' ORDER BY ModifDate DESC LIMIT 50
]
si HExécuteRequêteSQL(sdDocs,LIB_Service.gcnxAPart,hRequêteDéfaut,saReqDoc) alors
pour tout sdDocs
i = TableAjouteLigne(TABLE_Document)
COL_IdDoc[i] = sdDocs.DC_PKID
COL_NomDoc[i] = sdDocs.DC_Nom
COL_Chemin[i] = sdDocs.DC_Chemin
12/08/2026 Omika_S_Comm_DEV 159
Partie 2 › Fenêtre WINDEV › FEN_Menu › Procédures
COL_IdInterDoc[i]= sdDocs.DC_IDIntervention
COL_GUIDDoc[i] = sdDocs.GUID
fin
sinon
Erreur("ERREUR :" + HErreurInfo(hErrComplet),cTrace_Exception)
fin
ListeSupprimeTout(CMB_MotifAnnu)
ListeSupprimeTout(CMB_OrigAnnu)
ListeSupprimeTout(CMB_TypeSig)
ListeSupprimeTout(CMB_StatusP)
ListeSupprimeTout(CMB_TypeTemps)
saReqParam est une chaîne ANSI = [
SELECT * FROM ParametreMetier WHERE PA_Categorie IN
]
saReqParam +="('"+cParam_TypeSignCR+"', '"+cParam_StatusRDV+"', '"+cParam_OrigAnnuRDV+"','"+
cParam_MotifAnnuRDV+"','"+cparam_TypeTemps+"')"
sdParam est une Source de Données
si HExécuteRequêteSQL(sdParam,LIB_Service.gcnxAPart,hRequêteDéfaut,saReqParam) alors
pour tout sdParam
selon sdParam.PA_Categorie
cas cParam_TypeSignCR
ListeAjoute(CMB_TypeSig,sdParam.PA_Libelle+gValeurMémorisée(sdParam.PA_PKID))
cas cParam_StatusRDV
ListeAjoute(CMB_StatusP,sdParam.PA_Libelle+gValeurMémorisée(sdParam.PA_PKID))
cas cParam_OrigAnnuRDV
ListeAjoute(CMB_OrigAnnu,sdParam.PA_Libelle+gValeurMémorisée(sdParam.PA_PKID))
cas cParam_MotifAnnuRDV
ListeAjoute(CMB_MotifAnnu,sdParam.PA_Libelle+gValeurMémorisée(sdParam.PA_PKID))
cas cparam_TypeTemps
ListeAjoute(CMB_TypeTemps,sdParam.PA_Libelle+gValeurMémorisée(sdParam.PA_PKID))
autre cas
fin
fin
sinon
Erreur("ERREUR :" + HErreurInfo(hErrComplet),cTrace_Exception)
fin
Procédure locale ValiderRDV
procédure ValiderRDV()
HRAZ(LIB_Service.gsdMobReception)
stVR est un ST_VALIDATION_RDV
bufInfo est un Buffer
si TABLE_RDV > 0 _et_ COL_GUIDRDV[TABLE_RDV] <> "" alors
stVR.saGuid = COL_GUIDRDV[TABLE_RDV]
Sérialise(stVR,bufInfo,psdJSON)
si SEL_test alors
ValidationRDV(bufInfo,LIB_Service.gsdMobReception)
sinon
si pas AjouterMobReception(cCMD_RDVValidation,bufInfo) alors
renvoyer Faux
fin
fin
HRAZ(LIB_Service.gsdMobReception)
ToastAffiche("Traitement terminé")
sinon
Erreur("Un rdv avec un GUID est obligatoire")
fin
Procédure locale ValiderTemps
12/08/2026 Omika_S_Comm_DEV 160
Partie 2 › Fenêtre WINDEV › FEN_Menu › Procédures
procédure ValiderTemps()
HRAZ(LIB_Service.gsdMobReception)
stTpsPas est un ST_TEMPS_PASSE_RDV_V2
stTemp est un ST_TEMPS_PASSE_V2
dhDateDeb est une DateHeure
dhDateFin est une DateHeure
bufInfo est un Buffer
si TABLE_RDV > 0 _et_ COL_GUIDRDV[TABLE_RDV] <> "" _et_ LIB_DEBUG.gnIdColbEnCours > 0 alors
stTpsPas.saGuidRdv = COL_GUIDRDV[TABLE_RDV]
stTpsPas.nIdIntervention = COL_IdInterRDV[TABLE_RDV]
stTemp.saGuid = DonneGUID(guidBrut)
stTemp.nIdCollab = LIB_DEBUG.gnIdColbEnCours
dhDateDeb..PartieDate = SAI_DateDebT
dhDateDeb..PartieHeure = SAI_HeureDT
dhDateFin..PartieDate = SAI_DateFinT
dhDateFin..PartieHeure = SAI_HeureFT
stTemp.saHeureDebut = dhDateDeb
stTemp.saHeureFin = dhDateFin
stTemp.nIdTypeTps = CMB_TypeTemps
stTemp.saNote = SAI_NoteTemps
TableauAjoute(stTpsPas.tblTemps,stTemp)
Sérialise(stTpsPas,bufInfo,psdJSON)
si SEL_test alors
TempsEcrit(bufInfo,LIB_Service.gsdMobReception)
sinon
si pas AjouterMobReception(cCMD_TempsEcrit_V2,bufInfo) alors
renvoyer Faux
fin
fin
HRAZ(LIB_Service.gsdMobReception)
ToastAffiche("Traitement terminé")
sinon
Erreur("Un rdv avec un GUID est obligatoire")
fin
12/08/2026 Omika_S_Comm_DEV 161
Partie 3 › Collection de procédures
Partie 3
Collection de
procédures
| 12/08/2026 | Omika_S_Comm_DEV | 162 |
| ---------- | ---------------- | --- |
Partie 3 › Collection de procédures
COL_GestionDuLog
Code
Déclaration de COL_GestionDuLog
constant
cTrace_Info =0
cTrace_Debug=1
cTrace_Exception=2
cParam_FichierLog ="FICHIER_LOG"
fin
gnNiveauTraceCourante est un entier
gbLogOuvert est un booléen
gsuRepLog est une chaîne Unicode
gsuFichierLogCourant est une chaîne Unicode
Terminaison de COL_GestionDuLog
Procédure globale ChangeNiveauTraceCourante
procédure ChangeNiveauTraceCourante(local nNiveau est un entier)
si nNiveau dans (0,1,2) alors
gnNiveauTraceCourante = nNiveau
TraceLog("Niveau de Trace : " + nNiveau,cTrace_Exception)
fin
Procédure globale EcritDansMobLog
procédure EcritDansMobLog(dh est une DateHeure,saMSG est une chaîne ANSI,nNiveauTrace est un entier)
si LIB_Service.gbConnexionOuverte alors
HExécuteRequêteSQL("TRACE",LIB_Service.gcnxAPart,
"INSERT INTO MobLog (ML_DateCreat,ML_Message,ML_Niveau) VALUES ('" + dh + "','" + Remplace(
Remplace( saMSG ,"'","''"),"\","\\") +"'," + nNiveauTrace +")")
fin
Procédure globale InitialiseFichierLog
procédure InitialiseFichierLog()
quand exception dans
gsuRepLog=gsuRepData+["\"]+"Log"
suFicLog est une chaîne Unicode = ComplèteRep(gsuRepLog) + "LogSync_" + DateSys()+".txt"
si suFicLog<>gsuFichierLogCourant alors
fRepCrée(gsuRepLog)
gsuFichierLogCourant=suFicLog
12/08/2026 Omika_S_Comm_DEV 163
Partie 3 › Collection de procédures › COL_GestionDuLog › Code
TraceDébut(trFichier,suFicLog )
gbLogOuvert=Vrai
TraceLog("==========================================================================",
cTrace_Debug)
TraceLog("DEMARRAGE DU SERVICE " + ExeInfo(exeNom),cTrace_Debug )
TraceLog("Version : " + ExeInfo(exeVersion),cTrace_Debug )
TraceLog("PID : " + ExeDonnePID(),cTrace_Debug)
TraceLog("Poste : " + NetNomMachine,cTrace_Debug)
TraceLog("User : " + NetworkUser() ,cTrace_Debug)
fin
faire
ServiceEcritEvénementJournal("L'initialisation du fichier de Log n'a pas pu se faire "+ RC +
ExceptionInfo(errComplet),ejErreur,1)
fin
renvoyer suFicLog
Procédure globale PurgeDesFichiersLog
procédure PurgeDesFichiersLog(suRepertoireLog est une chaîne Unicode=gsuRepLog)
quand exception dans
nNBJoursConservation est un entier = ParametreLit(cParam_NbJourLog,30)
suLst est une chaîne Unicode =fListeFichier(suRepertoireLog +"LogSync_*.txt",frNonRécursif+
fCheminUnicode)
suNomCompletFic est une chaîne Unicode
suNomFic est une chaîne Unicode
d est une Date=DateSys()
d..Jour -= nNBJoursConservation
saMax est une chaîne Unicode=d
pour toute chaîne suNomCompletFic de suLst séparée par RC
suNomFic=fExtraitChemin(suNomCompletFic,fFichier)
si suNomFic[[5 à 13]]<saMax alors
fSupprime(suNomCompletFic,frLectureSeule)
fin
fin
faire
TraceLog("ERREUR dans PurgeDesFichiersLog : " + ExceptionInfo(errComplet),cTrace_Exception)
fin
Procédure globale TraceLog
procédure TraceLog(local saMSG est une chaîne ANSI, nNiveauTrace est un entier=cTrace_Info)
SectionCritiqueDébut("TRACE")
si nNiveauTrace >= gnNiveauTraceCourante alors
dh est une DateHeure = DateHeureSys()
saTimeStamp est une chaîne ANSI = DateVersChaîne(dh,"JJ/MM/AA HH:mm:SS")
quand exception dans
si gbLogOuvert alors WL.Trace(saTimeStamp + " - "+ saMSG)
EcritDansMobLog(dh,saMSG,nNiveauTrace)
<compile si Configuration="TestUI32">
si nNiveauTrace dans(cTrace_Exception,cTrace_Debug) alors
Erreur(saTimeStamp + " - "+ saMSG)
fin
<fin>
12/08/2026 Omika_S_Comm_DEV 164
Partie 3 › Collection de procédures › COL_GestionDuLog › Code
faire
ServiceEcritEvénementJournal("L'insertion de la trace n'a pas pu se faire "+RC+saMSG+ RC +
ExceptionInfo(errComplet),ejErreur,1)
si gbLogOuvert alors WL.Trace(saTimeStamp + " - "+ ExceptionInfo(errComplet))
fin
fin
SectionCritiqueFin("TRACE")
12/08/2026 Omika_S_Comm_DEV 165
Partie 3 › Collection de procédures › LIB_Globales › Code
LIB_Globales
Code
Déclaration de LIB_Globales
constant
cRep_Ok ="0"
cErr ="2"
Mdp1 = "62"
Mdp2 = "Langénieux"
Mdp3 = "eBdFfDxVfB"
cIniSectionComm = "SERVICE COMM"
cIniSectionMonitor = "SERVICE MONITOR"
cIniCleActivite = "ACTIVITE"
cIniCleTempo = "TEMPO"
cIniCleCommande = "COMMANDE"
cUserServiceMobile ="ServiceMobile"
cDateHeureVide ="00000000000000000"
cParam_CloudServeur ="CLOUD_SERVEUR"
cParam_CloudPortData ="CLOUD_PORT_DATA"
cParam_CloudPortReplication ="CLOUD_PORT_REPLIC"
cParam_CloudCle ="CLOUD_CLE"
cParam_CloudNomBase ="CLOUD_NOMBASE"
cParam_CloudIdServeur ="CLOUD_ID_SERVEUR"
cParam_CloudPriorite ="CLOUD_PRIORITE"
cParam_LocalPortReplication ="LOCAL_PORT_REPLIC"
cParam_LocalIdServeur ="LOCAL_ID_SERVEUR"
cParam_LocalPriorite ="LOCAL_PRIORITE"
cParam_RepLog ="REP_LOG"
cParam_ServiceCommVersion ="SERVICE_COMM_VERSION"
cParam_WebServiceClient ="WEBSERVICE_CLIENT"
cParam_CodeClient ="CODE_CLIENT"
cParam_ServiceInit ="SERVICE_INIT"
cParam_ServiceActivite ="SERVICE_ACTIVITE"
cDefaut_NomBaseTrans ="ARTPART.01_BLS"
cDefaut_PortReplication ="4996"
cDefaut_ReplicCle ="marakech"
cDefaut_CLoudServeurID ="7"
cDefaut_CloudPriorite ="7"
cDefaut_LocalServeurID ="1"
cDefaut_LocalPriorite ="1"
fin
12/08/2026 Omika_S_Comm_DEV 166
Partie 3 › Collection de procédures › LIB_ParametrageMobiles › Code
LIB_ParametrageMobiles
Code
Déclaration de LIB_ParametrageMobiles
//Identique à la structure de l'objet cCOMPTE du projet Mobile
ST_COMPTE est une Structure
nID_Clb est un entier sur 8 octets
nID_User est un entier sur 8 octets
saNom est une chaîne ANSI
saPren est une chaîne ANSI
nGrpUser est un entier
saToken est une chaîne ANSI
saSrv est une chaîne ANSI
saPort est une chaîne ANSI
fin
12/08/2026 Omika_S_Comm_DEV 167
Partie 3 › Collection de procédures › LIB_Service › Code
LIB_Service
Code
Déclaration de LIB_Service
constant
RepertoireDocument = "CHEMIN_REPERTOIRE_BASE_DOCUMENTS"
FormatRepDocument = "FORMAT_REPERTOIRE_DOCUMENTS"
// FormatRepClient = "FORMAT_REPERTOIRE_CLIENT"
// FormatRepIntervention= "FORMAT_REPERTOIRE_INTERVENTION"
// RepertoireRecup = "REPERTOIRE_DE_RECUPERATION"
cParam_NbJourLog ="SERVICE_NBJOURS_LOG"
//Nom du service Monitor
cServiceMonitor ="Isis Service Monitor"
//Commandes système
cDST_System = "SYSTEM" //Destinataire des messages system
cCMD_ServiceActif = "WOUF"
cCMD_ServiceInfo = "INFO"
cCMD_BUG = "BUG"
cCMD_MajSComm = "S.COM.MAJ" //Mise à jour du service de comm
cCMD_MajSMonitor = "S.MON.MAJ" //Mise à jour du service Monitor
cCMD_PauseEtQuit = "S.COM.PEQ"
//Arrêt du service après un délai d'inactivité. Le temps d'une mise à jour de la structure de la
base par exemple.
//Commandes permettant de manipuler le service Monitor
cCMD_MonitorPause = "S.MON.PAUSE"
cCMD_MonitorRedemarre= "S.MON.RDMRR"
cCMD_MonitorArrete = "S.MON.STOP"
cCMD_NiveauTrace = "S.TRACE.NIVEAU"
cCMD_ReInitReplic = "RPL.INIT"
cCMD_ParamEcrit = "S.PRM.EC"
cCMD_ParamLit = "S.PRM.LI"
cCMD_ParamSuppr = "S.PRM.SU"
//Commandes envoyées par le mobile
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_MsgExtEcrit = "S.MSGEXT.EC"
cCMD_TempsEcrit = "S.TPS.EC"
// cCMD_TempsSupprime = "S.TPS.SU"
cCMD_TempsEcrit_V2 = "S.TPS.EC.V2"
cCMD_RDVValidation = "S.RDV.V"
12/08/2026 Omika_S_Comm_DEV 168
Partie 3 › Collection de procédures › LIB_Service › Code
cCMD_RDVAnnulation = "S.RDV.ANN"
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_ExecSQL = "S.SQL.EX"
cCMD_ExecWL = "S.WL.EX"
cCMD_Quitter = "S.QUIT"
cDoc_OK = 0
cDoc_Inexistant = 8 //Trouvé dans la table des documents mais fichier absent
cDoc_Inconnu = 7 //Inconnu dans la table des documents
fin
global
STParamCategDoc est une Structure
sCodeDroit est une chaîne
sNomRepertoire est une chaîne
fin
gtbaCleParametre est un tableau associatif d'entiers sur 8 octets
gtbaLibParametre est un tableau associatif de chaînes ANSI
gtbaIdParametre est un tableau associatif de chaînes ANSI
gtbaCategorieDoc_ID est un tableau associatif (*, *, wlChaîne) d'entiers sur 8 octets
gtbaCategorieDoc est un tableau associatif (*, *, wlEntier_8) de chaînes
gtabCategorieDocVal est un tableau associatif (*, *, wlEntier_8) de chaînes
gtabCategorieDocRep est un tableau associatif (*, *, wlEntier_8) de chaînes
gtabCategorieDocDroitest un tableau associatif (*, *, wlEntier_8) de chaînes
gtbaCategorieDossier est un tableau associatif (*, *, wlEntier_8) de chaînes
//Paramètres de connexion au serveur HFSQL hébergé sur le WEB
| gcnxSrvWEB | | est une Connexion | |
| -------------- | --- | ------------------- | --- |
| gsaSW_Serveur | | est une chaîne ANSI | |
| gsaSW_Port | | est une chaîne ANSI | |
| gsaSW_NomBase | | est une chaîne ANSI | |
| gsaSW_Cle | | est une chaîne ANSI | |
//Paramètres de connexion au serveur HFSQL Local (Back Office)
| gcnxAPart | | est une Connexion | |
| ------------------ | ------------------- | ------------------- | --- |
| gsaBO_Serveur | | est une chaîne ANSI | |
| gsaBO_Port | | est une chaîne ANSI | |
| gsaBO_Utilisateur | | est une chaîne ANSI | |
| gsaBO_MotDePasse | est une chaîne ANSI | | |
| gsaBO_NomBase | | est une chaîne ANSI | |
| gsaBO_Cle | | est une chaîne ANSI | |
//Déclaration des fichiers Externes TOSRV et TOMOB situés sur le serveur Cloud
| gsdTOSRV | | est une Source de Données | |
| --------- | --- | ------------------------- | --- |
| gsdTOMOB | | est une Source de Données | |
| gsdPARAM | | est une Source de Données | |
//Fichiers Externe situés dans la base BO Locale
| gsdParametreApplication | | est une Source de Données | |
| ----------------------- | --- | ------------------------- | --- |
| gsdMobReception | | est une Source de Données | |
| gsdDocument | | est une Source de Données | |
| 12/08/2026 | | Omika_S_Comm_DEV | 169 |
Partie 3 › Collection de procédures › LIB_Service › Code
| gsdDocumentNote est une Source de Données | | |
| ----------------------------------------- | --- | --- |
gsdCollaborateur est une Source de Données
gsdSuiviDesTemps est une Source de Données
| gsdCompteRendu est une Source de Données | | |
| ---------------------------------------- | --- | --- |
gsdMessageInterne est une Source de Données
gsdMessageExterne est une Source de Données
| gsdPlanning_RDV est une Source de Données | | |
| ----------------------------------------- | --- | --- |
gsdPlanning_RDV_Pers est une Source de Données
| gsdPlanning est une Source de Données | | |
| ---------------------------------------------------- | --- | --- |
| gsdParametreMetier est une Source de Données | | |
| gsdParametreSystem est une Source de Données | | |
| gsdCompteur est une Source de Données | | |
| //gsdParametreMetierEntete est une source de données | | |
| gsaBaseService est une chaîne ANSI ="BASESERVICE" | | |
| gsaAdresseHTTP_WS est une chaîne ANSI | | |
| gbConnexionCloudActive est un booléen | | |
gbSurveillanceActivée est un booléen
gsCleMdp est une chaîne=Mdp1+Mdp3+Mdp2
| gsaToken est une chaîne ANSI ="coucou" | | |
| --------------------------------------- | --- | --- |
gbInitReplicationEnCours est un booléen, section critique
| gbDeclarationExterneFaite est un booléen | | |
| ----------------------------------------- | --- | --- |
| gbConnexionOuverte est un booléen | | |
gbInitialisationRéussie est un booléen, section critique
ST_INFOSYSTEM est une Structure
saNomExeest une chaîne ANSI
saVersion est une chaîne ANSI
saBO_Srvest une chaîne ANSI
saBO_Port est une chaîne ANSI
saBO_Base est une chaîne ANSI
saCL_Srvest une chaîne ANSI
saCL_Port est une chaîne ANSI
saCL_Base est une chaîne ANSI
saRepDocest une chaîne ANSI
fin
ST_REP_SYSTEM est une Structure
saCMD est une chaîne ANSI
saMSG est une chaîne ANSI
saErr est une chaîne ANSI
fin
ST_REC est une Structure
nNumRec est un entier
saDate est une chaîne ANSI
| 12/08/2026 | Omika_S_Comm_DEV | 170 |
| ---------- | ---------------- | --- |
Partie 3 › Collection de procédures › LIB_Service › Code
saJSON est une chaîne ANSI
fin
ST_KILLREC est une Structure
nNumRec est un entier
saFichier est une chaîne ANSI
fin
<bloc>//Structures partagée avec l'application mobile
//Cette structure est utilisée 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
nIdUsr est un entier
saIdDoc est une chaîne ANSI
saNom est une chaîne ANSI
saPren est une chaîne ANSI
fin
ST_DOC est une Structure
saNom est une chaîne ANSI
saType est une chaîne ANSI
nInterID est 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_PKID est un entier sur 8 octets
saDocGUID est une chaîne ANSI
nStatut est un entier
fin
ST_LISTE_IDDOC est une Structure
saIdMobile est une chaîne ANSI
tblIdDoc est un tableau d'entiers sur 8 octets
fin
ST_DOCNOTE est une Structure
saGuid est une chaîne ANSI
saGuidDoc est une chaîne ANSI
saNote est une chaîne ANSI
nAuteur est un entier sur 8 octets
saDate est une chaîne ANSI
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
nIdPart est un entier sur 8 octets
nIdRDV est un entier sur 8 octets
saLibelle est une chaîne ANSI
saHeureDebut est une chaîne ANSI
saHeureFin est une chaîne ANSI
nNbMinutes est un entier
nIdTypeTps est un entier sur 8 octets
nStatutSynchro est un entier
bSupprime est un booléen
fin
12/08/2026 Omika_S_Comm_DEV 171
Partie 3 › Collection de procédures › LIB_Service › Code
ST_TEMPS_PASSE est une Structure
saGuid est une chaîne ANSI
nIdCollab est un entier sur 8 octets
nIdTypeTps est un entier sur 8 octets
nTemps est un entier
saDateHeureDeb est une chaîne ANSI
saDateHeureFin est une chaîne ANSI
fin
ST_TEMPS_PASSE_RDV est une Structure
nIdRDV est un entier sur 8 octets
nIdIntervention est un entier sur 8 octets
saGuidRdv est une chaîne ANSI
tblTemps est un tableau de ST_TEMPS_PASSE
fin
ST_TEMPS_PASSE_V2 est une Structure
saGuid est une chaîne ANSI
nIdCollab est un entier sur 8 octets
nIdTypeTps est un entier sur 8 octets
saHeureDebut est une chaîne ANSI
saHeureFin est une chaîne ANSI
saNote est une chaîne ANSI
nIdRDV est un entier sur 8 octets
saGuidRdv est une chaîne ANSI
fin
ST_TEMPS_PASSE_RDV_V2 est une Structure
nIdRDV est un entier sur 8 octets
nIdIntervention est un entier sur 8 octets
saGuidRdv est une chaîne ANSI
tblTemps est un tableau de ST_TEMPS_PASSE_V2
fin
ST_VALIDATION_RDV est une Structure
saGuid est une chaîne ANSI
saNote est une chaîne ANSI
fin
ST_Annulations_RDV est une Structure
tbAnnulations est un tableau de ST_Annulation_RDV
fin
ST_Annulation_RDV est une Structure
saGUID_RDV est une chaîne ANSI
nOrigine est un entier sur 8 octets
nMotif est un entier sur 8 octets
saCommentaire est une chaîne ANSI
nIDGroupeRDV est un entier sur 8 octets
fin
//Correspond à l'objet cCR
ST_CR 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
saNomCollaborateur est une chaîne
saGuidRDV est une chaîne ANSI
nIdCollab est un entier sur 8 octets
nIdUser est un entier sur 8 octets
12/08/2026 Omika_S_Comm_DEV 172
Partie 3 › Collection de procédures › LIB_Service › Code
bTech est un booléen
bDevisConforme est un booléen
nRoleClient est un entier sur 8 octets
bReserve est un booléen
saReserveCommentaire est une chaîne
fin
//Correspond à l'Objet cMSGINTERNE de l'application Mobile
ST_MSGINTERNE 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
nIdUser est un entier sur 8 octets
sADate est une chaîne ANSI
sAType est une chaîne ANSI
fin
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
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
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 un entier sur 8 octets
saGUID est une chaîne ANSI
fin
<fin>
ST_PARAMETRE est une Structure
nPKID est un entier sur 8 octets
sType est une chaîne ANSI // S: ParamètreSystem A:ParametresApplication
sCle est une chaîne ANSI // 50 Caractères
sValeur est une chaîne ANSI // Mémo texte ansi
bCrypte est un booléen
sDescript est une chaîne ANSI //250 Caractères
sCategorie est une chaîne ANSI
sCleParam est une chaîne ANSI
//Rubriques supplémentaires pour les paramètres métiers
//Dans ce cas sCle = PA_Code
12/08/2026 Omika_S_Comm_DEV 173
Partie 3 › Collection de procédures › LIB_Service › Code
//sValeur = PA_Valeur
nOrdre est un entier
bSysteme est un booléen
bInvisible est un booléen
bActif est un booléen
sCleLiaison est une chaîne ANSI
sLibCourt est une chaîne ANSI
sParametre est une chaîne
fin
//" {"sType":"A","sCLE":"REPLOG","sValeur":"","bCrypte":0,"sDescript":""} "
//" {"sType":"M","sCLE":"03","sValeur":"1","bCrypte":0,"sDescript":""} "
//{ "sType":"M", "sCle":"03", "sValeur":"1", "bCrypte":false, "sDescript":"Client", "nOrdre":2,
"bSysteme":false, "bInvisible":false, "bActif":true, "sCleLiaison":"", "sLibCourt":"", "sParametre":""
}
Fic est une Structure
//sNomFichier est une chaine
saNomRubrique est une chaîne
sAProprietee est une chaîne
sAAnnexe est une chaîne
fin
Rep est une Structure
sNomRep est une chaîne
tabRub est un tableau de Fic
sNomRepFormate est une chaîne
sNomnIDRubRep est une chaîne
fin
ST_COMMANDE est une Structure
saScript est une chaîne ANSI
fin
ST_Json_Param est une Structure
Param est un JSON
saLibelle est une chaîne ANSI
fin
//Exemple avec la commande "S.SQL.EX" : {"saScript":"UPDATE ParametreMetier SET PA_IDImport=2 WHERE
PA_Code='01'"}
//Commande S.WL.EX : Permet d’exécuter un script WLangage
//Se reporter à l'aide WD de la commande Compile
//Exemple de JSON : {"saScript":"TraceLog(\"ATTENTION A LA MANEUVRE !!\")
// RENVOYER 1" }
//Penser à 'échapper' le caractère " avec un \
Procédure globale AnnulerRDV
procédure AnnulerRDV(bufJSON est un Buffer, sd est une Source de Données)
TraceLog("Annulation de rendez-vous")
stARDV est un ST_Annulations_RDV
bOK est un booléen
Désérialise(stARDV,bufJSON,psdJSON)
si pas ErreurDétectée alors
si stARDV:tbAnnulations..Occurrence > 0 alors
si DonneIdParamAvecCle(cCle_RDVAnnule) > 0 alors
bOK = Vrai
12/08/2026 Omika_S_Comm_DEV 174
Partie 3 › Collection de procédures › LIB_Service › Code
sinon
TraceLog("Erreur recherche de paramètre , annulation de RDV:" + ErreurInfo(errComplet),
cTrace_Exception)
fin
fin
si bOK alors
pour tout stANNU de stARDV:tbAnnulations
HRAZ(gsdPlanning)
HRAZ(gsdPlanning_RDV)
si stANNU.saGUID_RDV <>"" alors
si stANNU.nIDGroupeRDV > 0 alors
si HLitRecherchePremier(gsdPlanning,RV_PKID, stANNU.nIDGroupeRDV) alors
HLitRecherchePremier(gsdPlanning_RDV,GUID, stANNU.saGUID_RDV )
fin
sinon
si HLitRecherchePremier(gsdPlanning_RDV,GUID,stANNU.saGUID_RDV) alors
HLitRecherchePremier(gsdPlanning,GUID, gsdPlanning_RDV.RVC_GUID_RDV)
fin
fin
si gsdPlanning.RV_PKID > 0 _et_ gsdPlanning_RDV.RVC_PKID > 0 alors
gsdPlanning.RV_CleStatut = cCle_RDVAnnule
gsdPlanning.RV_CleOrigineAnnu = DonneCleParamAvecID(stANNU.nOrigine)
gsdPlanning.RV_CleMotifAnnu = DonneCleParamAvecID(stANNU.nMotif)
gsdPlanning.RV_Description += [RC] + stANNU.saCommentaire
si pas HEnregistre(gsdPlanning) alors
TraceLog("Erreur :" + HErreurInfo(errComplet),cTrace_Exception)
fin
gsdPlanning_RDV.RVC_CleStatut = cCle_RDVAnnule
si pas HEnregistre(gsdPlanning_RDV) alors
TraceLog("Erreur :" + HErreurInfo(errComplet),cTrace_Exception)
fin
sinon
TraceLog("Erreur dans annulation de RDV, RDV non conu: " +stANNU.saGUID_RDV+" "+
stANNU.nIDGroupeRDV)
fin
fin
fin
si bOK alors
MarqueDataTraitée(sd.MR_PKID)
fin
fin
fin
Procédure globale ArreteLaSurveillanceDeToSRV
// Résumé : <indiquez ici ce que fait la procédure>
// Syntaxe :
// ArreteLaSurveillanceDeToSRV ()
//
// Paramètres :
// Aucun
// Valeur de retour :
// Aucune
//
// Exemple :
// Indiquez ici un exemple d'utilisation.
//
12/08/2026 Omika_S_Comm_DEV 175
Partie 3 › Collection de procédures › LIB_Service › Code
procédure ArreteLaSurveillanceDeToSRV()
si gbSurveillanceActivée alors
// TraceLog("Arrêt de la surveillance.")
HSurveilleStop(gsdTOSRV,CB_Ajout_TOSRV,hNumEnrTous)
gbSurveillanceActivée=Faux
fin
Procédure globale BouclePrincipaleDuService
procédure BouclePrincipaleDuService()
//Mise à jour de dernière activité pour le Robot de surveillance
INIEcrit(cIniSectionComm,cIniCleActivite,DateHeureSys,gsuFicIni)
si pas gbInitReplicationEnCours alors
si pas gbInitialisationRéussie alors
si InitPrincipalDuService() alors
//InitSurveillance()
TraceLog("Initialisation Principale réussie",cTrace_Debug)
TraceLog("Application : " + ExeInfo(exeNom) )
TraceLog("Version exe : " + ExeInfo(exeVersion) + " Mode : " + ExeInfo(exeMode))
TraceLog("Composant ")
TraceLog("Libellé : " + ComposantInfo("", ciLibellé))
TraceLog("Version : " + ComposantInfo("", ciVersion))
TraceLog("Editeur : " + ComposantInfo("", ciSociété))
TraceLog("Date : " + ComposantInfo("", ciDateGénération))
TraceLog("Copyright : " + ComposantInfo("", ciCopyright))
sinon
TraceLog("ECHEC de l'Initialisation Principale",cTrace_Exception)
fin
fin
si gbInitialisationRéussie alors
ParametreEcrit(cParam_ServiceActivite,DateHeureSys())
ParamCLOUD_Ecrit(cParam_ServiceActivite,DateHeureSys())
//On démarre un nouveau log chaque jour
InitialiseFichierLog()
//Relance le service monitor si arrêté
RedemarreServiceMonitor()
//Activation de la surveillance
//ActiveThreadSurveillance()
si pas gbInitReplicationEnCours alors
InitSurveillance()
LanceTachesDeTraitementDocRecus()
fin
fin
fin
Procédure globale CB_Ajout_TOSRV
// Résumé : <indiquez ici ce que fait la procédure>
// Syntaxe :
//CB_Ajout_TOSRV (<sNomFichier>, <nNumRec>, <nAction>)
//
// Paramètres :
// sNomFichier : <indiquez ici le rôle de sNomFichier>
// nNumRec : <indiquez ici le rôle de nNumRec>
// nAction : <indiquez ici le rôle de nAction>
// Valeur de retour :
// Aucune
//
12/08/2026 Omika_S_Comm_DEV 176
Partie 3 › Collection de procédures › LIB_Service › Code
// Exemple :
// Indiquez ici un exemple d'utilisation.
//
procédure CB_Ajout_TOSRV(sNomFichier <utile>,nNumRec,nAction <utile>)
quand exception dans
SecCrit est une SectionCritique
utiliser SecCrit dans
si HLit(gsdTOSRV,nNumRec) alors
TraceLog("MESSAGE : " + gsdTOSRV.TS_Mobile +" CMD :" + gsdTOSRV.TS_CMD + RC + "JSON :" +
gsdTOSRV.TS_JSON)
HRAZ(gsdMobReception)
gsdMobReception.MR_IDToSRV = gsdTOSRV.IDToSRV
gsdMobReception.MR_JSON = gsdTOSRV.TS_JSON
gsdMobReception.MR_CMD = gsdTOSRV.TS_CMD
gsdMobReception.MR_Buffer = gsdTOSRV.TS_Buffer
gsdMobReception.MR_NumSerie = gsdTOSRV.TS_Mobile
gsdMobReception.MR_Fait = Faux
gsdMobReception.MR_DateHeureRecep = DateHeureSys()
HAjoute(gsdMobReception)
HSupprime(gsdTOSRV)
fin
fin
LanceTachesDeTraitementDocRecus()
faire
TraceLog("Exception" + ExceptionInfo(errComplet),cTrace_Exception)
fin
Procédure globale ChargeParametresMetiers
procédure ChargeParametresMetiers()
pour tout gsdParametreMetier avec "PA_Categorie"=cParam_TypeDoc
gtbaCategorieDoc_ID[gsdParametreMetier.PA_Valeur]=gsdParametreMetier.PA_PKID
gtbaCategorieDoc[gsdParametreMetier.PA_PKID]=gsdParametreMetier.PA_Libelle
gtabCategorieDocVal[gsdParametreMetier.PA_PKID]=gsdParametreMetier.PA_Valeur
unstParamCategDoc est un STParamCategDoc
Désérialise(unstParamCategDoc,gsdParametreMetier.PA_Parametre,psdJSON)
gtabCategorieDocRep[gsdParametreMetier.PA_PKID]=unstParamCategDoc.sNomRepertoire
gtabCategorieDocDroit[gsdParametreMetier.PA_PKID]=unstParamCategDoc.sCodeDroit
fin
pour tout gsdParametreMetier avec "PA_Categorie"=cParam_TypeDossier
gtbaCategorieDossier[gsdParametreMetier.PA_PKID] =gsdParametreMetier.PA_Libelle
fin
Procédure globale CompteRenduEcrit
procédure CompteRenduEcrit(bufJSON est un Buffer, sd est une Source de Données)
TraceLog("Ecrit CR nouvelle version")
stCR est un ST_CR
12/08/2026 Omika_S_Comm_DEV 177
Partie 3 › Collection de procédures › LIB_Service › Code
Désérialise(stCR,bufJSON,psdJSON)
si pas ErreurDétectée alors
si stCR.saGuidRDV<>"" _et_ HLitRecherchePremier(gsdPlanning_RDV,GUID,stCR.saGuidRDV) alors
saRqCR est une chaîne ANSI
gsdCompteRendu.CR_IDRdv =gsdPlanning_RDV.RVC_PKID
saRqCR = [
SELECT
CompteRendu.*
FROM CompteRendu
INNER JOIN RDV_Collaborateur ON RDV_Collaborateur.GUID = CR_GUID_Rdv
WHERE
RDV_Collaborateur.Archive = 0
AND RDV_Collaborateur.GUID =
]
saRqCR += "'"+stCR.saGuidRDV+"'"
rq est une Source de Données
si HExécuteRequêteSQL(rq,gcnxAPart,hRequêteDéfaut,saRqCR) alors
si HLitPremier(rq)alors
si rq.CR_PKID > 0 alors
stCR.saGuidCR = rq.GUID
gsdCompteRendu.CR_IDRdv = rq.CR_IDRdv
TraceLog("compte rendu :" + rq.GUID)
fin
fin
sinon
TraceLog("ERREUR dans recherche compte rendu :" + HErreurInfo(hErrComplet),
cTrace_Exception)
fin
si pas HLitRecherchePremier(gsdCompteRendu,GUID,stCR.saGuidCR) alors
HRAZ(gsdCompteRendu)
gsdCompteRendu.CR_IDRdv =gsdPlanning_RDV.RVC_PKID
fin
gsdCompteRendu.CR_IDIntervention = stCR.nIdInter
gsdCompteRendu.GUID = stCR.saGuidCR
gsdCompteRendu.CR_DateHeureDebut = stCR.saDateSignature[1 à 8] + stCR.saDebut
gsdCompteRendu.CR_DateHeureFin = stCR.saDateSignature[1 à 8] + stCR.saFin
gsdCompteRendu.CR_NoteCollaborateur = stCR.saNoteCollab
gsdCompteRendu.CR_NomSignataire = stCR.saSignataire
gsdCompteRendu.CR_NoteSignataire = stCR.saNoteClient
gsdCompteRendu.CR_DateHeureSignature = stCR.saDateSignature
gsdCompteRendu.CR_IDCollaborateur = stCR.nIdCollab
gsdCompteRendu.CR_DevisConforme = stCR.bDevisConforme
gsdCompteRendu.CR_NomSignataireTech = stCR.saNomCollaborateur
gsdCompteRendu.CR_NomSignataire = stCR.saSignataire
gsdCompteRendu.CR_GUID_Rdv = stCR.saGuidRDV
gsdCompteRendu.CR_IDTypeSignataire = stCR.nRoleClient
si stCR.nRoleClient>0 _et_ DonneCleParamAvecID(stCR.nRoleClient) <> "" alors
gsdCompteRendu.CR_CleTypeSignataire = DonneCleParamAvecID(stCR.nRoleClient)
fin
gsdCompteRendu.CR_AvecReserve = stCR.bReserve
gsdCompteRendu.CR_ReserveCommentaire = stCR.saReserveCommentaire
si stCR.bTech alors //mal nome dans l'application mobile
gsdCompteRendu.CR_Signature = sd.MR_Buffer
12/08/2026 Omika_S_Comm_DEV 178
Partie 3 › Collection de procédures › LIB_Service › Code
sinon
gsdCompteRendu.CR_SignatureTech = sd.MR_Buffer
fin
gsdCompteRendu.CreationDate = stCR.saDateSignature
gsdCompteRendu.ModifDate = DateHeureSys()
gsdCompteRendu.CreationUser = stCR.nIdUser
gsdCompteRendu.ModifUser = stCR.nIdUser
si HEnregistre(gsdCompteRendu) alors
MarqueDataTraitée(sd.MR_PKID)
sinon si HErreur()>0
TraceLog("Erreur :" + HErreurInfo(errComplet),cTrace_Exception)
fin
fin
sinon
TraceLog("Erreur :" + ErreurInfo(errComplet),cTrace_Exception)
fin
Procédure globale ConnexionsEtabliesAuxBases
procédure ConnexionsEtabliesAuxBases():booléen
quand exception dans
si HOuvreConnexion(gcnxAPart) alors
si HOuvreConnexion(gcnxSrvWEB) alors
renvoyer Vrai
sinon
TraceLog("Erreur Connexion Base WEB :" + HErreurInfo(hErrMessage),cTrace_Exception)
renvoyer Faux
fin
sinon
TraceLog("Erreur Connexion Base Locale :" + HErreurInfo(hErrMessage),cTrace_Exception)
renvoyer Faux
fin
faire
TraceLog("EXCEPTION Dans ConnexionsEtabliesAuxBases :" + ExceptionInfo(errComplet),cTrace_Exception
)
renvoyer Faux
fin
Procédure globale CreaCompteur
// Résumé : <indiquez ici ce que fait la procédure>
// Syntaxe :
//[ <Résultat> = ] CreaCompteur (<P_CPTCode>)
//
// Paramètres :
// P_CPTCode : <indiquez ici le rôle de P_CPTCode>
// Valeur de retour :
// multi-valeur : // Aucune
//
// Exemple :
// Indiquez ici un exemple d'utilisation.
//
// sMSGErr (chaîne ANSI) : <indiquez ici le rôle de sMSGErr>
procédure CreaCompteur(P_CPTCode)
nCpt est un entier
sMSGErr est une chaîne
12/08/2026 Omika_S_Comm_DEV 179
Partie 3 › Collection de procédures › LIB_Service › Code
quand exception dans
HLitRecherchePremier(gsdCompteur,CPT_Code,P_CPTCode,hBlocageEcriture)
TraceLog(ChaîneConstruit("CreaCompteur Htrouve %1",HTrouve(gsdCompteur)))
si (pas HTrouve(gsdCompteur)) _ou_ (gsdCompteur.CPT_Annee>0 _et_ gsdCompteur.CPT_Annee<>
AnnéeEnCours()) alors
TraceLog(ChaîneConstruit("CreaCompteur %1 Initialisation",P_CPTCode))
si gsdCompteur.CPT_Annee>0 _et_ gsdCompteur.CPT_Annee<>AnnéeEnCours() alors
gsdCompteur.CPT_Actif = Faux
HModifie(gsdCompteur,hNumEnrEnCours)
fin
si gsdCompteur.CPT_Annee>0 alors gsdCompteur.CPT_Annee=AnnéeEnCours()
gsdCompteur.CPT_Code=P_CPTCode
gsdCompteur.CPT_Valeur=1
si HAjoute(gsdCompteur) alors
nCpt = 1
fin
//RENVOYER gsdCompteur.CPT_Valeur
sinon
TraceLog(ChaîneConstruit("CreaCompteur %1 Lecture",P_CPTCode))
HBloqueNumEnr(gsdCompteur,hNumEnrEnCours,hBlocageEcriture)
boucle
gsdCompteur.CPT_Valeur++
TraceLog(ChaîneConstruit("CreaCompteur %1 Valeur %2",P_CPTCode,gsdCompteur.CPT_Valeur))
à faire tantque pas HModifie(gsdCompteur)
nCpt = gsdCompteur.CPT_Valeur
HDébloqueNumEnr(gsdCompteur,hNumEnrEnCours)
//RENVOYER gsdCompteur.CPT_Valeur
fin
faire
nCpt= 0
sMSGErr = "Erreur lors de la recherche du paramètre gsdCompteur : "+RC+HErreurInfo(hErrComplet)
TraceLog(ChaîneConstruit("CreaCompteur %1 Exception %2",P_CPTCode,sMSGErr))
fin
renvoyer (nCpt,sMSGErr)
//CAS ERREUR:
//sMSGErr = "Erreur lors de la recherche du paramètre compteur :
"+RC+HErreurBlocage()+RC+HErreurInfo(hErrComplet)//Info("Erreur lors de la recherche du paramètre
compteur : ",HErreur(hErrEnCours),HErreurBlocage(),HErreurInfo(hErrComplet))
//CAS EXCEPTION:
//sMSGErr = "Erreur lors de la recherche du paramètre compteur :
"+RC+HErreurBlocage()+RC+HErreurInfo(hErrComplet)//Info("Erreur lors de la recherche du paramètre
compteur : ",HErreur(hErrEnCours),HErreurBlocage(),HErreurInfo(hErrComplet))
Procédure globale CreaCompteur
procédure CreaCompteur(local sCode est une chaîne,local bDummy est un booléen<utile>,local nParAn est
un entier=-1,local nParMois est un entier=-1,local bAvecPrefixe est un booléen=Faux)
TraceLog(ChaîneConstruit("CreaCompteur 2 sCode : %1 ; nParAn : %2; nParMois : %3; bAvecPrefixe : %4",
sCode,nParAn,nParMois,bAvecPrefixe))
//reqSQL est une requête SQL =
//[
//SELECT * FROM Compteur
//WHERE compteur.CPT_Actif=1
//AND Compteur.CPT_Code={p_sCode}
12/08/2026 Omika_S_Comm_DEV 180
Partie 3 › Collection de procédures › LIB_Service › Code
//AND Compteur.CPT_ParAnnee={p_bAnnee}
//AND Compteur.CPT_ParMois={p_bMois}
//]
sCond est une chaîne = ChaîneConstruit("CPT_Actif=1 ET CPT_Code='%1' %2 %3",sCode,nParAn=-1 ? ""
sinon "ET CPT_ParAnnee="+nParAn,nParAn=-1 ? "" sinon "ET CPT_ParMois="+nParMois)
sFiltre est une chaîne = HFiltre(gsdCompteur,sCond)
//reqSQL.p_sCode = sCode
//reqSQL.p_bAnnee= nParAn=-1 ? Null SINON nParAn
//reqSQL.p_bMois = nParMois=-1 ? Null SINON nParMois
sMois est une chaîne = NumériqueVersChaîne(MoisEnCours(),"02d")
sResult est une chaîne
TraceLog(sCond)
HLitPremier(gsdCompteur, sFiltre,hRespecteFiltre)
si HEnDehors(gsdCompteur) alors
//SI PAS HLitRecherchePremier(gsdCompteur,CPT_Code,sCode,hRespecteFiltre+hBlocageEcriture)
ALORS//HExécuteRequête(reqSQL,hRequêteDéfaut+hModifieFichier) ALORS
//HLitPremier(reqSQL)
// SI pas HEnDehors(reqSQL) ALORS
// bRAZAnnee est un booléen
// bRAZMois est un booléen
// SI reqSQL.CPT_ParAnnee=1 _et_ reqSQL.CPT_Annee<>AnnéeEnCours() ALORS bRAZAnnee = vrai
//
// SI reqSQL.CPT_ParMois=1 _ET_ reqSQL.CPT_Mois<>Complète(MoisEnCours(),2,0) ALORS
bRAZMois = Vrai
//
//
// SI bRAZAnnee _OU_ bRAZMois ALORS
// //Mise à jour du compteur pour le rendre inactif
// //HBloqueNumEnr(reqSQL,hNumEnrEnCours,hBlocageEcriture)
// reqSQL.CPT_Actif = 0
// HModifie(reqSQL,hNumEnrEnCours)
// //HDébloqueNumEnr(reqSQL,hNumEnrEnCours)
//
// HRAZ(Compteur)
// SI bRAZAnnee ALORS
// Compteur.CPT_Annee=AnnéeEnCours()
// Compteur.CPT_ParAnnee=1
// FIN
// SI bRAZMois ALORS
// Compteur.CPT_Mois=MoisEnCours()
// Compteur.CPT_ParMois=1
// FIN
// Compteur.CPT_Code=sCode
// Compteur.CPT_Valeur=1
// Compteur.CPT_Actif=1
// Compteur.CPT_ParAnnee=nParAn=-1 ? 0 SINON nParAn
// Compteur.CPT_ParMois=nParMois=-1 ? 0 SINON nParMois
// HAjoute(Compteur)
// SINON
// //HLitRecherche()
// HBloqueNumEnr(reqSQL,hNumEnrEnCours,hBlocageEcriture)
//
// reqSQL.CPT_Valeur++
//
// HModifie(reqSQL)
// HDébloqueNumEnr(reqSQL,hNumEnrEnCours)
// FIN
//
//
sResult est une chaine = bAvecPrefixe=faux ? reqSQL.CPT_Valeur SINON reqSQL.CPT_ParAnnee=1 _et_
reqSQL.CPT_ParMois=1 ?
sCode+reqSQL.CPT_Annee+sMois+Répète("0",6-Taille(reqSQL.CPT_Valeur))+reqSQL.CPT_Valeur SINON
reqSQL.CPT_ParAnnee=1 _et_ reqSQL.CPT_M
ois=0 ? sCode+reqSQL.CPT_Annee+Répète("0",6-Taille(reqSQL.CPT_Valeur))+reqSQL.CPT_Valeur SINON
reqSQL.CPT_ParAnnee=0 _et_ reqSQL.CPT_Mois=1 ?
sCode+sMois+Répète("0",6-Taille(reqSQL.CPT_Valeur))+reqSQL.CPT_Valeur SINON
sCode+Répète("0",6-Taille(reqSQL.CPT_
12/08/2026 Omika_S_Comm_DEV 181
Partie 3 › Collection de procédures › LIB_Service › Code
Valeur))+reqSQL.CPT_Valeur
// RENVOYER sResult
// SINON
HRAZ(gsdCompteur)
si nParAn=1 alors gsdCompteur.CPT_Annee=AnnéeEnCours()
si nParMois=1 alors gsdCompteur.CPT_Mois=MoisEnCours()
gsdCompteur.CPT_Code = sCode
gsdCompteur.CPT_Valeur = 1
gsdCompteur.CPT_Actif = 1
gsdCompteur.CPT_ParAnnee = nParAn=-1 ? 0 sinon nParAn
gsdCompteur.CPT_ParMois = nParMois=-1 ? 0 sinon nParMois
HAjoute(gsdCompteur)
sResult = bAvecPrefixe=Faux ? gsdCompteur.CPT_Valeur sinon gsdCompteur.CPT_ParAnnee=1 _et_ gsd
Compteur.CPT_ParMois=1 ? sCode+gsdCompteur.CPT_Annee+sMois+Répète("0",6-Taille(gsdCompteur.
CPT_Valeur))+gsdCompteur.CPT_Valeur sinon gsdCompteur.CPT_ParAnnee=1 _et_ gsdCompteur.CPT_Mois=0 ?
sCode+gsdCompteur.CPT_Annee+Répète("0",6-Taille(gsdCompteur.CPT_Valeur))+gsdCompteur.CPT_Valeur
sinon gsdCompteur.CPT_ParAnnee=0 _et_ gsdCompteur.CPT_Mois=1 ? sCode+sMois+Répète("0",6-Taille(gsd
Compteur.CPT_Valeur))+gsdCompteur.CPT_Valeur sinon sCode+Répète("0",6-Taille(gsdCompteur.CPT_Valeur
))+gsdCompteur.CPT_Valeur
renvoyer sResult
//FIN
sinon
bRAZAnnee est un booléen
bRAZMoisest un booléen
si gsdCompteur.CPT_ParAnnee=1 _et_ gsdCompteur.CPT_Annee<>AnnéeEnCours() alors bRAZAnnee = Vrai
si gsdCompteur.CPT_ParMois=1 _et_ gsdCompteur.CPT_Mois<>Complète(MoisEnCours(),2,0) alors bRAZMois
= Vrai
si bRAZAnnee _ou_ bRAZMois alors
//Mise à jour du compteur pour le rendre inactif
HBloqueNumEnr(gsdCompteur,hNumEnrEnCours,hBlocageEcriture)
gsdCompteur.CPT_Actif = 0
HModifie(gsdCompteur,hNumEnrEnCours)
HDébloqueNumEnr(gsdCompteur,hNumEnrEnCours)
HRAZ(gsdCompteur)
si bRAZAnnee alors
gsdCompteur.CPT_Annee = AnnéeEnCours()
gsdCompteur.CPT_ParAnnee = 1
fin
si bRAZMois alors
gsdCompteur.CPT_Mois = MoisEnCours()
gsdCompteur.CPT_ParMois = 1
fin
gsdCompteur.CPT_Code = sCode
gsdCompteur.CPT_Valeur = 1
gsdCompteur.CPT_Actif = 1
gsdCompteur.CPT_ParAnnee = nParAn=-1 ? 0 sinon nParAn
gsdCompteur.CPT_ParMois = nParMois=-1 ? 0 sinon nParMois
HAjoute(gsdCompteur)
sinon
//HLitRecherche()
HBloqueNumEnr(gsdCompteur,hNumEnrEnCours,hBlocageEcriture)
gsdCompteur.CPT_Valeur++
HModifie(gsdCompteur)
HDébloqueNumEnr(gsdCompteur,hNumEnrEnCours)
fin
sResult= bAvecPrefixe=Faux ? gsdCompteur.CPT_Valeur sinon gsdCompteur.CPT_ParAnnee=1 _et_ gsd
Compteur.CPT_ParMois=1 ? sCode+gsdCompteur.CPT_Annee+sMois+Répète("0",6-Taille(gsdCompteur.
CPT_Valeur))+gsdCompteur.CPT_Valeur sinon gsdCompteur.CPT_ParAnnee=1 _et_ gsdCompteur.CPT_Mois=0 ?
sCode+gsdCompteur.CPT_Annee+Répète("0",6-Taille(gsdCompteur.CPT_Valeur))+gsdCompteur.CPT_Valeur
12/08/2026 Omika_S_Comm_DEV 182
Partie 3 › Collection de procédures › LIB_Service › Code
sinon gsdCompteur.CPT_ParAnnee=0 _et_ gsdCompteur.CPT_Mois=1 ? sCode+sMois+Répète("0",6-Taille(gsd
Compteur.CPT_Valeur))+gsdCompteur.CPT_Valeur sinon sCode+Répète("0",6-Taille(gsdCompteur.CPT_Valeur
))+gsdCompteur.CPT_Valeur
fin
HDésactiveFiltre(gsdCompteur)
renvoyer sResult
Procédure globale CreationRepertoireCategorieSiInexistant
procédure CreationRepertoireCategorieSiInexistant(sCheminFichiers)
sValeurParam est une chaîne
pour tout sValeurParam de gtabCategorieDocVal
//Récupère le nom du répertoire chez le client correspondant à la catégorie
sNomRep est une chaîne = gtabCategorieDocRep[gtbaCategorieDoc_ID[sValeurParam]]
TraceLog("CreationRepertoireCategorieSiInexistant ValParam:"+sValeurParam+"\ RepAttendu:"+sNomRep)
//Le chemin des fichiers contient le nom de la catégorie
si Contient(sCheminFichiers,sNomRep) alors
//Construit le chemin des fichiers jusqu'au nom du répertoire de la catégorie inclus
sCheminCateg est une chaîne = ComplèteRep(ExtraitChaîne(sCheminFichiers,1,"\"+sNomRep+"\"))+
sNomRep+"\"
TraceLog("CreationRepertoireCategorieSiInexistant chemin catégorie:"+sCheminCateg)
si pas fRépertoireExiste(ComplèteRep(sCheminCateg)) alors fRepCrée(ComplèteRep(sCheminCateg))
fin
fin
Procédure globale DecodeCheminDocSelonInter
procédure DecodeCheminDocSelonInter(local saStructureChemin est une chaîne ANSI, local saReq est une
chaîne ANSI, local nIdInter est un entier sur 8 octets)
si SansEspace(saStructureChemin) = "" _ou_ nIdInter <= 0 _ou_ SansEspace(saReq) = "" alors
renvoyer ""
fin
saStructureDecodeest une chaîne ANSI = saStructureChemin
tbRub est un tableau de chaînes ANSI = DonneRubSelonCheminDoc(saStructureChemin)
tbRubDansRq est un tableau de chaînes ANSI
pour tout saRub de tbRub
si Contient(saReq,saRub,MotComplet) alors
TableauAjoute(tbRubDansRq,saRub)
fin
fin
si tbRubDansRq..Occurrence > 0 alors
si Contient(saReq,cWhereIdInter) = Faux alors
renvoyer ""
sinon
saReq = Remplace(saReq,cWhereIdInter,nIdInter)
fin
sdReqDoc est une Source de Données
si HExécuteRequêteSQL(sdReqDoc,gcnxAPart,hRequêteDéfaut,saReq) alors
HLitPremier(sdReqDoc)
12/08/2026 Omika_S_Comm_DEV 183
Partie 3 › Collection de procédures › LIB_Service › Code
si HTrouve(sdReqDoc) alors
pour tout saRub de tbRub
saStructureDecode = Remplace(saStructureDecode,"["+saRub+"]", NettoieNomRepertoire(
SansEspace({"sdReqDoc."+SansEspace(saRub)},sscExtérieur)))
fin
fin
renvoyer saStructureDecode
sinon
TraceLog(
"Erreur lors de la création du chemin d’accès des documents DecodeCheminDocSelonInter")
fin
fin
renvoyer ""
Procédure globale DecodeRepertoire
// Résumé : <indiquez ici ce que fait la procédure>
// Syntaxe :
//DecodeRepertoire (<sCheminEtFormat> est chaîne, <tabRep> est tableau)
//
// Paramètres :
// sCheminEtFormat (chaîne ANSI) : <indiquez ici le rôle de sCheminEtFormat>
// tabRep (tableau) : <indiquez ici le rôle de tabRep>
// Valeur de retour :
// Aucune
//
// Exemple :
// Indiquez ici un exemple d'utilisation.
//
procédure DecodeRepertoire(local sCheminEtFormat est une chaîne,tabRep est un tableau de Rep)
sChaine est une chaîne = sCheminEtFormat//"D:\Documents\[CL_Nom] [CL_PKID]\Intervention [IN_PKID]"
//Rep est une structure
// sNomRep est une chaine
// tabRub est un tableau de chaînes
//fin
//tabRep est un tableau de Rep
pour toute chaîne sUnRep de sChaine séparée par ["\"]
nPos est un entier = 0
si sUnRep<>"" alors
unRep est un Rep
unRep.sNomRep = sUnRep
nIndice est un entier =TableauAjoute(tabRep,unRep)
sNomRep est une chaîne = sUnRep
sUneRubrique est une chaîne
sUnePropriete est une chaîne
nPosRub est un entier
nTailleRub est un entier
nPosPropr est un entier
nTaillePropr est un entier
nPosAnnexe est un entier
sUneAnnexe est une chaîne
nTailleAnnexe est un entier
boucle
//**Recherche d'une rubrique
nPosRub = Position(sNomRep,"[")
sUneRubrique = nPosRub>0 ? ExtraitChaîne(ExtraitChaîne(ExtraitChaîne(ExtraitChaîne(
sNomRep,2,"[",DepuisDébut),1,"[",DepuisDébut),1,"]"),1,"]") sinon ""
si nPosRub-1=Position(sNomRep,"#",nPosRub-1) _et_ nPosRub-1>0 alors
tabRep[nIndice].sNomnIDRubRep = sUneRubrique
fin
nTailleRub = sUneRubrique<>"" ? Taille("["+sUneRubrique+"]") sinon 0
sNomRep = nPosRub>0 _et_ nTailleRub>0 ? ChaîneSupprime(sNomRep,nPosRub,nTailleRub
12/08/2026 Omika_S_Comm_DEV 184
Partie 3 › Collection de procédures › LIB_Service › Code
) sinon sNomRep
//**Recherche d'une propriété d'une rubrique
nPosPropr = Position(sNomRep,"{")
sUnePropriete = nPosPropr>0 ? ExtraitChaîne(ExtraitChaîne(ExtraitChaîne(ExtraitChaîne(
sNomRep,2,"{",DepuisDébut),1,"{",DepuisDébut),1,"}"),1,"}") sinon ""
nTaillePropr = sUnePropriete<>"" ? Taille("{"+sUnePropriete+"}") sinon 0
sNomRep = nPosPropr>0 _et_ nTaillePropr>0 ? ChaîneSupprime(sNomRep,nPosPropr,
nTaillePropr) sinon sNomRep
//**Recherche d'une donnée annexe à une rubrique
si Position(sNomRep,"[")<=0 _ou_ Position(sNomRep,"[") >= Position(sNomRep,"<") alors
nPosAnnexe = Position(sNomRep,"<")
sUneAnnexe = nPosAnnexe>0 ? ExtraitChaîne(ExtraitChaîne(ExtraitChaîne(
ExtraitChaîne(sNomRep,2,"<",DepuisDébut),1,"<",DepuisDébut),1,">"),1,">") sinon ""
nTailleAnnexe = sUneAnnexe<>"" ? Taille("<"+sUneAnnexe+">") sinon 0
sNomRep = nPosAnnexe>0 _et_ nTailleAnnexe>0 ? ChaîneSupprime(sNomRep,
nPosAnnexe,nTailleAnnexe) sinon sNomRep
fin
si sUneRubrique<>EOT _et_ sUneRubrique<>"" alors
UnFic est un Fic
UnFic.saNomRubrique = sUneRubrique
si sUnePropriete<>"" alors
UnFic.saProprietee = sUnePropriete
fin
si sUneAnnexe<>"" alors
UnFic.saAnnexe = "SELECT "+ExtraitChaîne(sUneAnnexe,1,"|")+" AS C1 FROM "+
ExtraitChaîne(ExtraitChaîne(sUneAnnexe,1,"|"),1,".") + " WHERE "+ExtraitChaîne(
sUneAnnexe,2,"|")+"=%1"
fin
TableauAjoute(tabRep[nIndice].tabRub,UnFic)
fin
à faire tantque sUneRubrique<>"" _et_ sUneRubrique<>EOT
fin
fin
12/08/2026 Omika_S_Comm_DEV 185
Procédure globale DecodeRepSLAMM
procédure DecodeRepSLAMM(SourceSQL est une Source de Données, sFormatRepDoc est une chaîne, bEnLecture
est un booléen,nIdCategorie est un entier sur 8 octets)
//[LI_CodeLieu] #[LI_PKID] - [LI_IDAdresse]<Adresse.AD_Ligne_4|AD_PKID> -
[LI_IDAdresse]<Adresse.AD_Ville|AD_PKID> ##INTERV\?\
//[IN_DateIntervention]{..Année} [IN_DateIntervention]{..Mois}
[DO_IDTypeDossier]<ParametreMetier.PA_Libelle|PA_PKID> [IN_RefInterne]
//\\slamm-ad01\share\Service entretien\Sites\
//9 quai Jean Moulin - 9 quai Jean Moulin - LYON ##INTERV\Photos\2022 8 Entretien DI000017-3
sCheminFichier est une chaîne ANSI
//POUR TOUT SourceSQL
sCheminFichier += SourceSQL.LI_CodeLieu
sCheminFichier += " - "
sCheminFichier += SourceSQL.AD_Ligne_4
sCheminFichier += " - "
sCheminFichier += SourceSQL.AD_Ville
si Contient(sFormatRepDoc,"##INTERV") alors
sCheminFichier += " ##INTERV"
fin
sCheminFichier += "\"
si nIdCategorie > 0 alors
sCheminFichier += gtabCategorieDocRep[nIdCategorie]
sinon si SourceSQL.DC_Categorie > 0 et bEnLecture alors
sCheminFichier += gtabCategorieDocRep[SourceSQL.DC_Categorie]
sinon
Partie 3 › Collection de procédures › LIB_Service › Code
si gtbaCategorieDoc_ID[1] > 0 alors
sCheminFichier += gtabCategorieDocRep[gtbaCategorieDoc_ID[1]]
sinon
sCheminFichier += "Photos"
fin
fin
sCheminFichier += "\"
sCheminFichier += SourceSQL.IN_DateIntervention..Année
sCheminFichier += " "
sCheminFichier += SourceSQL.IN_DateIntervention..Mois
sCheminFichier += " "
si SourceSQL.DO_IDTypeDossier > 0 alors
sCheminFichier += gtbaCategorieDossier[SourceSQL.DO_IDTypeDossier]
fin
sCheminFichier += " "
sCheminFichier += SourceSQL.IN_RefInterne
//FIN
TraceLog("Répertoire SLAMM âpres decode:" + sCheminFichier)
renvoyer sCheminFichier
Procédure globale DemandeListeDoc
procédure DemandeListeDoc(bufJSON est un Buffer, sd est une Source de Données)
//Demande de Fichiers envoyée par un mobile
stLst est un ST_LISTE_IDDOC
bufFic est un Buffer
saRep est une chaîne ANSI
saCheminBase est une chaîne ANSI
saChemin est une chaîne ANSI
nIdInter est un entier sur 8 octets
saRepRecherche est une chaîne ANSI
Désérialise(stLst,bufJSON,psdJSON)
//Pour chaque ID contenu dans le tableau de doc demandé
si stLst.tblIdDoc..Occurrence>0 alors
saStructureChemin est une chaîne ANSI
saReqDocs est une chaîne ANSI
saRepDocs est une chaîne ANSI
(saStructureChemin, saReqDocs,saRepDocs) = DonneStructureCheminParam()
pour i=1 _à_ stLst.tblIdDoc..Occurrence
si stLst.tblIdDoc[i] >0 alors
//Recherche des fichiers
stDC est un ST_DOC
stDC.nDC_PKID =stLst.tblIdDoc[i]
si HLitRecherchePremier(gsdDocument,DC_PKID,stLst.tblIdDoc[i]) alors
saRep = ""
si SansEspace(gsdDocument.DC_Chemin) <> "" alors
saRep = ComplèteRep(saRepDocs)+ComplèteRep(gsdDocument.DC_Chemin)+gsdDocument.
DC_Nom
fin
si saRep <> "" _et_ pas fFichierExiste(saRep) alors
saRep = ""
12/08/2026 Omika_S_Comm_DEV 187
Partie 3 › Collection de procédures › LIB_Service › Code
fin
si saRep = "" alors
si nIdInter <> gsdDocument.DC_IDIntervention alors
saCheminBase = DecodeCheminDocSelonInter(saStructureChemin,saReqDocs,gsd
Document.DC_IDIntervention)
fin
nIdInter = gsdDocument.DC_IDIntervention
saChemin = DonneCheminFichier(gsdDocument.DC_CleCategorie, saCheminBase)
saRepRecherche = RetrouverRepertoire(saCheminBase,saRepDocs)
saRep = ComplèteRep(saRepRecherche)+gsdDocument.DC_Nom
si pas fFichierExiste(saRepRecherche) alors
saRep = RechercheCheminUnDoc(saChemin,saRepDocs,gsdDocument.DC_Nom)
fin
fin
si saRep<>"" _et_ fFichierExiste(saRep) alors
bufFic = fChargeBuffer(saRep)
stDC.saNom = gsdDocument.DC_Nom
stDC.saType = ""
stDC.nInterID = gsdDocument.DC_IDIntervention
stDC.saDocGUID = gsdDocument.GUID
stDC.saDateCreat = gsdDocument.DC_DateFichier
stDC.nIdUser = gsdDocument.CreationUser
stDC.nStatut = cDoc_OK
gsdDocument.DC_Chemin = Remplace(saRep,ComplèteRep(saRepDocs),"")
gsdDocument.DC_Chemin = Remplace(gsdDocument.DC_Chemin,gsdDocument.DC_Nom,"")
HEnregistre(gsdDocument)
TraceLog("Envoie de " +stDC.saNom + " vers :" +sd.MR_NumSerie ,cTrace_Info)
sinon
TraceLog("Fichier introuvable :" + saRep + gsdDocument.DC_Nom,cTrace_Debug)
stDC.nStatut =cDoc_Inexistant
fin
sinon
TraceLog("Doc déréférencé :" + stLst.tblIdDoc[i],cTrace_Debug)
stDC.nStatut =cDoc_Inconnu
fin
saJSON est une chaîne ANSI
Sérialise(stDC,saJSON,psdJSON)
TraceLog("Ecrit TOMOB - Début : " + gsdDocument.DC_Nom,cTrace_Info)
TraceLog("Taille du buffer : " + TailleVersChaîne( Taille(bufFic),tailleKo ),cTrace_Info)
HRAZ(gsdTOMOB)
gsdTOMOB.TM_buffer = bufFic
gsdTOMOB.TM_Mobile = sd.MR_NumSerie
gsdTOMOB.TM_JSON = saJSON
gsdTOMOB.TM_Date = DateHeureSys()
si sd.MR_CMD = cCMD_DocRpRecup alors
gsdTOMOB.TM_CMD = "DOC_Rp"
sinon
gsdTOMOB.TM_CMD = "DOC"
fin
si pas HAjoute(gsdTOMOB) alors
// Cette écriture peut être longue si le fichier contenu dans bufFic est gros et la
liaison Internet lente.
TraceLog("ERREUR : Le fichier n'a pas été transmis." + HErreurInfo(hErrMessage),
cTrace_Exception)
12/08/2026 Omika_S_Comm_DEV 188
Partie 3 › Collection de procédures › LIB_Service › Code
//On choisit ici de faire comme si le fichier avait été transmis, afin de ne pas
boucler dessus.
sinon
TraceLog("Ecrit TOMOB - Fin",cTrace_Info)
fin
//Marque fait chaque élément du tableau en mettant sa valeur négative. Cela permet de
reprendre ou on en était après un crash
stLst.tblIdDoc[i] = -stLst.tblIdDoc[i]
Sérialise(stLst,bufJSON,psdJSON)
si HLitRecherchePremier(gsdMobReception,MR_PKID,sd.MR_PKID) alors
gsdMobReception.MR_JSON=bufJSON
HModifie(gsdMobReception)
fin
sinon
TraceLog("Fichier déjà transféré : " + stLst.tblIdDoc[i])
fin
fin
fin
MarqueDataTraitée(sd.MR_PKID)
Procédure globale DemarreSurveillanceMessages
// Résumé : <indiquez ici ce que fait la procédure>
// Syntaxe :
// DemarreSurveillanceMessages ()
//
// Paramètres :
// Aucun
// Valeur de retour :
// Aucune
//
// Exemple :
// Indiquez ici un exemple d'utilisation.
//
procédure DemarreSurveillanceMessages()
ArreteLaSurveillanceDeToSRV()
RecupereDonneesNonLu()
// HSurErreur("RECEPT",hErrPerteConnexion,SurPerteDeConnexion)
si HSurveille(gsdTOSRV,CB_Ajout_TOSRV,hNumEnrTous,hsAjout) alors
gbSurveillanceActivée =Vrai
sinon
gbSurveillanceActivée=Faux
TraceLog("La surveillance n'est pas activée: " + RC + ErreurInfo(errComplet),cTrace_Exception)
fin
Procédure globale DocEcrit
procédure DocEcrit(bufJSON est un Buffer, sd est une Source de Données)
stDoc est un ST_DOC
Désérialise(stDoc,bufJSON,psdJSON)
saStructureChemin est une chaîne ANSI
saReqDocs est une chaîne ANSI
saRepDocs est une chaîne ANSI
nErr est un entier
(saStructureChemin, saReqDocs,saRepDocs) = DonneStructureCheminParam()
12/08/2026 Omika_S_Comm_DEV 189
Partie 3 › Collection de procédures › LIB_Service › Code
//Enregistrement d'une Image dans une intervention
nIDCategDoc est un entier sur 8 octets
si stDoc.saType = "PDF_RP" alors
nIDCategDoc = DonneIdParamAvecCle(cCle_TypeDocRapport)
sinon
nIDCategDoc = DonneIdParamAvecCle(cCle_TypeDocImg)
fin
saCheminBase est une chaîne ANSI = DecodeCheminDocSelonInter(saStructureChemin,saReqDocs,stDoc.
nInterID)
saRep est une chaîne ANSI = ComplèteRep(saRepDocs)+ComplèteRep(saCheminBase)
saRep = DonneCheminFichier(DonneCleParamAvecID(nIDCategDoc),
saCheminBase)
saRep = RetrouverRepertoire(saCheminBase,saRepDocs)
si saRep<>"" _et_ fRepCrée(saRep) alors
//Sauve le fichier
si fSauveBuffer(saRep + stDoc.saNom ,sd.MR_Buffer) alors
//Cré ou modifie
si pas HLitRecherchePremier(gsdDocument,guid ,stDoc.saDocGUID) alors
HRAZ(gsdDocument)
gsdDocument.CreationDate = stDoc.saDateCreat
gsdDocument.CreationUser = stDoc.nIdUser
gsdDocument.GUID = stDoc.saDocGUID
fin
gsdDocument.DC_IDIntervention = stDoc.nInterID
gsdDocument.DC_Nom = stDoc.saNom
gsdDocument.DC_Categorie = nIDCategDoc
gsdDocument.DC_CleCategorie = DonneCleParamAvecID(nIDCategDoc)
gsdDocument.DC_DateFichier = stDoc.saDateCreat[1 à 8]
gsdDocument.ModifDate = stDoc.saDateCreat
gsdDocument.ModifUser = stDoc.nIdUser
gsdDocument.DC_Chemin = Remplace(saRep,ComplèteRep(saRepDocs),"")
si pas HEnregistre(gsdDocument) alors
nErr=3
sinon
MarqueDataTraitée(sd.MR_PKID)
fin
sinon
nErr=2
fin
sinon
nErr=1
fin
saERR est une chaîne ANSI
si nErr<>0 alors
TraceLog("TraiteDocRecu Erreur :"+ nErr)
selon nErr
cas 1 //Répertoire Intervention Inexistant
saERR=ErreurInfo(errComplet)
cas 2 //Pb de sauvegarde du buffer
saERR=ErreurInfo(errMessage)
cas 3 //Pb d'enregistrement du document
saERR=HErreurInfo(hErrMessage)
fin
TraceLog(saERR,cTrace_Exception)
//Report du traitement dans 2 minutes
ReporteTraitement(sd.MR_PKID,2)
// SauveDocumentDansRecup(stDoc)
fin
Procédure globale DocNoteEcrit
12/08/2026 Omika_S_Comm_DEV 190
Partie 3 › Collection de procédures › LIB_Service › Code
procédure DocNoteEcrit(bufJSON est un Buffer, sd est une Source de Données)
//Enregistrement d'un commentaire de document
stDN est un ST_DOCNOTE
Désérialise(stDN,bufJSON,psdJSON)
si pas ErreurDétectée alors
TraceLog("Doc NOTE")
TraceLog("GUID =" + stDN.saGuidDoc)
si HLitRecherchePremier(gsdDocument,guid,stDN.saGuidDoc) alors
HRAZ(gsdDocumentNote)
gsdDocumentNote.DN_IDDocument = gsdDocument.DC_PKID
gsdDocumentNote.DN_Note = stDN.saNote
gsdDocumentNote.CreationDate = stDN.saDate
gsdDocumentNote.CreationUser = stDN.nAuteur
gsdDocumentNote.GUID = stDN.saGuid
HAjoute(gsdDocumentNote)
fin
sinon
TraceLog("Enregistrement d'une Note de document"+RC +" Erreur " + ErreurInfo(errComplet))
fin
MarqueDataTraitée(sd.MR_PKID)
Procédure globale DonneCheminFichier
procédure DonneCheminFichier(saCleCategorie est une chaîne ANSI, saCheminRub est une chaîne ANSI)
si saCleCategorie <> "" _et_ Contient(saCheminRub,cRub_Categorie) ou Contient(saCheminRub,
cRub_CategorieID) alors
saRubCtgest une chaîne ANSI = DonneLibelleParamAvecCle(saCleCategorie)
saRubCtgId est une chaîne ANSI = DonneLibelleParamAvecCle(saCleCategorie) +" #"+
DonneIdParamAvecCle(saCleCategorie)
saCheminRub = Remplace(saCheminRub,cRub_Categorie,saRubCtg)
saCheminRub = Remplace(saCheminRub,cRub_CategorieID,saRubCtgId)
fin
renvoyer saCheminRub
Procédure globale DonneCleParamAvecID
procédure DonneCleParamAvecID(local nIdParam est un entier sur 8 octets)
si nIdParam > 0 _et_ gtbaIdParametre[nIdParam]..Existe = Vrai alors
renvoyer gtbaIdParametre[nIdParam]
fin
renvoyer ""
Procédure globale DonneDroitCategorieDoc
// Résumé : <indiquez ici ce que fait la procédure>
// Syntaxe :
//[ <Résultat> = ] DonneDroitCategorieDoc (<nIDCategorie> est entier sur 8 octets)
//
// Paramètres :
// nIDCategorie (entier sur 8 octets) : <indiquez ici le rôle de clModele>
// Valeur de retour :
// multi-valeur : // Aucune
//
// Exemple :
// Indiquez ici un exemple d'utilisation.
//
procédure DonneDroitCategorieDoc(local nIDCategorie est un entier sur 8 octets)
sCodeDroit est une chaîne
sNomRepertoire est une chaîne
12/08/2026 Omika_S_Comm_DEV 191
Partie 3 › Collection de procédures › LIB_Service › Code
//stDroitCateg est un STParamCategDoc
//sParametreJSON
est une chaine = gpclListeCategorieDocument.RechercheEtDonneParametreDepuisId(nIDCategorie)
//SI sParametreJSON<>"" ALORS
//Désérialise(stDroitCateg,sParametreJSON,psdJSON)
sCodeDroit = gtabCategorieDocDroit[nIDCategorie]
sNomRepertoire = gtabCategorieDocRep[nIDCategorie]//stDroitCateg.sNomRepertoire
//FIN
renvoyer (sCodeDroit,sNomRepertoire)
Procédure globale DonneIdParamAvecCle
procédure DonneIdParamAvecCle(local saCle est une chaîne ANSI)
si SansEspace(saCle) <> "" _et_ gtbaCleParametre[saCle]..Existe = Vrai alors
renvoyer gtbaCleParametre[saCle]
fin
renvoyer 0
Procédure globale DonneLibelleParamAvecCle
procédure DonneLibelleParamAvecCle(local saCle est une chaîne ANSI)
si SansEspace(saCle) <> "" _et_ gtbaLibParametre[saCle]..Existe = Vrai alors
renvoyer gtbaLibParametre[saCle]
fin
renvoyer 0
Procédure globale DonneRepertoireIntervention
procédure DonneRepertoireIntervention(local saSNomClient est une chaîne,local nIDClient est un entier
sur 8 octets,local nIDIntervention est un entier sur 8 octets)
sNomRep est une chaîne
si HLitRecherchePremier(gsdParametreApplication,PAP_Code,FormatRepDocument) alors
sNomRep=gsdParametreApplication.PAP_Valeur
sinon
sNomRep="[CL_Nom] [CL_PKID]\Intervention [IN_PKID]"
fin
sNomRep = Remplace(sNomRep, "[IN_PKID]" ,nIDIntervention,MotComplet+SansCasse)
sNomRep = Remplace(sNomRep, "[CL_Nom]" ,saSNomClient ,MotComplet+SansCasse)
sNomRep = Remplace(sNomRep, "[CL_PKID]" ,nIDClient ,MotComplet+SansCasse)
sNomRep = Remplace(sNomRep, "[LI_CodeLieu]" ,nIDClient ,MotComplet+SansCasse)
sNomRep = Remplace(sNomRep, "[IN_RefInterne]",nIDClient ,MotComplet+SansCasse)
sNomRep = Remplace(sNomRep, "[LI_PKID]" ,nIDClient ,MotComplet+SansCasse)
sNomRep = ComplèteRep(sNomRep)
TraceLog("DonneRepertoireIntervention : [" + sNomRep + "]")
renvoyer sNomRep
Procédure globale DonneRepertoireRacine
procédure DonneRepertoireRacine()
sRepRacine est une chaîne
si HLitRecherche(gsdParametreApplication,PAP_Code,RepertoireDocument,hIdentique) alors
sRepRacine = ComplèteRep(gsdParametreApplication.PAP_Valeur)
fin
renvoyer sRepRacine
Procédure globale DonneRubSelonCheminDoc
12/08/2026 Omika_S_Comm_DEV 192
Partie 3 › Collection de procédures › LIB_Service › Code
procédure DonneRubSelonCheminDoc(saStructureChemin est une chaîne ANSI)
tbRub est un tableau de chaînes ANSI
si saStructureChemin = "" alors
renvoyer tbRub
fin
//*******Select********//
pour toute chaîne saUnRep de saStructureChemin séparée par ["\"]
nPos est un entier = 0
si saUnRep<>"" alors
sNomRep est une chaîne = saUnRep
sUneRubrique est une chaîne
nPosRub est un entier
nTailleRub est un entier
boucle
//**Recherche d'une rubrique
nPosRub = Position(sNomRep,"[")
sUneRubrique = nPosRub>0 ? ExtraitChaîne(ExtraitChaîne(ExtraitChaîne(ExtraitChaîne(sNomRep
,2,"[",DepuisDébut),1,"[",DepuisDébut),1,"]"),1,"]") sinon ""
nTailleRub = sUneRubrique<>"" ? Taille("["+sUneRubrique+"]") sinon 0
sNomRep = nPosRub>0 _et_ nTailleRub>0 ? ChaîneSupprime(sNomRep,nPosRub,nTailleRub
) sinon sNomRep
si sUneRubrique<>EOT _et_ sUneRubrique<>"" alors
TableauAjoute(tbRub,sUneRubrique)
fin
à faire tantque sUneRubrique<>"" _et_ sUneRubrique<>EOT
fin
fin
renvoyer tbRub
Procédure globale DonneStructureCheminParam
procédure DonneStructureCheminParam()
saStructureChemin est une chaîne ANSI =
"[LI_CodeLieu] #[LI_PKID]\[CL_Nom] #[CL_PKID]\[IN_RefInterne] #[IN_PKID]\"+cRub_CategorieID
saReq est une chaîne ANSI = [
SELECT IN_RefInterne, IN_PKID, LI_CodeLieu , LI_PKID, CL_Nom, CL_PKID
FROM Intervention
LEFT OUTER JOIN Client ON (Client.CL_PKID=Intervention.IN_IDClient)
LEFT OUTER JOIN Lieu ON (Lieu.LI_PKID=Intervention.IN_IDLieu)
WHERE IN_PKID = {p_IdInter}
]
saChemin est une chaîne ANSI = ComplèteRep(ComplèteRep(fRepExe())+"Documents_Intervention")
saStructureChemin = ParametreLit(cParam_StructureCheminDoc,saStructureChemin,Faux)
saReq = ParametreLit(cParam_ReqCheminDoc,saReq,Faux)
saChemin = ParametreLit(cParam_CheminRepDocInter,saChemin,Faux)
renvoyer (saStructureChemin, saReq,saChemin)
Procédure globale FermetureDesConnexions
procédure FermetureDesConnexions()
HFermeConnexion(gcnxSrvWEB)
HFermeConnexion(gcnxAPart)
12/08/2026 Omika_S_Comm_DEV 193
Partie 3 › Collection de procédures › LIB_Service › Code
gbConnexionOuverte=Faux
Procédure globale FermetureDuService
// Résumé : <indiquez ici ce que fait la procédure>
// Syntaxe :
// FermetureDuService ()
//
// Paramètres :
// Aucun
// Valeur de retour :
// Aucune
//
// Exemple :
// Indiquez ici un exemple d'utilisation.
//
procédure FermetureDuService()
TraceLog("Fermeture du Service",cTrace_Exception)
Procédure globale InfoService
procédure InfoService()
quand exception dans
s est une chaîne ANSI
srep est une chaîne = DonneRepertoireRacine()
si srep="" alors
s="Répertoire racine non configuré"
sinon
s="Rep Racine : " + srep
si fRépertoireExiste(srep) alors
s+= RC + "Répertoire Existe."
si fRepCrée(srep +"SysAPart") alors
s+=RC + "SUCCES de la création du répertoire de test"
si fRepSupprime(srep +"SysAPart") alors
s+=RC + "SUCCES de la suppression du répertoire de test"
sinon
s+=RC +"ECHEC de la suppression du répertoire de test"
s+=RC + ErreurInfo(errMessage)
fin
sinon
s+=RC +"ECHEC de la création du répertoire de test"
s+=RC + ErreurInfo(errMessage)
fin
sinon
s+=RC + "Répertoire inexistant ou inaccessible."
fin
fin
faire
s+=RC + "EXCEPTION" + RC + ExceptionInfo(errComplet)
fin
renvoyer s
Procédure globale InitialisationParametres
procédure InitialisationParametres()
quand exception dans
//Paramètres Métiers
sd est une Source de Données
12/08/2026 Omika_S_Comm_DEV 194
Partie 3 › Collection de procédures › LIB_Service › Code
saReq est une chaîne ANSI =
"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+...
"','"+cParam_TypeSignCR+"','"+cParam_OrigAnnuRDV+"','"+cParam_MotifAnnuRDV+"','"+cparam_TypeTemps+
"') ORDER BY PA_CLE,PA_Categorie"
si HExécuteRequêteSQL(sd, gcnxAPart,hRequêteDéfaut,saReq) alors
pour tout sd
gtbaCleParametre[sd.PA_CLE] = sd.PA_PKID
gtbaLibParametre[sd.PA_CLE] = sd.PA_Libelle
gtbaLibParametre[sd.PA_PKID] = sd.PA_Libelle
gtbaIdParametre[sd.PA_PKID] = sd.PA_CLE
fin
sinon
TraceLog("Erreur chargement de paramètres métier "+HErreurInfo(hErrComplet),cTrace_Exception)
fin
faire
renvoyer Faux
fin
renvoyer Vrai
Procédure globale InitPrincipalDuService
procédure InitPrincipalDuService()
quand exception dans
gbInitialisationRéussie=Faux
//Contrôle de la présence du fichier ini
suFicLog est une chaîne Unicode = InitialiseFichierLog()
si pas fFichierExiste(gsuFicIni) alors
ServiceEcritEvénementJournal("Les données d'initialisation du service n'ont pas été trouvées "+
RC + gsuFicIni + RC + "La communication avec les mobiles n'est pas active.",ejErreur,1)
FinService(fsArrêt)
renvoyer Faux
fin
//Lecture des paramètres de connexion dans le fichier ini
gsaBO_Serveur =INILit("ServeurHFSQL_1","MachineOuAdresseIP" ,"",gsuFicIni)
gsaBO_Port =INILit("ServeurHFSQL_1","Port" ,"",gsuFicIni)
gsaBO_NomBase =INILit("ServeurHFSQL_1","BaseDeDonnees" ,"",gsuFicIni)
gsaSociete =INILit("SOCIETE","Societe" ,"",gsuFicIni)
//Ajout de l'utilisateur ServiceMobile servant à la synchro mobile (Super Utilisateur)
//Le mot de passe est calculé à partir du nom de la base de données
// nPos est un entier = Position(gsaBO_NomBase,"_")
// SI nPos > 1 ALORS
// nPos -= 1
// FIN
// saMp est une chaîne ANSI = Mdp3+"!"+Gauche(gsaBO_NomBase,nPos)
//bufMDP est un buffer =Crypte("APart_"+gsaBO_NomBase,gsCleMdp,crypteRC516,encodePCS)
// TraceLog("ServiceMobile Mdp:[ "+ bufMDP +" ]")
12/08/2026 Omika_S_Comm_DEV 195
Partie 3 › Collection de procédures › LIB_Service › Code
//CONNEXION A LA BASE CLIENT DU BACK-OFFICE
gcnxAPart..Provider = hAccèsHFClientServeur
gcnxAPart..Serveur = gsaBO_Serveur + ":"+gsaBO_Port
gcnxAPart..Utilisateur = cUserServiceMobile
gcnxAPart..MotDePasse = "K9GI6esVFhD1YT"
gcnxAPart..BaseDeDonnées = gsaBO_NomBase
gcnxAPart..Cryptage = hCryptageRC5_16
si pas OuvreConnexionBase() alors
TraceLog("OuvreConnexionBase a échoué : " + HErreurInfo(hErrComplet), cTrace_Exception)
renvoyer Faux
fin
//Purge des anciens Log
PurgeDesFichiersLog()
TraceLog("Connexion réussie à la base BO")
//La connexion au BO est réussie, on récupère les paramètres de fonctionnement du service
gsaSW_Serveur =ParametreLit(cParam_CloudServeur)
gsaSW_Port =ParametreLit(cParam_CloudPortData)
gsaSW_NomBase =ParametreLit(cParam_CloudNomBase,cDefaut_NomBaseTrans)
gsaSW_Cle =ParametreLit(cParam_CloudCle)//A crypter
//Adresse du serveur de WebService
gsaAdresseHTTP_WS =ParametreLit(cParam_WebServiceClient)
ParametreEcrit(cParam_ServiceCommVersion,ExeInfo(exeVersion))
// //Le répertoire de log sera dans <gsRepData> par défaut
// gsuRepLog =ParametreLit("REP_LOG",gsRepData+"Log\")
// fRepCrée(gsuRepLog)
//
// InitialiseFichierLog()
//Purge la table MobLog
PurgeTrace()
//Connexion à la base HFSQL WEB
gcnxSrvWEB..Provider =hAccèsHFClientServeur
gcnxSrvWEB..Serveur =gsaSW_Serveur +":"+gsaSW_Port
//Même compte et pass que dans la base BO
gcnxSrvWEB..Utilisateur =cUserServiceMobile
gcnxSrvWEB..MotDePasse ="K9GI6esVFhD1YT"
gcnxSrvWEB..BaseDeDonnées =gsaSW_NomBase
gcnxSrvWEB..Cryptage =hCryptageNon
OuvreConnexionTOMOB()
ParamCLOUD_Ecrit(cParam_FichierLog,UnicodeVersAnsi(suFicLog))
ParamCLOUD_Ecrit(cParam_ServiceCommVersion,ExeInfo(exeVersion))
ParamCLOUD_Ecrit(cParam_ServiceInit,DateHeureSys)
WS_COM_MOBILE..Adresse=gsaAdresseHTTP_WS
si WS_COM_MOBILE.Tesla()="OUI" alors
TraceLog("Webservice Actif")
sinon
TraceLog("Webservice Inactif : " + gsaAdresseHTTP_WS,cTrace_Exception)
fin
//---------------------------------------------------------------------------
12/08/2026 Omika_S_Comm_DEV 196
Partie 3 › Collection de procédures › LIB_Service › Code
ChargeParametresMetiers()
InitialisationParametres()
gbInitialisationRéussie = Vrai
renvoyer Vrai
faire
gbInitialisationRéussie = Faux
TraceLog("Exception durant l'initialisation du service." + RC + ExceptionInfo(errComplet),
cTrace_Exception)
renvoyer Faux
fin
//fRepCrée(gsuRepLog)
Procédure globale InitSurveillance
// Résumé : <indiquez ici ce que fait la procédure>
// Syntaxe :
//[ <Résultat> = ] InitSurveillance ()
//
// Paramètres :
// Aucun
// Valeur de retour :
// booléen : // Aucune
//
// Exemple :
// Indiquez ici un exemple d'utilisation.
//
procédure InitSurveillance()
SectionCritiqueDébut("InitSurveillance") //Pour ne pas avoir deux threads dans cette fonction
bOk est un booléen =Faux
quand exception dans
si pas HLitPremier(gsdPARAM) alors
si HOuvreConnexion(gcnxSrvWEB) alors
gbConnexionCloudActive=Vrai
DemarreSurveillanceMessages()
bOk=Vrai
sinon
TraceLog("Erreur de connexion, Impossible d'initier la surveillance des messages.",
cTrace_Exception)
fin
sinon
DemarreSurveillanceMessages()
bOk=Vrai
fin
faire
TraceLog("InitSurveillance : Exception " + ExceptionInfo(errComplet),cTrace_Exception)
fin
SectionCritiqueFin("InitSurveillance")
renvoyer bOk
Procédure globale LanceTachesDeTraitementDocRecus
procédure LanceTachesDeTraitementDocRecus()
SectionCritiqueDébut("LANCETHREAD")
si ThreadEtat("TRAITEDOC")=threadInexistant alors
12/08/2026 Omika_S_Comm_DEV 197
Partie 3 › Collection de procédures › LIB_Service › Code
ThreadExécute("TRAITEDOC",threadCopieComplèteContexteHFSQL,TH_TraiteDocRecu)
sinon
ThreadEnvoieSignal("TRAITEDOC")
fin
SectionCritiqueFin("LANCETHREAD")
Procédure globale MarqueDataTraitée
procédure MarqueDataTraitée(nIdMobReception est un entier sur 8 octets)
si HLitRecherchePremier(gsdMobReception,MR_PKID,nIdMobReception) alors
gsdMobReception.MR_Fait=Vrai
HModifie(gsdMobReception)
fin
Procédure globale MessageExterne
procédure MessageExterne(bufJSON est un Buffer, sd est une Source de Données)
TraceLog("cCMD_MsgExtEcrit",cTrace_Debug)
stMSG est un ST_MsgExterneMail
Désérialise(stMSG,bufJSON,psdJSON)
si pas ErreurDétectée alors
si pas HLitRecherchePremier(gsdMessageExterne,GUID,stMSG.saGUID) alors
HRAZ(gsdMessageExterne)
gsdMessageExterne.GUID = stMSG.saGUID
fin
| gsdMessageExterne.ME_IDIntervention | = stMSG.nIdInter | |
| ------------------------------------- | ----------------- | --- |
| gsdMessageExterne.ME_AdrExp | = stMSG.saAdrExp | |
| gsdMessageExterne.ME_AdrDestinataires | = stMSG.saDest | |
| gsdMessageExterne.ME_AdrCC | = stMSG.saDestCC | |
| gsdMessageExterne.ME_AdrCCI | = stMSG.saDestCCI | |
| gsdMessageExterne.ME_Objet | = stMSG.saSujet | |
| gsdMessageExterne.ME_Message | = stMSG.bufCorp | |
| gsdMessageExterne.ME_IDDocPJ | = stMSG.saPJ | |
| gsdMessageExterne.ME_Envoyer | = stMSG.bEnvoye | |
si pas stMSG.bEnvoye alors
gsdMessageExterne.ME_Brouillon = Vrai
fin
si SansEspace(stMSG.saPJ) <> "" alors
gsdMessageExterne.ME_PJ = Vrai
fin
| gsdMessageExterne.CreationDate | = DateHeureSys() | |
| ------------------------------- | ---------------- | --- |
| gsdMessageExterne.CreationUser | = stMSG.nIdUser | |
| gsdMessageExterne.ME_EnvoyerMob | = Vrai | |
si pas HEnregistre(gsdMessageExterne) alors
TraceLog("cCMD_MsgExtEcrit Erreur "+RC+HErreurInfo(hErrComplet),cTrace_Debug)
sinon
TraceLog("cCMD_MsgExtEcrit ID "+gsdMessageExterne.ME_PKID)
fin
fin
MarqueDataTraitée(sd.MR_PKID)
Procédure globale NettoieNomRepertoire
procédure NettoieNomRepertoire(sTexte est une chaîne) : chaîne
| 12/08/2026 | Omika_S_Comm_DEV | 198 |
| ---------- | ---------------- | --- |
Partie 3 › Collection de procédures › LIB_Service › Code
// Liste des caractères interdits
sInterdits est une chaîne = "\/:*?""<>|[]!"
sResultat est une chaîne = sTexte
i est un entier
// 1. Remplacement des caractères interdits par un espace
pour i = 1 à Taille(sInterdits)
sResultat = Remplace(sResultat, Milieu(sInterdits, i, 1), " ")
fin
// 2. Supprimer les points en fin de chaîne (interdit Windows)
tantque Droite(sResultat, 1) = "."
sResultat = Gauche(sResultat, Taille(sResultat) - 1)
fin
// 3. Supprimer espaces multiples
tantque Position(sResultat, " ") > 0
sResultat = Remplace(sResultat, " ", " ")
fin
// 4. Espace vide
sResultat = SansEspace(sResultat,sscExtérieur)
renvoyer sResultat
Procédure globale NormalizeSouple
procédure NormalizeSouple(s est une chaîne) : chaîne
s1 est une chaîne = Minuscule(s)
s1 = SansAccent(s1)
// Uniformiser séparateurs
s1 = Remplace(s1, "-", " ")
s1 = Remplace(s1, "_", " ")
s1 = Remplace(s1, "\", " ")
s1 = Remplace(s1, "/", " ")
s1 = Remplace(s1, ".", " ")
s1 = Remplace(s1, ",", " ")
s1 = Remplace(s1, "(", " ")
s1 = Remplace(s1, ")", " ")
// Supprimer tout ce qui n'est pas lettre/chiffre/espace
s2 est une chaîne = ""
pour i = 1 _à_ Taille(s1)
c est une chaîne = s1[[i]]
si (c >= "a" et c <= "z") ou (c >= "0" et c <= "9") ou c = " " alors
s2 += c
fin
fin
// Nettoyer espaces multiples
tantque Contient(s2, " ")
s2 = Remplace(s2, " ", " ")
fin
renvoyer SansEspace(s2)
Procédure globale NoteEcrit
12/08/2026 Omika_S_Comm_DEV 199
Partie 3 › Collection de procédures › LIB_Service › Code
procédure NoteEcrit(bufJSON est un Buffer, sd est une Source de Données)
tb est un tableau de ST_MSGINTERNE
Désérialise(tb,bufJSON,psdJSON)
si pas ErreurDétectée alors
pour tout st de tb
si pas HLitRecherchePremier(gsdMessageInterne,GUID,st.sAGuid) alors
HRAZ(gsdMessageInterne)
fin
gsdMessageInterne.MI_Message = st.sANote
gsdMessageInterne.MI_IDIntervention = st.nIdInter
gsdMessageInterne.CreationDate = st.sADate
gsdMessageInterne.CreationUser = st.nIdUser
gsdMessageInterne.GUID = st.sAGuid
HEnregistre(gsdMessageInterne)
fin
MarqueDataTraitée(sd.MR_PKID)
fin
Procédure globale OuvreConnexionBase
procédure OuvreConnexionBase()
saPass est une chaîne ANSI = BufferVersHexa(HashChaîne(HA_MD5_128,gcnxAPart..BaseDeDonnées),
SansRegroupement)
si pas HOuvreConnexion(gcnxAPart) alors
TraceLog(
"Le service de communication de l'application, n'a pas pu ouvrir la connexion au serveur HFSQL : "
+ gsaBO_Serveur + ":"+gsaBO_Port + RC + "La communication avec les mobiles n'est pas active.",
cTrace_Exception)
gbConnexionOuverte=Faux
renvoyer Faux
sinon
gbConnexionOuverte=Vrai
gbDeclarationExterneFaite = Faux
fin
si pas gbDeclarationExterneFaite alors
//Déclaration Externe de tous les fichiers du répliqua afin de pouvoir faire des requêtes les
utilisant.
sPassSysteme est une chaîne ANSI = BufferVersHexa(HashChaîne(HA_MD5_128,Mdp3 + gcnxAPart..
BaseDeDonnées),SansRegroupement)
saLst est une chaîne ANSI = HListeFichier(gcnxAPart)
pour toute chaîne saFic de saLst séparée par RC
WL.Trace(saFic)
si ChaîneOccurrence(saFic,"\")=0 alors
si saFic="ParametreSysteme.fic" alors
si pas HPasse(ExtraitChaîne(saFic,1,"."),sPassSysteme) alors
WL.Trace(HErreurInfo(hErrComplet))
fin
sinon
si pas HPasse(ExtraitChaîne(saFic,1,"."),saPass) alors
WL.Trace(HErreurInfo(hErrComplet))
fin
fin
12/08/2026 Omika_S_Comm_DEV 200
Partie 3 › Collection de procédures › LIB_Service › Code
selon saFic
cas "ParametreSysteme.fic" : si pas HPasse( gsdParametreSystem ,
sPassSysteme ) ou pas HPasse( ExtraitChaîne(saFic,1,"."), sPassSysteme ) alors
Trace(HErreurInfo(hErrComplet))
cas "ParametreMetierEntete.fic" : Trace("HPasse ParametreMetierEntete ignoré")
//SI PAS HPasse( gsdParametreMetierEntete , sPassSysteme
) OU PAS HPasse( ExtraitChaîne(saFic,1,"."), sPassSysteme
) ALORS Trace(HErreurInfo(hErrComplet))
cas "ParametreApplication.fic" : si pas HPasse( gsdParametreApplication , saPass
) ou pas HPasse( ExtraitChaîne(saFic,1,"."), saPass ) alors Trace(HErreurInfo(
hErrComplet))
cas "ParametreMetier.fic" : si pas HPasse( gsdParametreMetier , saPass
) ou pas HPasse( ExtraitChaîne(saFic,1,"."), saPass ) alors Trace(HErreurInfo(
hErrComplet))
cas "MobReception.fic" : si pas HPasse( gsdMobReception , saPass
) ou pas HPasse( ExtraitChaîne(saFic,1,"."), saPass ) alors Trace(HErreurInfo(
hErrComplet))
cas "Document.fic" : si pas HPasse( gsdDocument , saPass
) ou pas HPasse( ExtraitChaîne(saFic,1,"."), saPass ) alors Trace(HErreurInfo(
hErrComplet))
cas "DocumentNote.fic" : si pas HPasse( gsdDocumentNote , saPass
) ou pas HPasse( ExtraitChaîne(saFic,1,"."), saPass ) alors Trace(HErreurInfo(
hErrComplet))
cas "Collaborateur.fic" : si pas HPasse( gsdCollaborateur , saPass
) ou pas HPasse( ExtraitChaîne(saFic,1,"."), saPass ) alors Trace(HErreurInfo(
hErrComplet))
cas "SuiviDesTemps.fic" : si pas HPasse( gsdSuiviDesTemps , saPass
) ou pas HPasse( ExtraitChaîne(saFic,1,"."), saPass ) alors Trace(HErreurInfo(
hErrComplet))
cas "CompteRendu.fic" : si pas HPasse( gsdCompteRendu , saPass
) ou pas HPasse( ExtraitChaîne(saFic,1,"."), saPass ) alors Trace(HErreurInfo(
hErrComplet))
cas "MessageInterne.fic" : si pas HPasse( gsdMessageInterne , saPass
) ou pas HPasse( ExtraitChaîne(saFic,1,"."), saPass ) alors Trace(HErreurInfo(
hErrComplet))
cas "MessageExterne.fic" : si pas HPasse( gsdMessageExterne , saPass
) ou pas HPasse( ExtraitChaîne(saFic,1,"."), saPass ) alors Trace(HErreurInfo(
hErrComplet))
cas "RDV_Collaborateur.fic" : si pas HPasse( gsdPlanning_RDV , saPass
) ou pas HPasse( ExtraitChaîne(saFic,1,"."), saPass ) alors Trace(HErreurInfo(
hErrComplet))
cas "RDV_Contact.fic" : si pas HPasse( gsdPlanning_RDV_Pers , saPass
) ou pas HPasse( ExtraitChaîne(saFic,1,"."), saPass ) alors Trace(HErreurInfo(
hErrComplet))
cas "RDV_Planning.fic" : si pas HPasse( gsdPlanning , saPass
) ou pas HPasse( ExtraitChaîne(saFic,1,"."), saPass ) alors Trace(HErreurInfo(
hErrComplet))
cas "Compteur.fic" : si pas HPasse( gsdCompteur , saPass
) ou pas HPasse( ExtraitChaîne(saFic,1,"."), saPass ) alors Trace(HErreurInfo(
hErrComplet))
autre cas : si pas HPasse( ExtraitChaîne(saFic,1,"."), saPass
) alors Trace(HErreurInfo(hErrComplet))
fin
selon saFic
cas "ParametreSysteme.fic" : si pas HAnnuleDéclaration(gsdParametreSystem
) ou pas HAnnuleDéclaration(saFic ) alors Trace(HErreurInfo
(hErrComplet))
cas "ParametreMetierEntete.fic" : Trace(
"HAnnuleDéclaration ParametreMetierEntete ignoré")
//SI PAS HAnnuleDéclaration(gsdParametreMetierEntete
) OU PAS HAnnuleDéclaration(saFic
) ALORS Trace(HErreurInfo(hErrComplet))
cas "ParametreApplication.fic" : si pas HAnnuleDéclaration(gsdParametreApplication
) ou pas HAnnuleDéclaration(saFic ) alors Trace(HErreurInfo
(hErrComplet))
12/08/2026 Omika_S_Comm_DEV 201
Partie 3 › Collection de procédures › LIB_Service › Code
cas "ParametreMetier.fic" : si pas HAnnuleDéclaration(gsdParametreMetier
) ou pas HAnnuleDéclaration(saFic ) alors Trace(HErreurInfo
(hErrComplet))
cas "MobReception.fic" : si pas HAnnuleDéclaration(gsdMobReception
) ou pas HAnnuleDéclaration(saFic ) alors Trace(HErreurInfo
(hErrComplet))
cas "Document.fic" : si pas HAnnuleDéclaration(gsdDocument
) ou pas HAnnuleDéclaration(saFic ) alors Trace(HErreurInfo
(hErrComplet))
cas "DocumentNote.fic" : si pas HAnnuleDéclaration(gsdDocumentNote
) ou pas HAnnuleDéclaration(saFic ) alors Trace(HErreurInfo
(hErrComplet))
cas "Collaborateur.fic" : si pas HAnnuleDéclaration(gsdCollaborateur
) ou pas HAnnuleDéclaration(saFic ) alors Trace(HErreurInfo
(hErrComplet))
cas "SuiviDesTemps.fic" : si pas HAnnuleDéclaration(gsdSuiviDesTemps
) ou pas HAnnuleDéclaration(saFic ) alors Trace(
HErreurInfo(hErrComplet))
cas "CompteRendu.fic" : si pas HAnnuleDéclaration(gsdCompteRendu
) ou pas HAnnuleDéclaration(saFic ) alors Trace(HErreurInfo
(hErrComplet))
cas "MessageInterne.fic" : si pas HAnnuleDéclaration(gsdMessageInterne
) ou pas HAnnuleDéclaration(saFic ) alors Trace(HErreurInfo
(hErrComplet))
cas "MessageExterne.fic" : si pas HAnnuleDéclaration(gsdMessageExterne
) ou pas HAnnuleDéclaration(saFic ) alors Trace(HErreurInfo
(hErrComplet))
cas "RDV_Collaborateur.fic" : si pas HAnnuleDéclaration(gsdPlanning_RDV
) ou pas HAnnuleDéclaration(saFic ) alors Trace(HErreurInfo
(hErrComplet))
cas "RDV_Contact.fic" : si pas HAnnuleDéclaration(gsdPlanning_RDV_Pers
) ou pas HAnnuleDéclaration(saFic ) alors Trace(HErreurInfo
(hErrComplet))
cas "RDV_Planning.fic" : si pas HAnnuleDéclaration(gsdPlanning
) ou pas HAnnuleDéclaration(saFic ) alors Trace(HErreurInfo
(hErrComplet))
cas "Compteur.fic" : si pas HAnnuleDéclaration(gsdCompteur
) ou pas HAnnuleDéclaration(saFic ) alors Trace(HErreurInfo
(hErrComplet))
autre cas : si pas HAnnuleDéclaration(saFic
) alors Trace(HErreurInfo(hErrComplet))
fin
selon saFic
cas "ParametreSysteme.fic" : si (pas HDéclareExterne("ParametreSysteme.fic"
,gsdParametreSystem ,gcnxAPart) ou pas HDéclareExterne(saFic ,
ExtraitChaîne(saFic,1,".") ,gcnxAPart)) _et_ HErreur() <> 702017 alors Trace(
HErreurInfo(hErrComplet))
cas "ParametreMetierEntete.fic" : Trace(
"HDéclareExterne ParametreMetierEntete ignoré")
cas "ParametreApplication.fic" : si (pas HDéclareExterne(
"ParametreApplication.fic" ,gsdParametreApplication ,gcnxAPart) ou pas
HDéclareExterne(saFic,ExtraitChaîne(saFic,1,".") ,gcnxAPart)) _et_ HErreur() <>
702017 alors Trace(HErreurInfo(hErrComplet))
cas "ParametreMetier.fic" : si (pas HDéclareExterne("ParametreMetier.fic"
,gsdParametreMetier ,gcnxAPart) ou pas HDéclareExterne(saFic ,
ExtraitChaîne(saFic,1,".") ,gcnxAPart)) _et_ HErreur() <> 702017 alors Trace(
HErreurInfo(hErrComplet))
cas "MobReception.fic" : si (pas HDéclareExterne("MobReception.fic"
,gsdMobReception ,gcnxAPart) ou pas HDéclareExterne(saFic ,
ExtraitChaîne(saFic,1,".") ,gcnxAPart)) _et_ HErreur() <> 702017 alors Trace(
HErreurInfo(hErrComplet))
cas "Document.fic" : si (pas HDéclareExterne("Document.fic"
,gsdDocument ,gcnxAPart) ou pas HDéclareExterne(saFic ,
ExtraitChaîne(saFic,1,".") ,gcnxAPart)) _et_ HErreur() <> 702017 alors Trace(
HErreurInfo(hErrComplet))
cas "DocumentNote.fic" : si (pas HDéclareExterne("DocumentNote.fic"
12/08/2026 Omika_S_Comm_DEV 202
Partie 3 › Collection de procédures › LIB_Service › Code
,gsdDocumentNote ,gcnxAPart) ou pas HDéclareExterne(saFic ,ExtraitChaîne(saFic,1,".")
,gcnxAPart)) _et_ HErreur() <> 702017 alors Trace(HErreurInfo(hErrComplet))
cas "Collaborateur.fic" : si (pas HDéclareExterne("Collaborateur.fic"
,gsdCollaborateur ,gcnxAPart) ou pas HDéclareExterne(saFic ,
ExtraitChaîne(saFic,1,".") ,gcnxAPart)) _et_ HErreur() <> 702017 alors Trace(
HErreurInfo(hErrComplet))
cas "SuiviDesTemps.fic" : si (pas HDéclareExterne("SuiviDesTemps.fic"
,gsdSuiviDesTemps ,gcnxAPart) ou pas HDéclareExterne(saFic ,
ExtraitChaîne(saFic,1,".") ,gcnxAPart)) _et_ HErreur() <> 702017 alors Trace(
HErreurInfo(hErrComplet))
cas "CompteRendu.fic" : si (pas HDéclareExterne("CompteRendu.fic"
,gsdCompteRendu ,gcnxAPart) ou pas HDéclareExterne(saFic ,
ExtraitChaîne(saFic,1,".") ,gcnxAPart)) _et_ HErreur() <> 702017 alors Trace(
HErreurInfo(hErrComplet))
cas "MessageInterne.fic" : si (pas HDéclareExterne("MessageInterne.fic"
,gsdMessageInterne ,gcnxAPart) ou pas HDéclareExterne(saFic ,
ExtraitChaîne(saFic,1,".") ,gcnxAPart)) _et_ HErreur() <> 702017 alors Trace(
HErreurInfo(hErrComplet))
cas "MessageExterne.fic" : si (pas HDéclareExterne("MessageExterne.fic"
,gsdMessageExterne ,gcnxAPart) ou pas HDéclareExterne(saFic ,
ExtraitChaîne(saFic,1,".") ,gcnxAPart)) _et_ HErreur() <> 702017 alors Trace(
HErreurInfo(hErrComplet))
cas "RDV_Collaborateur.fic" : si (pas HDéclareExterne("RDV_Collaborateur.fic"
,gsdPlanning_RDV ,gcnxAPart) ou pas HDéclareExterne(saFic ,
ExtraitChaîne(saFic,1,".") ,gcnxAPart)) _et_ HErreur() <> 702017 alors Trace(
HErreurInfo(hErrComplet))
cas "RDV_Contact.fic" : si (pas HDéclareExterne("RDV_Contact.fic"
,gsdPlanning_RDV_Pers ,gcnxAPart) ou pas HDéclareExterne(saFic ,
ExtraitChaîne(saFic,1,".") ,gcnxAPart)) _et_ HErreur() <> 702017 alors Trace(
HErreurInfo(hErrComplet))
cas "RDV_Planning.fic" : si (pas HDéclareExterne("RDV_Planning.fic"
,gsdPlanning ,gcnxAPart) ou pas HDéclareExterne(saFic ,
ExtraitChaîne(saFic,1,".") ,gcnxAPart)) _et_ HErreur() <> 702017 alors Trace(
HErreurInfo(hErrComplet))
cas "Compteur.fic" : si (pas HDéclareExterne("Compteur.fic"
,gsdCompteur ,gcnxAPart) ou pas HDéclareExterne(saFic ,
ExtraitChaîne(saFic,1,".") ,gcnxAPart)) _et_ HErreur() <> 702017 alors Trace(
HErreurInfo(hErrComplet))
autre cas : si pas HDéclareExterne(saFic
,ExtraitChaîne(saFic,1,".") ,gcnxAPart) _et_ HErreur() <> 702017 alors Trace(
HErreurInfo(hErrComplet))
fin
fin
fin
gbDeclarationExterneFaite=Vrai //Ainsi on ne le refera pas.
fin
renvoyer Vrai
Procédure globale OuvreConnexionTOMOB
procédure OuvreConnexionTOMOB()
HPass(gsdTOSRV,gsaSW_Cle)
HPasse(gsdTOMOB,gsaSW_Cle)
HPasse(gsdPARAM,gsaSW_Cle)
HAnnuleDéclaration(gsdTOMOB)
HAnnuleDéclaration(gsdTOSRV)
HAnnuleDéclaration(gsdPARAM)
HDéclareExterne("TOSRV.fic",gsdTOSRV,gcnxSrvWEB)
HDéclareExterne("TOMOB.fic",gsdTOMOB,gcnxSrvWEB)
HDéclareExterne("PARAMETRES.fic",gsdPARAM,gcnxSrvWEB)
12/08/2026 Omika_S_Comm_DEV 203
Partie 3 › Collection de procédures › LIB_Service › Code
si pas HOuvreConnexion(gcnxSrvWEB) alors
TraceLog("Erreur de connexion à la base WEB :" + HErreurInfo(hErrComplet),cTrace_Exception)
renvoyer Faux
sinon
TraceLog("Connexion réussie à la base Cloud")
renvoyer Vrai
fin
Procédure globale ParamCLOUD_Ecrit
procédure ParamCLOUD_Ecrit(local saCle est une chaîne ANSI,local saValeurTexte est une chaîne ANSI)
quand exception dans
si pas HLitRecherchePremier(gsdPARAM,"CLE",saCle) alors
HRAZ(gsdPARAM)
fin
gsdPARAM.CLE=saCle
gsdPARAM.VALTEXT=saValeurTexte
HEnregistre(gsdPARAM)
renvoyer Vrai
faire
TraceLog("ParamCLOUD_Ecrit : [" + saCle +"]=["+ saValeurTexte + "] " + RC + ExceptionInfo(
errComplet),cTrace_Exception)
renvoyer Faux
fin
Procédure globale ParametreEcrit
//
procédure ParametreEcrit(local saNomParametre est chaîne ANSI,local saValeur est une chaîne ANSI ,
bCrypte est un booléen=Faux,sADescription est une chaîne ANSI="")
quand exception dans
si pas HLitRecherchePremier(gsdParametreApplication,PAP_Code,saNomParametre) alors
HRAZ(gsdParametreApplication)
gsdParametreApplication.PAP_Code=saNomParametre
gsdParametreApplication.PAP_Description = sADescription
fin
si bCrypte alors
bufValeur est un Buffer = saValeur
gsdParametreApplication.PAP_Valeur=CrypteStandard(bufValeur, HashChaîne(HA_MD5_128,Mdp1+Mdp2+Mdp3),
crypteAES128)
sinon
gsdParametreApplication.PAP_Valeur=saValeur
fin
si pas HEnregistre(gsdParametreApplication) alors
saErreur est une chaîne ANSI = HErreurInfo(hErrComplet)
TraceLog("Écriture paramètre a échoué : " + saErreur, cTrace_Exception)
renvoyer saErreur
sinon
renvoyer "OK"
fin
faire
TraceLog("Écriture paramètre a échoué : " + ExceptionInfo(errComplet), cTrace_Exception)
renvoyer ExceptionInfo(errComplet)
fin
Procédure globale ParametreLit
12/08/2026 Omika_S_Comm_DEV 204
Partie 3 › Collection de procédures › LIB_Service › Code
procédure ParametreLit(local saNomParametre est chaîne,local saParDefaut est chaîne="",bCrypte est un
booléen=Faux)
si pas HLitRecherchePremier(gsdParametreApplication,PAP_Code,saNomParametre) alors
si saParDefaut<>"" alors
HRAZ(gsdParametreApplication)
gsdParametreApplication.PAP_Code=saNomParametre
si bCrypte alors
// bufCle est un Buffer = HashChaîne(HA_MD5_128,mdp1+mdp2+mdp3)
bufTmp est un Buffer = saParDefaut
gsdParametreApplication.PAP_Valeur=CrypteStandard( bufTmp, HashChaîne(HA_MD5_128,Mdp1+Mdp2
+Mdp3), crypteAES128)
sinon
gsdParametreApplication.PAP_Valeur=saParDefaut
fin
HAjoute(gsdParametreApplication)
fin
renvoyer saParDefaut
sinon
si bCrypte alors
bufCrypte est un Buffer =gsdParametreApplication.PAP_Valeur
si bufCrypte="" alors renvoyer ""
//bufCle est un Buffer = HashChaîne(HA_MD5_128, mdp1+mdp2+mdp3)
renvoyer DécrypteStandard(bufCrypte, HashChaîne(HA_MD5_128, Mdp1+Mdp2+Mdp3), crypteAES128)
sinon
renvoyer gsdParametreApplication.PAP_Valeur
fin
fin
Procédure globale ParametreMetierEcrit
procédure ParametreMetierEcrit(stParam est un ST_PARAMETRE,sMsgErreur est une chaîne)
sMsgErreur=""
quand exception dans
si pas HLitRecherchePremier(gsdParametreMetier,PA_CodePA_Valeur,[stParam.sCle,stParam.sValeur])
alors
HRAZ(gsdParametreMetier)
fin
gsdParametreMetier.PA_Code = stParam.sCle
gsdParametreMetier.PA_Valeur = stParam.sValeur
gsdParametreMetier.PA_Actif = stParam.bActif
gsdParametreMetier.PA_CleLiaison = stParam.sCleLiaison
gsdParametreMetier.PA_Invisible = stParam.bInvisible
gsdParametreMetier.PA_Libelle = stParam.sDescript
gsdParametreMetier.PA_LibelleCourt = stParam.sLibCourt
gsdParametreMetier.PA_Ordre = stParam.nOrdre
gsdParametreMetier.PA_Parametre = stParam.sParametre
gsdParametreMetier.PA_Systeme = stParam.bSysteme
HEnregistre(gsdParametreMetier)
renvoyer Vrai
faire
sMsgErreur= ExceptionInfo(errComplet)
renvoyer Faux
fin
Procédure globale ParametreMetierLit
12/08/2026 Omika_S_Comm_DEV 205
Partie 3 › Collection de procédures › LIB_Service › Code
procédure ParametreMetierLit(stParam est un ST_PARAMETRE,sMsgErreur est une chaîne)
sMsgErreur=""
quand exception dans
si HLitRecherchePremier(gsdParametreMetier,PA_CodePA_Valeur,[stParam.sCle,stParam.sValeur]) alors
stParam.nPKID = gsdParametreMetier.PA_PKID
stParam.sCle = gsdParametreMetier.PA_Code
stParam.sValeur = gsdParametreMetier.PA_Valeur
stParam.bActif = gsdParametreMetier.PA_Actif
stParam.sCleLiaison = gsdParametreMetier.PA_CleLiaison
stParam.bInvisible = gsdParametreMetier.PA_Invisible
stParam.sDescript = gsdParametreMetier.PA_Libelle
stParam.sLibCourt = gsdParametreMetier.PA_LibelleCourt
stParam.nOrdre = gsdParametreMetier.PA_Ordre
stParam.sParametre = gsdParametreMetier.PA_Parametre
stParam.bSysteme = gsdParametreMetier.PA_Systeme
stParam.sCleParam = gsdParametreMetier.PA_CLE
stParam.sCategorie = gsdParametreMetier.PA_Categorie
renvoyer Vrai
sinon
sMsgErreur="Paramètre inconnu"
renvoyer Faux
fin
faire
sMsgErreur = ExceptionInfo(errComplet)
TraceLog("Erreur lors de la lecture du paramètre métier " + RC + sMsgErreur,cTrace_Exception)
renvoyer Faux
fin
Procédure globale ParametreMetierSupprime
procédure ParametreMetierSupprime(stParam est un ST_PARAMETRE,sMsgErreur est une chaîne)
sMsgErreur = ""
quand exception dans
si pas HLitRecherchePremier(gsdParametreMetier,PA_CodePA_Valeur,[stParam.sCle,stParam.sValeur])
alors
renvoyer Vrai
sinon
renvoyer HSupprime(gsdParametreMetier)
fin
faire
sMsgErreur = ExceptionInfo(errComplet)
TraceLog("Erreur lors de la suppression du paramètre métier" + RC + sMsgErreur,cTrace_Exception)
renvoyer Faux
fin
Procédure globale ParametreSupprime
procédure ParametreSupprime(local saNomParametre est chaîne)
si HLitRecherchePremier(gsdParametreApplication,PAP_Code,saNomParametre) alors
si pas HSupprime(gsdParametreApplication) alors
renvoyer HErreurInfo(hErrComplet)
fin
fin
renvoyer ""
Procédure globale ParametreSystemEcrit
12/08/2026 Omika_S_Comm_DEV 206
Partie 3 › Collection de procédures › LIB_Service › Code
procédure ParametreSystemEcrit(local saNomParametre est chaîne ANSI,local saValeur est une chaîne ANSI
,bCrypte est un booléen=Faux,sADescription est une chaîne ANSI="")
quand exception dans
si pas HLitRecherchePremier(gsdParametreSystem,PAS_Code,saNomParametre) alors
HRAZ(gsdParametreSystem)
gsdParametreSystem.PAS_Code=saNomParametre
gsdParametreSystem.PAS_Description = sADescription
fin
si bCrypte alors
bufValeur est un Buffer = saValeur
gsdParametreSystem.PAS_Valeur=CrypteStandard(bufValeur, HashChaîne(HA_MD5_128,Mdp1+Mdp2+Mdp3),
crypteAES128)
sinon
gsdParametreSystem.PAS_Valeur=saValeur
fin
HEnregistre(gsdParametreSystem)
renvoyer "OK"
faire
renvoyer ExceptionInfo(errComplet)
fin
Procédure globale ParametreSystemLit
procédure ParametreSystemLit(local saNomParametre est chaîne,local saParDefaut est chaîne="",bCrypte
est un booléen=Faux)
si pas HLitRecherchePremier(gsdParametreSystem,PAS_Code,saNomParametre) alors
si saParDefaut<>"" alors
HRAZ(gsdParametreSystem)
gsdParametreSystem.PAS_Code=saNomParametre
si bCrypte alors
// bufCle est un Buffer = HashChaîne(HA_MD5_128,mdp1+mdp2+mdp3)
bufTmp est un Buffer = saParDefaut
gsdParametreSystem.PAS_Valeur=CrypteStandard( bufTmp, HashChaîne(HA_MD5_128,Mdp1+Mdp2+Mdp3
), crypteAES128)
sinon
gsdParametreSystem.PAS_Valeur=saParDefaut
fin
HAjoute(gsdParametreSystem)
fin
renvoyer saParDefaut
sinon
si bCrypte alors
bufCrypte est un Buffer =gsdParametreSystem.PAS_Valeur
si bufCrypte="" alors renvoyer ""
//bufCle est un Buffer = HashChaîne(HA_MD5_128, mdp1+mdp2+mdp3)
renvoyer DécrypteStandard(bufCrypte, HashChaîne(HA_MD5_128, Mdp1+Mdp2+Mdp3), crypteAES128)
sinon
renvoyer gsdParametreSystem.PAS_Valeur
fin
fin
Procédure globale ParametreSystemSupprime
procédure ParametreSystemSupprime(local saNomParametre est chaîne)
12/08/2026 Omika_S_Comm_DEV 207
Partie 3 › Collection de procédures › LIB_Service › Code
si HLitRecherchePremier(gsdParametreSystem,PAS_Code,saNomParametre) alors
si pas HSupprime(gsdParametreSystem) alors
renvoyer HErreurInfo(hErrComplet)
fin
fin
renvoyer ""
Procédure globale PurgeTrace
procédure PurgeTrace()
dDteLimite est une DateHeure = DateHeureSys()
dDteLimite..jour -=10
HExécuteRequêteSQL("PURGE",LIB_Service.gcnxAPart,"DELETE FROM MobLog WHERE MobLog.ML_DateCreat< '" +
dDteLimite + "'")
Procédure globale RdvEcrit
procédure RdvEcrit(bufJSON est un Buffer, sd est une Source de Données)
TraceLog("cmd "+ sd.mr_cmd,cTrace_Debug)
stRDV est un ST_RDV
Désérialise(stRDV,bufJSON,psdJSON)
TraceLog("dé sérialisation", cTrace_Info)
si pas ErreurDétectée alors
si pas HLitRecherchePremier(gsdPlanning_RDV,RVC_PKID,stRDV.nPKID) alors
HRAZ(gsdPlanning_RDV)
TraceLog("j'ai trouve le rdv", cTrace_Info)
fin
gsdPlanning_RDV.GUID = stRDV.saGUID
gsdPlanning_RDV.RVC_CleStatut = DonneCleParamAvecID(stRDV.nIDStatut)
gsdPlanning_RDV.RVC_DateDeb = stRDV.saDateDebut
gsdPlanning_RDV.RVC_DateFin = stRDV.saDateFin
gsdPlanning_RDV.RVC_Superposable = stRDV.bSuperposable
HEnregistre(gsdPlanning_RDV)
TraceLog("le rdv a été enregistre", cTrace_Info)
si gsdPlanning_RDV.RVC_GUID_RDV <> "" alors
si HLitRecherchePremier(gsdPlanning,GUID,gsdPlanning_RDV.RVC_GUID_RDV) alors
gsdPlanning.RV_CleStatut = DonneCleParamAvecID(stRDV.nIDStatut)
HEnregistre(gsdPlanning)
fin
saReqModif est une chaîne ANSI = [
UPDATE RDV_Collaborateur SET Archive = 1 WHERE RVC_GUID_RDV = '{p_Guid}' AND RVC_PKID <> {p_Id}
]
saReqModif = Remplace(saReqModif,"{p_Guid}",gsdPlanning_RDV.RVC_GUID_RDV)
saReqModif = Remplace(saReqModif,"{p_Id}",stRDV.nPKID)
rq est une Source de Données
si pas HExécuteRequêteSQL(rq,gcnxAPart,hRequêteDéfaut,saReqModif) alors
TraceLog("Erreur :" + HErreurInfo(errComplet),cTrace_Exception)
fin
fin
sinon
TraceLog("Erreur :" + ErreurInfo(errComplet),cTrace_Exception)
12/08/2026 Omika_S_Comm_DEV 208
Partie 3 › Collection de procédures › LIB_Service › Code
fin
MarqueDataTraitée(sd.MR_PKID)
Procédure globale RechercheCheminUnDoc
procédure RechercheCheminUnDoc(saCheminComp est une chaîne ANSI, saRepDocs est une chaîne ANSI,
saFichier est une chaîne ANSI)
NomFichierEntier est une chaîne ANSI = ComplèteRep(saRepDocs)+ComplèteRep(saCheminComp)+saFichier
si SansEspace(saCheminComp) <> "" alors
si fFichierExiste(NomFichierEntier) alors
renvoyer NomFichierEntier
fin
fin
saRepTem est une chaîne ANSI = ComplèteRep(fRepExe())+ComplèteRep("TEMP")
fRepCrée(saRepTem)
| suCheminRep | est une chaîne Unicode | = saRepDocs | |
| ------------------------------------------------------- | ------------------------------------------------- | ----------- | --- |
| nPosRub | est un entier | | |
| saUneRubrique | est une chaîne ANSI | | |
| tbIds | est un tableau d'entiers sur 8 octets | | |
| tbChemins | est un tableau de chaînes ANSI | | |
| tbDocs | est un tableau de chaînes ANSI | | |
| sOutFile est une chaîne | | | |
| sScriptFile | est une chaîne | | |
| i | est un entier | | |
| sScript est une chaîne | | | |
| sOutFile = saRepTem+"ps_out_" + DateHeureSys() + ".txt" | | | |
| sScriptFile | = saRepTem+"ps_script_" + DateHeureSys() + ".ps1" | | |
sScript = "$ErrorActionPreference = 'Stop'" + RC + ...
"$root = '" + saRepDocs + "'" + RC + ...
"$outFile = '" + sOutFile + "'" + RC + ...
"$fileName = '" + saFichier + "'" + RC + ...
"" + RC + ...
"$paths
= Get-ChildItem -LiteralPath $root -Recurse -File -Filter $fileName -ErrorAction SilentlyContinue |" +
RC + ...
" Select-Object -ExpandProperty FullName" + RC + ...
"if ($paths) { $paths
| Set-Content -LiteralPath $outFile } else { '' | Set-Content -LiteralPath $outFile }" + RC
// Écrit le script sur disque
si pas fSauveTexte(sScriptFile, sScript) alors
TraceLog("Impossible d'écrire le script PowerShell : " + sScriptFile,cTrace_Exception)
sinon
// -ExecutionPolicy Bypass : permet d'ignorer les restrictions de signature
// -File : indique le chemin du fichier à exécuter
| sCommande | est une chaîne | = [ | |
| --------- | -------------- | --- | --- |
cmd.exe /c powershell.exe -NoProfile -WindowStyle Hidden -ExecutionPolicy Bypass -File "%1"
]
sCommande = ChaîneConstruit(sCommande, sScriptFile)
// Exécution
si LanceAppli(sCommande,exeIconise) = Faux alors
TraceLog("Impossible de lancer le script : " + ErreurInfo(),cTrace_Exception)
sinon
i = 0
tantque pas fFichierExiste(sOutFile)
i += 1
Multitâche(100)
| 12/08/2026 | | Omika_S_Comm_DEV | 209 |
| ---------- | --- | ---------------- | --- |
Partie 3 › Collection de procédures › LIB_Service › Code
si i > 29 alors
sortir
fin
fin
si fFichierExiste(sOutFile) alors
saResultat est une chaîne ANSI = fChargeTexte(sOutFile)
pour tout chaîne saCh de saResultat séparée par RC
si saCh <> "" _et_ fFichierExiste(saCh) alors
TableauAjoute(tbDocs,saCh)
fin
fin
sinon
TraceLog("Commande exécutée, mais fichier de sortie introuvable : " + sOutFile,
cTrace_Exception)
fin
fin
fSupprime(sOutFile)
fSupprime(sScriptFile)
fin
//Aucun document avec le mème nom trouvé
si tbDocs..Occurrence <= 0 alors
renvoyer ""
fin
si tbDocs..Occurrence > 1 alors
pour tout chaîne saUnRep de saCheminComp séparée par ["\"]
si Contient(saUnRep,"#") alors
nPosRub = Position(saUnRep,"#")+1
saUneRubrique = nPosRub>0 ? Milieu(saUnRep,nPosRub, Taille(saUnRep)) sinon ""
si Val(saUneRubrique) > 0 alors
TableauAjoute(tbIds,Val(saUneRubrique))
fin
fin
fin
fin
si tbIds..Occurrence > 0 alors
sOutFile = saRepTem+"ps_out_" + DateHeureSys() + ".txt"
sScriptFile = saRepTem+"ps_script_" + DateHeureSys() + ".ps1"
sScript = "$ErrorActionPreference = 'Stop'" + RC + ...
"$root = '" + saRepDocs + "'" + RC + ...
"$ids = @(" + TableauVersChaîne(tbIds, ",") + ")" + RC + ...
"$outFile = '" + sOutFile + "'" + RC + ...
"$candidates = @($root)" + RC + ...
"foreach ($id in $ids) {" + RC + ...
" $token = ""#$id""" + RC + ...
" $nextCandidates = New-Object System.Collections.Generic.List[string]" + RC + ...
" foreach ($cur in $candidates) {" + RC + ...
" if (-not (Test-Path -LiteralPath $cur)) { continue }" + RC + ...
" $matches = Get-ChildItem -LiteralPath $cur -Directory -ErrorAction SilentlyContinue |" + RC +
...
" Where-Object { $_.Name -match ([regex]::Escape($token) + '(\s|$)') } |" + RC + ...
" Sort-Object Name" + RC + ...
" foreach ($m in $matches) { [void]$nextCandidates.Add($m.FullName) }" + RC + ...
" }" + RC + ...
" $candidates = $nextCandidates | Select-Object -Unique" + RC + ...
" if ($candidates.Count -eq 0) { break }" + RC + ...
"}" + RC + ...
"" + RC + ...
"$candidates | Set-Content -LiteralPath $outFile" + RC
12/08/2026 Omika_S_Comm_DEV 210
Partie 3 › Collection de procédures › LIB_Service › Code
// Écrit le script sur disque
si pas fSauveTexte(sScriptFile, sScript) alors
Info("Impossible d'écrire le script PowerShell : " + sScriptFile)
sinon
// -ExecutionPolicy Bypass : permet d'ignorer les restrictions de signature
// -File : indique le chemin du fichier à exécuter
sCommande est une chaîne = [
cmd.exe /c powershell.exe -NoProfile -WindowStyle Hidden
-ExecutionPolicy Bypass -File "%1"
]
sCommande = ChaîneConstruit(sCommande, sScriptFile)
// Exécution
si LanceAppli(sCommande,exeIconise) = Faux alors
TraceLog("Impossible de lancer le script : " + ErreurInfo(),cTrace_Exception)
sinon
i = 0
tantque pas fFichierExiste(sOutFile)
i += 1
Multitâche(100)
si i > 29 alors
sortir
fin
fin
si fFichierExiste(sOutFile) alors
saResultat est une chaîne ANSI = fChargeTexte(sOutFile)
pour tout chaîne saCh de saResultat séparée par RC
si saCh <> "" _et_ fRépertoireExiste(saCh) alors
TableauAjoute(tbChemins,saCh)
fin
fin
sinon
TraceLog("Commande exécutée, mais fichier de sortie introuvable : " + sOutFile,
cTrace_Exception)
fin
fin
fSupprime(sOutFile)
fSupprime(sScriptFile)
fin
// Normalisation simple des chemins (sans trailing slash)
pour i = 1 _à_ tbChemins..Occurrence
tbChemins[i] = SansEspace(tbChemins[i])
si Droite(tbChemins[i], 1) = "\" alors
tbChemins[i] = Gauche(tbChemins[i], Taille(tbChemins[i]) - 1)
fin
fin
// Choisir le meilleur match : chemin candidat le plus long (plus spécifique)
meilleurDoc est une chaîne ANSI = ""
meilleureBase est une chaîne ANSI = ""
nMeilleureLongueur est un entier = 0
pour iDoc = 1 _à_ tbDocs..Occurrence
docPath est une chaîne ANSI = SansEspace(tbDocs[iDoc])
// Comparaison "case-insensitive" (serveur Windows)
docPathU est une chaîne Unicode = Minuscule(docPath)
pour iBase = 1 _à_ tbChemins..Occurrence
basePath est une chaîne ANSI = tbChemins[iBase]
basePathU est une chaîne Unicode = Minuscule(basePath)
// Match si le doc est dans ce dossier (ou dans un sous-dossier)
12/08/2026 Omika_S_Comm_DEV 211
Partie 3 › Collection de procédures › LIB_Service › Code
// -> docPath commence par basePath + "\"
si Gauche(docPathU, Taille(basePathU) + 1) = basePathU + "\" alors
// garder le plus spécifique (base la plus longue)
si Taille(basePathU) > nMeilleureLongueur alors
nMeilleureLongueur = Taille(basePathU)
meilleurDoc = docPath
meilleureBase = basePath
sortir
fin
fin
fin
fin
// Si on a trouvé un match, renvoyer le chemin complet du document
si meilleurDoc <> "" alors
renvoyer meilleurDoc
fin
fin
meilleurScore est un entier = -1
meilleurTexte est une chaîne = ""
pour i = 1 _à_ tbDocs..Occurrence
sCand est une chaîne = tbDocs[i]
score est un entier = ScoreSouple(saCheminComp, sCand)
si score > meilleurScore alors
meilleurScore = score
meilleurTexte = sCand
fin
fin
// Seuil minimal pour éviter les faux positifs
si meilleurScore >= 15 alors
renvoyer meilleurTexte
fin
renvoyer ""
Procédure globale RecupereDonneesNonLu
// Résumé : <indiquez ici ce que fait la procédure>
// Syntaxe :
//[ <Résultat> = ] RecupereDonneesNonLu ()
//
// Paramètres :
// Aucun
// Valeur de retour :
// entier : // Aucune
//
// Exemple :
// Indiquez ici un exemple d'utilisation.
//
procédure RecupereDonneesNonLu()
nNb est un entier
quand exception dans
pour tout gsdTOSRV
12/08/2026 Omika_S_Comm_DEV 212
Partie 3 › Collection de procédures › LIB_Service › Code
//Lecture de l'enregistrement Distant que l'on ajoute dans la table MobReception
si pas HLitRecherchePremier(gsdMobReception,mr_idtosrv,gsdTOSRV.IDToSRV) alors
HRAZ(gsdMobReception)
gsdMobReception.MR_IDToSRV = gsdTOSRV.IDToSRV
gsdMobReception.MR_JSON = gsdTOSRV.TS_JSON
gsdMobReception.MR_CMD = gsdTOSRV.TS_CMD
gsdMobReception.MR_Buffer = gsdTOSRV.TS_Buffer
gsdMobReception.MR_NumSerie = gsdTOSRV.TS_Mobile
gsdMobReception.MR_Fait = Faux
gsdMobReception.MR_DateHeureRecep = DateHeureSys()
HAjoute(gsdMobReception)
nNb++
TraceLog("Réception :" + gsdTOSRV.TS_JSON)
fin
//Suppression de l'enregistrement distant
si pas HSupprime(gsdTOSRV,hNumEnrEnCours) alors
TraceLog("Erreur de suppression : " + HErreurInfo(hErrMessage))
fin
fin
//Suppression des enregistrement traités
pour tout gsdMobReception avec MR_Fait=1
si HLitRecherchePremier(gsdTOSRV,IDToSRV,gsdMobReception.MR_IDToSRV) alors
si HSupprime(gsdTOSRV) alors
HSupprime(gsdMobReception)
fin
sinon
HSupprime(gsdMobReception)
fin
fin
faire
TraceLog("RecupereDonneesNonLu" + RC +ExceptionInfo(errComplet),cTrace_Exception)
fin
renvoyer nNb
Procédure globale RedemarreServiceMonitor
// Résumé : <indiquez ici ce que fait la procédure>
// Syntaxe :
//RedemarreServiceMonitor ()
//
// Paramètres :
// Aucun
// Valeur de retour :
// Aucune
//
// Exemple :
// Indiquez ici un exemple d'utilisation.
//
procédure RedemarreServiceMonitor()
quand exception dans
si ServiceExiste(cServiceMonitor) alors
12/08/2026 Omika_S_Comm_DEV 213
Partie 3 › Collection de procédures › LIB_Service › Code
si ServiceEtat(cServiceMonitor)=serviceEtatArrêté alors
ServiceDémarre(cServiceMonitor)
fin
sinon
// tracelog("Le service Monitor n'est pas présent.",cTrace_Debug)
fin
faire
TraceLog("Erreur lors du redémarrage du ServiceComm"+ RC + ExceptionInfo(errComplet),
cTrace_Exception)
fin
Procédure globale RemplaceRubriqueCheminFichier
// Résumé : <indiquez ici ce que fait la procédure>
// Syntaxe :
//[ <Résultat> = ] RemplaceRubriqueCheminFichier (<nMode> est entier, <tabRep> est tableau, <sreqsql
> est source de données, <sFormatRepDoc> est chaîne, <sRepRacine> est chaîne, <nIDCategorie> est entier
sur 8 octets)
//
// Paramètres :
// nMode (entier) : <indiquez ici le rôle de nMode>
// tabRep (tableau) : <indiquez ici le rôle de tabRep>
// sreqsql (source de données) : <indiquez ici le rôle de sreqsql>
// sFormatRepDoc (chaîne ANSI) : <indiquez ici le rôle de sFormatRepDoc>
// sRepRacine (chaîne ANSI) : <indiquez ici le rôle de sRepRacine>
// nIDCategorie (entier sur 8 octets) : <indiquez ici le rôle de nIDCategorie>
// Valeur de retour :
// chaîne ANSI : // Aucune
//
// Exemple :
// Indiquez ici un exemple d'utilisation.
//
// sRepertoireFichier : <indiquez ici le rôle de sRepertoireFichier>
// sRepRacine (chaîne ANSI) : <indiquez ici le rôle de sRepRacine>
// sRepRacine (chaîne ANSI) : <indiquez ici le rôle de sRepRacine>
procédure RemplaceRubriqueCheminFichier(nMode est un entier,tabRep est un tableau de Rep,sreqsql est
une Source de Données,sFormatRepDoc est une chaîne,sRepRacine est une chaîne,local nIDCategorie est un
entier sur 8 octets)//,sRepRacine est une chaine = DonneRepertoireRacine()
sNomProc est une chaîne ANSI ="RemplaceRubriqueCheminFichier"
TraceLog(sNomProc + " : Mode=" + nMode + " / IDCategorie=" + nIDCategorie)
sRepFichier est une chaîne
//Il existe au moins un répertoire
si tabRep..Occurrence>0 alors
//Récupération des rubriques présent dans la source de données
sListeRubEnreg est une chaîne = HListeRubrique(sreqsql)
sRepTemp est une chaîne=sRepRacine+["\"]
//Boucle sur l'ensemble des répertoires
pour i = 1 _à_ tabRep..Occurrence
//TraceLog(sNomProc + " IDCategorie=" + nIDCategorie)
si nMode dans (0,9) alors
sRepCherche est un chaîne
sVariable est une chaîne
//Le nom de la rubrique dans le nom du répertoire est bien présent dans la liste des
rubriques de la source de données
si Contient(tabRep[i].sNomnIDRubRep,"DC_Categorie") _et_ nIDCategorie>0 alors
//TraceLog(sNomProc + " JUSTE AVANT IDCategorie=" + nIDCategorie)
sVariable = sRepTemp+"*#"+SansEspace(NumériqueVersChaîne(nIDCategorie))
12/08/2026 Omika_S_Comm_DEV 214
Partie 3 › Collection de procédures › LIB_Service › Code
sinon si Contient(sListeRubEnreg,tabRep[i].sNomnIDRubRep) alors
sVariable = sRepTemp+"*#"+SansEspace({sreqsql,tabRep[i].sNomnIDRubRep})
fin
TraceLog(sNomProc + " : RepRecherche=" + sVariable )
sRepCherche = fRep(sVariable, frRépertoire)
//TraceLog(sRepCherche<>"" ? sNomProc + " : RepRechercheTrouve=oui "+sRepCherche SINON
sNomProc + " : RepRechercheTrouve=non"+sRepCherche )
si sRepCherche<>"" _et_ Contient(ExtraitChaîne(sRepCherche,1,"\",DepuisFin),ExtraitChaîne(
sVariable,1,"*",DepuisFin),MotComplet) alors
sFormatRepDoc= Remplace(sFormatRepDoc,tabRep[i].sNomRep,sRepCherche)
sRepTemp += sRepCherche+["\"]
sinon si nMode=9 alors
si Contient(tabRep[i].sNomnIDRubRep,"DC_Categorie") alors
sDroit est une chaîne
sNomRep est une chaîne
(sDroit,sNomRep) = DonneDroitCategorieDoc(nIDCategorie)
TraceLog(sNomProc + " : RepCategorie=" + sNomRep )
sFormatRepDoc=Remplace(sFormatRepDoc,tabRep[i].sNomRep,sNomRep+" #"+SansEspace(
NumériqueVersChaîne(nIDCategorie)))
sRepTemp += sNomRep+" #"+SansEspace(nIDCategorie)+["\"]
fin
TraiteRubriqueRep(tabRep[i],sListeRubEnreg,sreqsql,sFormatRepDoc)
// SI Contient(tabRep[i].sNomnIDRubRep,"DC_Categorie") ALORS
//
//
sFormatRepDoc=Remplace(sFormatRepDoc,tabRep[i].sNomRep,sNomRep+"
#"+SansEspace(nIDCategorie))
// FIN
//sFormatRepDoc= Remplace(sFormatRepDoc,tabRep[i].sNomRep,sRepCherche)
//fRepCrée(remplace(sVariable,"*",""))
fin
sinon
//TraceLog(sNomProc + " Sortie SI IDCategorie=" + nIDCategorie)
TraiteRubriqueRep(tabRep[i],sListeRubEnreg,sreqsql,sFormatRepDoc)
fin
fin
//sRepFichier = sFormatRepDoc//ComplèteRep(sRepRacine+sFormatRepDoc)
pour toute chaîne sUnRep de sFormatRepDoc séparée par ["\"]
si sUnRep<>"" alors
sUnRepTemp est une chaîne = Remplace(sUnRep,"/","-")
sUnRepTemp = Remplace(sUnRepTemp,[":","*","""","<",">","|",RC]," ")
sRepFichier+= SansEspace(sUnRepTemp)+"\"
fin
fin
sinon
sRepFichier = ""
fin
procédure interne TraiteRubriqueRep(stUnRep est un Rep,sListeRubEnreg est une chaîne,sdReq est une
Source de Données,sFortRepDoc est une chaîne)
//Boucle sur l'ensemble des rubriques spécifiés pour le répertoiree en cours
pour j = 1 _à_ stUnRep.tabRub..Occurrence
sNomRub est une chaîne = stUnRep.tabRub[j].saNomRubrique
sNomPropriete est une chaîne = stUnRep.tabRub[j].saProprietee
sAnnexe est une chaîne = stUnRep.tabRub[j].saAnnexe
//Le nom de la rubrique dans le nom du répertoire est bien présent dans la liste des rubriques
de la source de données
12/08/2026 Omika_S_Comm_DEV 215
Partie 3 › Collection de procédures › LIB_Service › Code
si Contient(sListeRubEnreg,sNomRub) alors
sNomRubFormat est une chaîne= "["+sNomRub+"]"
sProprieteFormat est une chaîne = "{"+sNomPropriete+"}"
si sAnnexe<>"" alors
sAnnexeFormat est une chaîne = "<"+ExtraitChaîne(ExtraitChaîne(sAnnexe,1,"."),2,
"SELECT ")+"."+ExtraitChaîne(ExtraitChaîne(sAnnexe,2,"."),1," AS")+"|"+ExtraitChaîne(
ExtraitChaîne(sAnnexe,1,"="),2,"WHERE ")+">"
sdAnnexe est une Source de Données
si HExécuteRequêteSQL(sdAnnexe,hRequêteDéfaut,ChaîneConstruit(sAnnexe,{sdReq,sNomRub})
) alors
stUnRep.sNomRepFormate = Remplace(stUnRep.sNomRep,sNomRubFormat+sAnnexeFormat,
sdAnnexe.C1)
sFortRepDoc = Remplace(sFortRepDoc,sNomRubFormat+sAnnexeFormat,sdAnnexe.
C1)
sinon
stUnRep.sNomRepFormate = Remplace(stUnRep.sNomRep,sNomRubFormat+sAnnexeFormat,
"")
sFortRepDoc = Remplace(sFortRepDoc,sNomRubFormat+sAnnexeFormat,"")
fin
sinon
//Remplace les n
stUnRep.sNomRepFormate = sNomPropriete="" ? Remplace(stUnRep.sNomRep,sNomRubFormat,
{sdReq,sNomRub}) sinon Remplace(stUnRep.sNomRep,sNomRubFormat+sProprieteFormat,{sdReq,
sNomRub+sNomPropriete})
sFortRepDoc = sNomPropriete="" ? Remplace(sFortRepDoc,sNomRubFormat,{
sdReq,sNomRub}) sinon Remplace(sFortRepDoc,sNomRubFormat+sProprieteFormat,{sdReq,
sNomRub+sNomPropriete})
fin
stUnRep.sNomRepFormate = SansEspace(stUnRep.sNomRepFormate)
sFortRepDoc = SansEspace(sFortRepDoc)
fin
fin
fin
TraceLog(sNomProc + " : RepFinal=" + sRepFichier )
renvoyer sRepFichier
Procédure globale RepIntervention
procédure RepIntervention(nInterID est un entier sur 8 octets,nIdCategorie est un entier sur 8 octets)
TraceLog("RepIntervention :" + nInterID)
quand exception dans
rq est une Source de Données
saRQ est une chaîne ANSI =[
SELECT client.CL_Nom,client.CL_PKID,IN_IDLieu,IN_RefInterne
,LI_CodeLieu,LI_PKID,CL_CodeComptable
FROM Intervention INNER JOIN Client ON Intervention.IN_IDClient=Client.CL_PKID,
Intervention INNER JOIN Lieu ON Intervention.IN_IDLieu=Lieu.LI_PKID
WHERE Intervention.IN_PKID=
]
saRQ+=nInterID
TraceLog("RepIntervention :" + Remplace(saRQ,RC," "))
si HExécuteRequêteSQL(rq,gcnxAPart,saRQ) alors
si HLitPremier(rq)alors
sRepRacine est une chaîne=DonneRepertoireRacine()
si pas fRépertoireExiste(sRepRacine) alors
TraceLog("Le répertoire racine des documents est inaccessible :" + sRepRacine)
renvoyer ""
fin
12/08/2026 Omika_S_Comm_DEV 216
Partie 3 › Collection de procédures › LIB_Service › Code
TraceLog("Racine : " + sRepRacine)
sRepertoireInterv est une chaîne
// =ComplèteRep(sRepRacine+ DonneRepertoireIntervention(rq.CL_Nom ,rq.CL_PKID,nInterID))
si HLitRecherchePremier(gsdParametreApplication,PAP_Code,FormatRepDocument) alors
sRepertoireInterv=ComplèteRep(sRepRacine) + gsdParametreApplication.PAP_Valeur
sinon
sRepertoireInterv=ComplèteRep(sRepRacine) +
"[CL_Nom] [CL_PKID]\Intervention [IN_PKID]"
fin
sRepertoireInterv = Remplace(sRepertoireInterv,"[IN_PKID]" ,nInterID,MotComplet+
SansCasse)
sRepertoireInterv = Remplace(sRepertoireInterv,"[CL_Nom]" ,rq.CL_Nom ,
MotComplet+SansCasse)
sRepertoireInterv = Remplace(sRepertoireInterv,"[CL_PKID]" ,rq.CL_PKID ,
MotComplet+SansCasse)
sRepertoireInterv = Remplace(sRepertoireInterv,"[LI_CodeLieu]" ,rq.LI_CodeLieu
,MotComplet+SansCasse)
sRepertoireInterv = Remplace(sRepertoireInterv,"[IN_RefInterne]",rq.IN_RefInterne ,
MotComplet+SansCasse)
sRepertoireInterv = Remplace(sRepertoireInterv,"[LI_PKID]" ,rq.LI_PKID ,
MotComplet+SansCasse)
sRepertoireInterv = ComplèteRep(sRepertoireInterv)
sRepertoireInterv += gtbaCategorieDoc[nIdCategorie] +"\"
TraceLog("Répertoire :" + sRepertoireInterv)
si pas fRépertoireExiste(sRepertoireInterv) alors
TraceLog("Répertoire inexistant :" + sRepertoireInterv)
si pas fRepCrée(sRepertoireInterv) alors
TraceLog("Création impossible de " + sRepertoireInterv + RC + "ERREUR " +
ErreurInfo(errComplet))
renvoyer ""
fin
fin
renvoyer ComplèteRep(sRepertoireInterv)
sinon
TraceLog("ERREUR dans sRepertoireInterv :Le client de l'intervention " + nInterID +
" n’a pas été trouvé",cTrace_Exception)
fin
sinon
TraceLog("ERREUR dans sRepertoireInterv :" + HErreurInfo(hErrComplet),cTrace_Exception)
fin
renvoyer ""
faire
TraceLog("ERREUR dans sRepertoireInterv :" + ExceptionInfo(errComplet),cTrace_Exception)
renvoyer ""
fin
Procédure globale RepInterventionDocByID
// Résumé : <indiquez ici ce que fait la procédure>
// Syntaxe :
//[ <Résultat> = ] RepInterventionDocByID (<nInterID> est entier sur 8 octets [, <bEnLecture> est
booléen [, <nIdCategorie> est entier sur 8 octets [, <nIDDoc> est entier sur 8 octets]]])
//
// Paramètres :
// nInterID (entier sur 8 octets) : <indiquez ici le rôle de nInterID>
// bEnLecture (booléen - valeur par défaut=0) : <indiquez ici le rôle de bEnLecture>
// nIdCategorie (entier sur 8 octets - valeur par défaut=0) : <indiquez ici le rôle de sNomRep>
// nIDDoc (entier sur 8 octets - valeur par défaut=0) : <indiquez ici le rôle de nIDDoc>
// Valeur de retour :
// Type indéterminé : // Aucune
12/08/2026 Omika_S_Comm_DEV 217
Partie 3 › Collection de procédures › LIB_Service › Code
//
// Exemple :
// Indiquez ici un exemple d'utilisation.
//
procédure RepInterventionDocByID(nInterID est un entier sur 8 octets,bEnLecture est un booléen=Faux,
local nIdCategorie est un entier sur 8 octets=0, nIDDoc est un entier sur 8 octets=0)
//nIdCategorie est un entier sur 8 octets,bEnLecture est un booléen=faux)
sNomProc est une chaîne ANSI ="RepInterventionDocByID"
TraceLog(sNomProc + " : " + nInterID)
quand exception dans
rq est une Source de Données
saRQ est une chaîne ANSI =[
SELECT
Client.*,Lieu.*,Intervention.*,Dossier.*,ParametreMetier.*,Document.*,Adresse.AD_Ligne_4,
Adresse.AD_Ville
FROM Intervention
LEFT OUTER JOIN Client ON (Client.CL_PKID=Intervention.IN_IDClient)
LEFT OUTER JOIN Lieu ON (Lieu.LI_PKID=Intervention.IN_IDLieu)
Left OUTER JOIN Adresse ON (Adresse.AD_PKID=Lieu.LI_IDAdresse)
LEFT OUTER JOIN Dossier ON (DO_PKID=IN_IDDossier)
LEFT OUTER JOIN ParametreMetier ON (PA_PKID=IN_IDEtatIntervention)
LEFT OUTER JOIN Document ON (Intervention.IN_PKID=Document.DC_IDIntervention)
WHERE Intervention.IN_PKID =%1
%2
]
saRQ = ChaîneConstruit(saRQ,nInterID,nIDDoc>0 ? "AND DC_PKID="+nIDDoc sinon "")
TraceLog(sNomProc + " : " + Remplace( saRQ,RC," "))
si HExécuteRequêteSQL(rq,gcnxAPart,hRequêteDéfaut+hModifieFichier,saRQ) alors
si HLitPremier(rq)alors
sRepRacine est une chaîne=DonneRepertoireRacine()
si pas fRépertoireExiste(sRepRacine) alors
TraceLog("Le répertoire racine des documents est inaccessible :" + sRepRacine,
cTrace_Exception)
renvoyer ""
fin
TraceLog("Racine : " + sRepRacine)
sRepertoireInterv est une chaîne
sFormatRepDoc est une chaîne
si HLitRecherchePremier(gsdParametreApplication,PAP_Code,FormatRepDocument) alors
sFormatRepDoc=gsdParametreApplication.PAP_Valeur
//Exemple : sFormatRepDoc="[CL_Nom] [CL_PKID]\Intervention [IN_PKID]\?"
//[LI_CodeLieu] - [LI_IDAdresse]<Adresse.AD_Ligne_4|AD_PKID> -
[LI_IDAdresse]<Adresse.AD_Ville|AD_PKID> ##INTERV\?\[IN_DateIntervention]{..Année}
[IN_DateIntervention]{..Mois} [DO_IDTypeDossier]<ParametreMetier.PA_Libelle|PA_PKID>
[IN_RefInterne]
fin
tabRep est un tableau de Rep
si gsaSociete = cSocSLAMM alors
sRepertoireInterv = DecodeRepSLAMM(rq,sFormatRepDoc,bEnLecture,nIdCategorie)
sinon
DecodeRepertoire(sFormatRepDoc,tabRep)
//En Lecture, on
si bEnLecture alors
sRepertoireInterv = RemplaceRubriqueCheminFichier(0,tabRep,rq,sFormatRepDoc,
sRepRacine,0)
sinon
12/08/2026 Omika_S_Comm_DEV 218
Partie 3 › Collection de procédures › LIB_Service › Code
sRepertoireInterv = RemplaceRubriqueCheminFichier(9,tabRep,rq,sFormatRepDoc,
sRepRacine,nIdCategorie)
fin
fin
TraceLog("Répertoire avant proc remplace:" + sRepertoireInterv)
TraceLog("Répertoire racine:" + sRepertoireInterv)
sRepertoireInterv = Remplace(sRepertoireInterv,sRepRacine,"")
//Remplace(sRepertoireInterv,"?",sNomRep)
//Remplace les caractères interdits dans le nommage d'un répertoire Windows
sRepertoireInterv = Remplace(sRepertoireInterv,"/","-")
sRepertoireInterv = Remplace(sRepertoireInterv,[":","*","""","<",">","|",RC]," ")
//Ajout du répertoire racine en début de chaine après l'opération de remplacement car la
racine peut contenir le caractère ":" Ex : "C:\Doc"
sRepertoireInterv = sRepRacine + sRepertoireInterv
//En écriture, on créé les répertoires correspondant aux catégories de documents
<- C'est pas le moment. L'application BO le fera
//SI PAS bEnLecture ALORS CreationRepertoireCategorieSiInexistant(sRepertoireInterv)
TraceLog("Répertoire :" + sRepertoireInterv)
si pas fRépertoireExiste(sRepertoireInterv) alors
TraceLog("Répertoire inexistant :" + sRepertoireInterv)
si pas fRepCrée(sRepertoireInterv) alors
TraceLog("Création impossible de " + sRepertoireInterv + RC + "ERREUR " +
ErreurInfo(errComplet),cTrace_Exception)
renvoyer ""
fin
fin
renvoyer ComplèteRep(sRepertoireInterv)
sinon
TraceLog("ERREUR dans "+sNomProc+" :Le client de l'intervention " + nInterID +
" n’a pas été trouvé",cTrace_Exception)
fin
sinon
TraceLog("ERREUR dans "+sNomProc+" :" + HErreurInfo(hErrComplet),cTrace_Exception)
fin
renvoyer ""
faire
TraceLog("ERREUR dans "+sNomProc+" :" + ExceptionInfo(errComplet),cTrace_Exception)
renvoyer ""
fin
Procédure globale ReporteTraitement
procédure ReporteTraitement(nIdMobReception est un entier sur 8 octets,nNbMinuteReport est un
entier=2)
//Report du traitement dans 2 minutes
dhRecept est une DateHeure = DateHeureSys()
dhRecept..Minute +=nNbMinuteReport
si HLitRecherchePremier(gsdMobReception,MR_PKID,nIdMobReception) alors
gsdMobReception.MR_DateHeureRecep=dhRecept
HModifie(gsdMobReception)
fin
Procédure globale RetrouverRepertoire
procédure RetrouverRepertoire(saCheminComp est une chaîne ANSI, local saRepDocs est une chaîne ANSI)
nPosRub est un entier
saUneRubrique est une chaîne ANSI
12/08/2026 Omika_S_Comm_DEV 219
Partie 3 › Collection de procédures › LIB_Service › Code
saRepDocs = ComplèteRep(saRepDocs)
pour tout chaîne saUnRep de saCheminComp séparée par ["\"]
si fRepExiste(saRepDocs+saUnRep) alors
saRepDocs = ComplèteRep(saRepDocs+saUnRep)
sinon
si Contient(saUnRep,"#") alors
nPosRub = Position(saUnRep,"#")+1
saUneRubrique = nPosRub>0 ? Milieu(saUnRep,nPosRub, Taille(saUnRep)) sinon ""
si Val(saUneRubrique) > 0 alors
saRepCherche est une chaîne ANSI = fRep(ComplèteRep(saRepDocs)+"*#"+Val(saUneRubrique)
,frRépertoire)
si saRepCherche <> "" alors
saRepDocs = ComplèteRep(saRepDocs+saRepCherche)
sinon
saRepDocs = ComplèteRep(saRepDocs+saUnRep)
fin
fin
sinon
saRepDocs = ComplèteRep(saRepDocs+saUnRep)
fin
fin
fin
renvoyer saRepDocs
Procédure globale RéinitialiseReplication
procédure RéinitialiseReplication()
quand exception dans
si pas HOuvreConnexion(gcnxAPart) alors
TraceLog("Abandon"+ RC+ HErreurInfo(hErrMessage),cTrace_Exception)
renvoyer Faux
fin
HFermeConnexion(gcnxSrvWEB)
gsaSW_Serveur =ParametreLit(cParam_CloudServeur)
gsaSW_Port =ParametreLit(cParam_CloudPortData)
gcnxSrvWEB..Serveur = gsaSW_Serveur+":"+gsaSW_Port
gcnxSrvWEB..BaseDeDonnées=""
si pas HOuvreConnexion(gcnxSrvWEB) alors
TraceLog("Abandon"+ RC+ HErreurInfo(hErrMessage),cTrace_Exception)
renvoyer Faux
fin
nCLOUD_PortReplic est un entier =ParametreLit(cParam_CloudPortReplication ,
cDefaut_PortReplication)
nCLOUD_IdServeur est un entier =ParametreLit(cParam_CloudIdServeur ,
cDefaut_CLoudServeurID)
nCLOUD_Priorite est un entier =ParametreLit(cParam_CloudPriorite ,
cDefaut_CloudPriorite)
saCLOUD_CodeReplic est une chaîne ANSI =ParametreLit(cParam_CloudCle ,
cDefaut_ReplicCle,Vrai)
nMAITRE_PortReplic est un entier =ParametreLit(cParam_LocalPortReplication ,
cDefaut_PortReplication)
nMAITRE_IdServeurest un entier =ParametreLit(cParam_LocalIdServeur ,
cDefaut_LocalServeurID)
12/08/2026 Omika_S_Comm_DEV 220
Partie 3 › Collection de procédures › LIB_Service › Code
nMAITRE_Priorite est un entier =ParametreLit(cParam_LocalPriorite ,
cDefaut_LocalPriorite)
//saMAITRE_User est une chaîne ANSI ="AdminReplication"
//saMAITRE_Pass est une chaîne ANSI ="AdminReplication"
TraceLog("Arrêt des réplications en cours")
listeRS est un tableau de hRSConfig
listeRS = HRSListeConfig(gcnxAPart)
pour tout RFConf de listeRS
TraceLog(RFConf..Serveur)
si pas HRSSupprimeConfig(gcnxAPart,RFConf) alors
TraceLog("Erreur :" + ErreurInfo(errComplet))
renvoyer Faux
fin
fin
TraceLog("Interdit l’accès a la base de données")
HInterditAccèsBaseDeDonnées(gcnxSrvWEB,gsaBO_NomBase)
TraceLog("Déconnecte les clients")
HDéconnecteClient(gcnxSrvWEB,"",0)
TraceLog("Supprime la base courante")
saSLstBases est une chaîne = HListeBaseDeDonnées(gcnxSrvWEB,hLstNormal)
TraceLog(saSLstBases)
si ChaîneOccurrence(saSLstBases,gsaBO_NomBase)>0 alors
si pas HSupprimeBaseDeDonnées(gcnxSrvWEB,gsaBO_NomBase,hSupprimeJournal) alors
TraceLog(ErreurInfo(),cTrace_Exception)
HFinInterditAccèsBaseDeDonnées(gcnxSrvWEB,gsaBO_NomBase)
renvoyer Faux
fin
fin
HFinInterditAccèsBaseDeDonnées(gcnxSrvWEB,gsaBO_NomBase)
TraceLog("Initialise la réplication")
si pas HRSInit(gcnxAPart, hrsMaître, nMAITRE_IdServeur, saCLOUD_CodeReplic, nMAITRE_PortReplic,
nMAITRE_Priorite) alors
TraceLog(ErreurInfo(),cTrace_Exception)
renvoyer Faux
fin
si pas HRSInit(gcnxSrvWEB, hrsAbonné, nCLOUD_IdServeur, saCLOUD_CodeReplic, nCLOUD_PortReplic,
nCLOUD_Priorite) alors
TraceLog(ErreurInfo())
renvoyer Faux
fin
//LA connexion doit être fermée pour permettre la mise en place de la synchro
HFermeConnexion(gcnxSrvWEB)
// Définition de la réplication
ConfigRéplic est un hRSConfig
ConfigRéplic..Bidirectionnelle = Faux
ConfigRéplic..Serveur = gsaSW_Serveur +":"+nCLOUD_PortReplic
Ajoute(ConfigRéplic..Fichier, gsaBO_NomBase)
//Ajoute(ConfigRéplication1..Fichier, "-" + gsNomBase + "\FichierÀExclure.fic")
ConfigRéplic..RésolutionConflitModification = hrcmPlusPrioritaire
ConfigRéplic..MotDePasse = saCLOUD_CodeReplic
ConfigRéplic..Description ="Réplication des données à destination des appareils mobiles."+RC+
"Mise en place sur le serveur : " + gsaSW_Serveur + RC + "Le " + DateVersChaîne(DateHeureSys,
maskDateSystème)
12/08/2026 Omika_S_Comm_DEV 221
Partie 3 › Collection de procédures › LIB_Service › Code
PlanifReplication est une hPlanification
//Planification Vide indique une réplication en continu
//Exemple : Planification de la réplication (tous les jours à 23h00)
//MaPlanification..Mois = "*"
//MaPlanification..JourDeLaSemaine = "*"
//MaPlanification..Heure = "23"
//MaPlanification..Minute = "0"
ConfigRéplic..Planification = PlanifReplication
TraceLog("Copie les données et active la réplication")
// Ajout de la réplication avec copie des fichiers
si pas HRSAjouteConfig(gcnxAPart, ConfigRéplic, hrsCopie) alors
TraceLog(ErreurInfo(),cTrace_Exception)
renvoyer Faux
sinon
TraceLog("Réplication Activée")
renvoyer Vrai
fin
faire
TraceLog("EXCEPTION lors de l'initialisation de la réplication." +RC + ExceptionInfo(errComplet),
cTrace_Exception)
renvoyer Faux
fin
//
//HFermeConnexion(gcnxSrvWEB)
Procédure globale ScoreSouple
procédure ScoreSouple(saRef est une chaîne, saCandidat est une chaîne)
sRefN est une chaîne = NormalizeSouple(saRef)
sCandN est une chaîne = NormalizeSouple(saCandidat)
tRefest un tableau de chaînes = TokensSouples(sRefN)
tCand est un tableau de chaînes = TokensSouples(sCandN)
si tRef..Occurrence = 0 ou tCand..Occurrence = 0 alors
renvoyer 0
fin
score est un entier = 0
pour tout tokRef de tRef
pour tout tokCand de tCand
// match exact
si tokRef = tokCand alors
score += 10
sortir
// inclusion (ex: "moulin" vs "jean moulin")
si Contient(tokCand, tokRef) ou Contient(tokRef, tokCand) alors
score += 5
sortir
fin
fin
fin
// Bonus si la référence est incluse globalement
si Contient(sCandN, sRefN) ou Contient(sRefN, sCandN) alors
score += 10
fin
12/08/2026 Omika_S_Comm_DEV 222
Partie 3 › Collection de procédures › LIB_Service › Code
fin
renvoyer score
Procédure globale SurPerteDeConnexion
// Résumé : <indiquez ici ce que fait la procédure>
// Syntaxe :
//[ <Résultat> = ] SurPerteDeConnexion ()
//
// Paramètres :
// Aucun
// Valeur de retour :
// entier : // Aucune
//
// Exemple :
// Indiquez ici un exemple d'utilisation.
//
procédure SurPerteDeConnexion()
TraceLog("Perte de connexion...",cTrace_Exception)
renvoyer opFinTraitement
Procédure globale SurveilleConnexionServeurDistant
// Résumé : <indiquez ici ce que fait la procédure>
// Syntaxe :
//[ <Résultat> = ] SurveilleConnexionServeurDistant ()
//
// Paramètres :
// Aucun
// Valeur de retour :
// booléen : // Aucune
//
// Exemple :
// Indiquez ici un exemple d'utilisation.
//
procédure SurveilleConnexionServeurDistant()
selon HEtatServeur(gsaSW_Serveur+":"+gsaSW_Port)
cas hArrêté
TraceLog("Serveur CLOUD arrêté",cTrace_Exception)
gbConnexionCloudActive=Faux
cas hDémarré
TraceLog("Serveur CLOUD démarré")
gbConnexionCloudActive=Vrai
cas hInaccessible
TraceLog("Serveur CLOUD inaccessible",cTrace_Exception)
gbConnexionCloudActive=Faux
autre cas
TraceLog("Etat serveur CLOUD indéterminé",cTrace_Exception)
gbConnexionCloudActive=Faux
fin
renvoyer gbConnexionCloudActive
Procédure globale TempsEcrit
procédure TempsEcrit(bufJSON est un Buffer, sd est une Source de Données)
stTpsPas est un ST_TEMPS_PASSE_RDV_V2
12/08/2026 Omika_S_Comm_DEV 223
Partie 3 › Collection de procédures › LIB_Service › Code
Désérialise(stTpsPas,bufJSON,psdJSON)
si pas ErreurDétectée alors
saReq est une chaîne ANSI = [
select RDV_Collaborateur.RVC_PKID, RDV_Planning.RV_CleType
from RDV_Collaborateur
inner join
RDV_Planning on RDV_Planning.GUID = RDV_Collaborateur.RVC_GUID_RDV where
RDV_Collaborateur.GUID =
]
saReq += "'"+stTpsPas.saGuidRdv+"'"
sdRDV est une Source de Données
si pas HExécuteRequêteSQL(sdRDV,gcnxAPart,saReq) alors
TraceLog("Erreur :" + HErreurInfo(errComplet),cTrace_Exception)
retour
fin
si pas sdRDV.RVC_PKID > 0 alors
//RDV inconnu. Possible que la saisie des temps arrive avant le RDV
TraceLog("GUID RDV_Collaborateur Inconnu. Report du traitement")
ReporteTraitement(sd.MR_PKID,2)
sinon
sMSGErr est une chaîne
duUneDuree est une Durée
dhHeureD est une DateHeure
dhHeuref est une DateHeure
si sMSGErr="" alors
pour tout stTps de stTpsPas.tblTemps //Tableau de ST_TEMPS_PASSE
si stTps.saHeureDebut <> "" et stTps.saHeureFin <> "" alors
dhHeureD= stTps.saHeureDebut
dhHeuref= stTps.saHeureFin
duUneDuree = (dhHeuref-dhHeureD)
si HLitRecherchePremier(gsdCollaborateur,CO_PKID,stTps.nIdCollab) alors
HLitRecherchePremier(gsdSuiviDesTemps,GUID,stTps.saGuid)
si pas HTrouve(gsdSuiviDesTemps) alors
HRAZ(gsdSuiviDesTemps)
fin
gsdSuiviDesTemps.GUID = stTps.saGuid
gsdSuiviDesTemps.SDT_DateDebut = stTps.saHeureDebut
gsdSuiviDesTemps.SDT_DateHeureFin = stTps.saHeureFin
gsdSuiviDesTemps.SDT_IDIntervention = stTpsPas.nIdIntervention
gsdSuiviDesTemps.SDT_IDCollaborateur = stTps.nIdCollab
gsdSuiviDesTemps.SDT_IDTypeTemps = stTps.nIdTypeTps
gsdSuiviDesTemps.SDT_CleType = DonneCleParamAvecID(stTps.nIdTypeTps
)
gsdSuiviDesTemps.SDT_Ponderation = (gsdCollaborateur.CO_Ponderation=0 ?
1 sinon gsdCollaborateur.CO_Ponderation)
gsdSuiviDesTemps.SDT_NbMinutes = duUneDuree..EnMinutes
gsdSuiviDesTemps.SDT_Libelle = stTps.saNote
gsdSuiviDesTemps.SDT_IDRdv = gsdPlanning_RDV.RVC_PKID
gsdSuiviDesTemps.SDT_IDTypeRdv = DonneIdParamAvecCle(sdRDV.RV_CleType
)
gsdSuiviDesTemps.SDT_CleTypeRDV = sdRDV.RV_CleType
12/08/2026 Omika_S_Comm_DEV 224
Partie 3 › Collection de procédures › LIB_Service › Code
gsdSuiviDesTemps.SDT_GUID_Rdv_Colb = stTpsPas.saGuidRdv
HEnregistre(gsdSuiviDesTemps)
//FIN
sinon
//Collaborateur inconnu
TraceLog("Collaborateur Inconnu : " + stTps.nIdCollab + " Données perdues",
cTrace_Exception)
fin
fin
fin //Pour tout
MarqueDataTraitée(sd.MR_PKID)
sinon
TraceLog("Erreur :" +sMSGErr)
fin
fin
sinon
//Surement une erreur de dé-sérialisation
TraceLog("Erreur :" + ErreurInfo(errComplet),cTrace_Exception)
fin
Procédure globale TH_TraiteDocRecu
procédure TH_TraiteDocRecu()
//scTraiteDoc est une SectionCritique
//utiliser scTraiteDoc dans //Début de la section critique
quand exception dans
TraceLog("Démarrage du Thread TH_TraiteDocRecu PID :" + ExeDonnePID(exeTID))
saRep est une chaîne ANSI
nErr est un entier
bufJSON est un Buffer
sd est une Source de Données
saERR est une chaîne ANSI
saRQ est une chaîne ANSI =[
SELECT
MobReception.MR_PKID AS MR_PKID,
MobReception.MR_IDToSRV AS MR_IDToSRV,
MobReception.MR_JSON AS MR_JSON,
MobReception.MR_CMD AS MR_CMD,
MobReception.MR_Buffer AS MR_Buffer,
MobReception.MR_NumSerie AS MR_NumSerie,
MobReception.MR_Fait AS MR_Fait,
MobReception.MR_DateHeureRecep AS MR_DateHeureRecep
FROM
MobReception
WHERE
MobReception.MR_Fait = 0 AND MobReception.MR_DateHeureRecep <= SYSDATE
ORDER BY
MR_DateHeureRecep ASC
]
//TraceLog("Init TH_TraiteDocRecu")
boucle
si ConnexionsEtabliesAuxBases() alors
si pas HExécuteRequêteSQL(sd,gcnxAPart,saRQ) alors
ThreadFin()
fin
pour tout sd
bufJSON=sd.MR_JSON
nErr=0
12/08/2026 Omika_S_Comm_DEV 225
Partie 3 › Collection de procédures › LIB_Service › Code
selon sd.MR_CMD
cas cCMD_ReInitReplic
gbInitReplicationEnCours=Vrai
TraceLog("Ré-Initialisation de la réplication")
//On marque la commande faite immédiatement pour éviter des relances
intempestives de la synchro.
MarqueDataTraitée(sd.MR_PKID)
INIEcrit(cIniSectionMonitor,cIniCleTempo,NumériqueVersChaîne(10*60*100),
gsuFicIni) //Tempo d'une heure pour le service monitor
INIEcrit(cIniSectionMonitor,cIniCleCommande,"TEMPO",gsuFicIni)
//Arrêt de la surveillance
ArreteLaSurveillanceDeToSRV()
si RéinitialiseReplication() alors
HFermeConnexion(gcnxSrvWEB)
HFermeConnexion(gcnxAPart)
gbInitialisationRéussie=Faux
gbInitReplicationEnCours=Faux
TraceLog("Sortie du Thread TH_TraiteDocRecu")
//On sort de la thread qui sera relancée par la boucle de service
ThreadFin()
sinon
gbInitialisationRéussie = Faux
gbInitReplicationEnCours=Faux
fin
cas cCMD_MajSComm,cCMD_MajSMonitor
stRep est un ST_REP_SYSTEM
stRep.saCMD=sd.MR_CMD
//On réceptionne un fichier "ServiceComm.wdl"
//On l'enregistre dans le dossier \ProgramData\APart\bin
suNomFic est une chaîne Unicode
selon sd.MR_CMD
cas cCMD_MajSMonitor
suNomFic= gsuRepBin + cServiceMonitor + ".new"
cas cCMD_MajSComm
suNomFic= gsuRepBin + cNomService + ".new"
fin
si sd.MR_Buffer ="" alors
stRep.saErr="E1001"
stRep.saMSG="Buffer vide"
TraceLog("Demande de mise à jour sans fichier",cTrace_Exception)
sinon
si pas fSauveBuffer(suNomFic,sd.MR_Buffer) alors
stRep.saMSG="ERREUR lors de l'enregistrement de la mise à jour : " +
ErreurInfo(errMessage)
stRep.saErr="E1000"
TraceLog(stRep.saMSG,cTrace_Exception)
sinon
stRep.saErr="E0000"
stRep.saMSG="Mise en place du fichier : " + suNomFic
TraceLog("Mise à jour enregistrée dans :" + suNomFic,cTrace_Info)
fin
fin
Sérialise(stRep,bufJSON,psdJSON)
HRAZ(gsdTOMOB)
12/08/2026 Omika_S_Comm_DEV 226
Partie 3 › Collection de procédures › LIB_Service › Code
gsdTOMOB.TM_Mobile = cDST_System
gsdTOMOB.TM_Date = DateHeureSys()
gsdTOMOB.TM_CMD =sd.MR_CMD
gsdTOMOB.TM_JSON =bufJSON
HAjoute(gsdTOMOB)
MarqueDataTraitée(sd.MR_PKID)
selon sd.MR_CMD
cas cCMD_MajSMonitor
ServiceArrête(cServiceMonitor)
nEtat est un entier
nEtat=ServiceAttendEtat(cServiceMonitor,serviceEtatArrêté,20s)
si nEtat=serviceEtatArrêté alors
ServiceDémarre(cServiceMonitor)
fin
//Mise à jour du serviceComm. Il s’arrête et sera relancé par le
ServiceMonitor
cas cCMD_MajSComm
FinService(fsDéfaillance)
fin
cas cCMD_PauseEtQuit
nNbSecondes est un entier = Val(sd.MR_JSON) //durée
TraceLog("Pause et Quitte ( "+ sd.MR_JSON + "s )",cTrace_Info )
//On marque la commande faite immédiatement pour éviter des relances
intempestives de la synchro.
MarqueDataTraitée(sd.MR_PKID)
INIEcrit(cIniSectionMonitor,cIniCleTempo,NumériqueVersChaîne((nNbSecondes+60)
*100),gsuFicIni) //Tempo en ms égale au temps de pause + 1 minute
INIEcrit(cIniSectionMonitor,cIniCleCommande,"TEMPO",gsuFicIni)
//Arrêt de la surveillance
ArreteLaSurveillanceDeToSRV()
HFermeConnexion(gcnxSrvWEB)
HFermeConnexion(gcnxAPart)
ThreadPause(nNbSecondes*100) //Attente
FinService(fsDéfaillance)
//Arrêt du Service avec un signal de défaillance qui invite le système à
relancer le service avant le Service Monitor
cas cCMD_DocEcrit
DocEcrit(bufJSON,sd)
cas cCMD_DocNoteEcrit
DocNoteEcrit(bufJSON,sd)
cas cCMD_TempsEcrit_V2
TempsEcrit(bufJSON,sd)
cas cCMD_RDVValidation
ValidationRDV(bufJSON,sd)
cas cCMD_RDVAnnulation
12/08/2026 Omika_S_Comm_DEV 227
Partie 3 › Collection de procédures › LIB_Service › Code
AnnulerRDV(bufJSON,sd)
cas cCMD_CREcrit
CompteRenduEcrit(bufJSON,sd)
cas cCMD_CREcrit_V2
CompteRenduEcrit(bufJSON,sd)
cas cCMD_ServiceActif,cCMD_ServiceInfo
//Réponse au Chien de Garde signalant le bon fonctionnement du Service
HRAZ(gsdTOMOB)
gsdTOMOB.TM_Mobile = cDST_System
gsdTOMOB.TM_Date = DateHeureSys()
gsdTOMOB.TM_CMD ="MIAOU"
gsdTOMOB.TM_JSON = InfoService()
HAjoute(gsdTOMOB)
MarqueDataTraitée(sd.MR_PKID)
cas cCMD_ListeDocDmd, cCMD_DocRpRecup
DemandeListeDoc(bufJSON,sd)
cas cCMD_NoteEcrit
NoteEcrit(bufJSON,sd)
cas cCMD_MsgExtEcrit
MessageExterne(bufJSON,sd)
cas cCMD_RdvEcrit , cCMD_RdvAPlanifierEcrit
RdvEcrit(bufJSON,sd)
cas cCMD_ParamEcrit
// TraceLog("Ecrit Paramètre")
// saEtat est une chaîne ANSI
// saMsg est une chaîne ANSI
// saErreurest une chaîne ANSI
// stParam est un ST_PARAMETRE
// Désérialise(stParam,bufJSON,psdJSON)
// SI ErreurDétectée ALORS
// saEtat="ERREUR"
// saErreur = ErreurInfo(errComplet)
//
// sinon
// saMsg ="CMD :" + cCMD_ParamEcrit
// saEtat="OK"
//
// selon stParam.stype
// cas "S"
//
saEtat= ParametreSystemEcrit(stParam.sCle,stParam.sValeur,stParam.bCrypte,stParam.sDescript)
// CAS "A"
//
saEtat=ParametreEcrit(stParam.sCle,stParam.sValeur,stParam.bCrypte,stParam.sDescript)
// cas "M"
// si pas ParametreMetierEcrit(stParam,saErreur) alors
// saEtat="ERREUR"
// FIN
// AUTRE CAS
// saEtat="ERREUR"
// FIN
// fin
// si saEtat<>"OK" alors
// saMsg= "CMD :" + cCMD_ParamEcrit + RC + bufJSON + RC + saErreur
// TraceLog(saMsg,cTrace_Exception)
// fin
//
//
12/08/2026 Omika_S_Comm_DEV 228
Partie 3 › Collection de procédures › LIB_Service › Code
// //Renvoie une réponse au demandeur
// HRAZ(gsdTOMOB)
// gsdTOMOB.TM_Mobile = cDST_System
// gsdTOMOB.TM_Date = DateHeureSys()
// gsdTOMOB.TM_CMD = saEtat
// gsdTOMOB.TM_JSON = saMsg
// HAjoute(gsdTOMOB)
//
// MarqueDataTraitée(sd.MR_PKID)
cas cCMD_ParamLit
TraceLog("Lit Paramètre")
saEtat est une chaîne ANSI
saMsg est une chaîne ANSI
saErreurest une chaîne ANSI
stParam est un ST_PARAMETRE
Désérialise(stParam,bufJSON,psdJSON)
si ErreurDétectée alors
saEtat="ERREUR"
saErreur = ErreurInfo(errComplet)
sinon
saEtat="OK"
selon stParam.sType
cas "S"
stParam.sValeur=ParametreSystemLit(stParam.sCle,stParam.sValeur,
stParam.bCrypte)
cas "A"
stParam.sValeur=ParametreLit(stParam.sCle,stParam.sValeur,
stParam.bCrypte)
cas "M"
si pas ParametreMetierLit(stParam,saErreur) alors
saMsg ="CMD :" + cCMD_ParamLit + RC + bufJSON + RC +
saErreur
saEtat="ERREUR"
fin
autre cas
saMsg ="CMD :" + cCMD_ParamLit
saEtat="ERREUR"
fin
fin
si saEtat="OK" alors
Sérialise(stParam,saMsg,psdJSON)
sinon
saMsg= "CMD :" + cCMD_ParamLit + RC + bufJSON + RC + saErreur
TraceLog(saMsg,cTrace_Exception)
fin
//Renvoie une réponse au demandeur
HRAZ(gsdTOMOB)
gsdTOMOB.TM_Mobile = cDST_System
gsdTOMOB.TM_Date = DateHeureSys()
gsdTOMOB.TM_CMD = saEtat
gsdTOMOB.TM_JSON = saMsg
HAjoute(gsdTOMOB)
MarqueDataTraitée(sd.MR_PKID)
cas cCMD_ParamSuppr
TraceLog("Supprime Paramètre")
saEtat est une chaîne ANSI = "OK"
saMsg est une chaîne ANSI
saErreurest une chaîne ANSI
stParam est un ST_PARAMETRE
12/08/2026 Omika_S_Comm_DEV 229
Partie 3 › Collection de procédures › LIB_Service › Code
Désérialise(stParam,bufJSON,psdJSON)
si ErreurDétectée alors
saEtat="ERREUR"
saErreur = ErreurInfo(errComplet)
sinon
selon stParam.sType
cas "S"
saMsg=ParametreSystemSupprime(stParam.sCle)
cas "A"
saMsg=ParametreSupprime(stParam.sCle)
cas "M"
si pas ParametreMetierSupprime(stParam,saERR) alors
saEtat="ERREUR"
fin
autre cas
saEtat="ERREUR"
fin
fin
si saEtat="OK" alors
saMsg ="CMD :" + cCMD_ParamSuppr
sinon
saMsg= "CMD :" + cCMD_ParamSuppr + RC + bufJSON + RC + saErreur
TraceLog(saMsg,cTrace_Exception)
fin
//Renvoie une réponse au demandeur
HRAZ(gsdTOMOB)
gsdTOMOB.TM_Mobile = cDST_System
gsdTOMOB.TM_Date = DateHeureSys()
gsdTOMOB.TM_CMD = saEtat
gsdTOMOB.TM_JSON = saMsg
HAjoute(gsdTOMOB)
MarqueDataTraitée(sd.MR_PKID)
cas cCMD_MonitorPause
//Indique une valeur de temporisation en centièmes de secondes au Service
Monitor
//Celui ci scrute cette valeur avant toute action
//Si cette valeur existe dans le fichier APart.ini, il l'efface puis
s'applique la temporisation indiquée avec ServiceTemporise(nMilliSecondes)
//Afin d'éviter un problème, cette temporisation ne pourra excéder 1h soit 3
600s -> 360 000 cs
TraceLog("Commande de temporisation du service Monitor :" +sd.MR_JSON ,
cTrace_Debug)
INIEcrit(cIniSectionMonitor,cIniCleTempo,sd.MR_JSON,gsuFicIni)
INIEcrit(cIniSectionMonitor,cIniCleCommande,"TEMPO",gsuFicIni)
MarqueDataTraitée(sd.MR_PKID)
cas cCMD_MonitorArrete
si ServiceExiste(cServiceMonitor) alors
si ServiceArrête(cServiceMonitor) alors
TraceLog("Arrêt du Service Monitor",cTrace_Debug)
sinon
TraceLog("ERREUR Lors de l'arrêt du Service Monitor"+ RC +
ErreurInfo(errComplet),cTrace_Debug)
fin
sinon
TraceLog("Le Service Monitor n'existe pas",cTrace_Debug)
12/08/2026 Omika_S_Comm_DEV 230
Partie 3 › Collection de procédures › LIB_Service › Code
fin
MarqueDataTraitée(sd.MR_PKID)
cas cCMD_MonitorRedemarre
si ServiceExiste(cServiceMonitor) alors
si ServiceRedémarre(cServiceMonitor) alors
TraceLog("Redémarrage du Service Monitor",cTrace_Debug)
sinon
TraceLog("ERREUR Lors du Redémarrage du Service Monitor"+ RC +
ErreurInfo(errComplet),cTrace_Debug)
fin
sinon
TraceLog("Le Service Monitor n'existe pas",cTrace_Debug)
fin
MarqueDataTraitée(sd.MR_PKID)
cas cCMD_BUG
//Provoque un plantage du service via une division par 0 Utilisé pour la mise au
point de la surveillance du service
TraceLog("BUG",cTrace_Debug)
MarqueDataTraitée(sd.MR_PKID)
n est un entier =1/0
cas cCMD_Quitter
MarqueDataTraitée(sd.MR_PKID)
TraceLog("Fin du service",cTrace_Debug)
FinService(fsArrêt)
cas cCMD_NiveauTrace
ChangeNiveauTraceCourante(Val(sd.MR_JSON))
MarqueDataTraitée(sd.MR_PKID)
cas cCMD_ExecSQL
stCmd est un ST_COMMANDE
saMsg est une chaîne ANSI
saEtat est une chaîne ANSI
Désérialise(stCmd,bufJSON,psdJSON)
si stCmd.saScript<>"" alors
si HExécuteRequêteSQL("EXE",gcnxAPart,stCmd.saScript) alors
saMsg="Exécution réussie"
saEtat="OK"
sinon
saMsg="Échec de la requête :" + HErreurInfo(hErrComplet)
saEtat="ERREUR"
fin
sinon
saMsg="Requête vide"
saEtat="ERREUR"
fin
si saEtat<>"OK" alors
TraceLog(saMsg,cTrace_Exception)
fin
//Renvoie une réponse au demandeur
HRAZ(gsdTOMOB)
gsdTOMOB.TM_Mobile = cDST_System
gsdTOMOB.TM_Date = DateHeureSys()
gsdTOMOB.TM_CMD = saEtat
gsdTOMOB.TM_JSON = saMsg
HAjoute(gsdTOMOB)
MarqueDataTraitée(sd.MR_PKID)
cas cCMD_ExecWL
stCmd est un ST_COMMANDE
12/08/2026 Omika_S_Comm_DEV 231
Partie 3 › Collection de procédures › LIB_Service › Code
saMsg est une chaîne ANSI
saEtat est une chaîne ANSI
Désérialise(stCmd,bufJSON,psdJSON)
si stCmd.saScript<>"" alors
sRésultatCompile est une chaîne = Compile("Proc_dynamique", stCmd.
saScript)
selon sRésultatCompile
cas ""
saMsg = ExécuteTraitement("Proc_dynamique", trtProcédure)
saEtat="OK"
cas "ERR"
saMsg = "Compilation impossible." + RC + ErreurInfo()
saEtat="ERREUR"
autre cas
saMsg = sRésultatCompile
saEtat="ERREUR"
fin
sinon
saMsg="Script vide"
saEtat="ERREUR"
fin
si saEtat<>"OK" alors
TraceLog(saMsg,cTrace_Exception)
fin
//Renvoie une réponse au demandeur
HRAZ(gsdTOMOB)
gsdTOMOB.TM_Mobile = cDST_System
gsdTOMOB.TM_Date = DateHeureSys()
gsdTOMOB.TM_CMD = saEtat
gsdTOMOB.TM_JSON = saMsg
HAjoute(gsdTOMOB)
MarqueDataTraitée(sd.MR_PKID)
autre cas
//Commande Inconnue
TraceLog("Commande Inconnue : " +sd.MR_CMD,cTrace_Debug )
MarqueDataTraitée(sd.MR_PKID)
fin
fin
fin
HFermeConnexion(gcnxAPart)
ThreadAttendSignal(Infini)
fin //Boucle
faire
TraceLog("TH_TraiteDocRecu : " + sd.MR_CMD + " : ERREUR" + ExceptionInfo(errComplet),
cTrace_Exception)
MarqueDataTraitée(sd.MR_PKID)
fin
//fin //Section Critique
Procédure globale TokensSouples
12/08/2026 Omika_S_Comm_DEV 232
Partie 3 › Collection de procédures › LIB_Service › Code
procédure TokensSouples(s est une chaîne)
tousMotsest un tableau de chaînes
ChaîneVersTableau(s,tousMots," ")
tokens est un tableau de chaînes
pour tout mot de tousMots
si Taille(mot) >= 3 alors // ignore "de", "du", "la", "9" seul, etc.
TableauAjoute(tokens, mot)
fin
fin
renvoyer tokens
Procédure globale ValidationRDV
procédure ValidationRDV(bufJSON est un Buffer, sd est une Source de Données)
TraceLog("Validation de rendez-vous")
stVR est un ST_VALIDATION_RDV
Désérialise(stVR,bufJSON,psdJSON)
si pas ErreurDétectée alors
si stVR.saGuid <>"" _et_ HLitRecherchePremier(gsdPlanning_RDV,GUID,stVR.saGuid) alors
nIdRdvFait est un entier sur 8 octets = DonneIdParamAvecCle(cCle_RDVFait)
si nIdRdvFait > 0 alors
gsdPlanning_RDV.RVC_CleStatut = cCle_RDVFait
si HEnregistre(gsdPlanning_RDV) alors
si HLitRecherchePremier(gsdPlanning,GUID,gsdPlanning_RDV.RVC_GUID_RDV) alors
gsdPlanning.RV_CleStatut = cCle_RDVFait
HEnregistre(gsdPlanning)
fin
MarqueDataTraitée(sd.MR_PKID)
sinon si HErreur()>0
TraceLog("Erreur :" + HErreurInfo(errComplet),cTrace_Exception)
fin
sinon
saMsg est une chaîne="CMD :" + sd.MR_CMD + RC + bufJSON + RC + "Paramètre inconnu"
TraceLog(saMsg)
fin
sinon
TraceLog("RDV introuvable : CMD :" + sd.MR_CMD + RC + bufJSON )
fin
fin
12/08/2026 Omika_S_Comm_DEV 233
Partie 3 › Collection de procédures › LIB_InterfaceComposant › Code
LIB_InterfaceComposant
Code
Procédure globale BoucleService
procédure BoucleService()
BouclePrincipaleDuService()
12/08/2026 Omika_S_Comm_DEV 234
Partie 3 › 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
gcnxD_Service 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 ST_MOB_IDENTITE
gnIdColbEnCours est un entier sur 8 octets
Procédure globale D_OuvreConnexionHFSQL
procédure D_OuvreConnexionHFSQL()
quand exception dans
LIB_Service.gcnxAPart = LIB_DEBUG.gcnxD_ServeurWSCom
LIB_Service.gcnxSrvWEB = LIB_DEBUG.gcnxD_Service
gsaPortWSCOM = LIB_DEBUG.gsaPortWSCOM
gsaServeurWSCOM = LIB_DEBUG.gsaServeurWSCOM
si OuvreConnexionBase() alors
si OuvreConnexionTOMOB() alors
renvoyer Vrai
fin
fin
faire
Erreur("ERREUR OuvreConnexionsHF " + ExceptionInfo(errComplet) )
renvoyer Faux
fin
renvoyer Faux
Procédure globale D_OuvreConnexionHFSQLLicence
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
Erreur(HErreurInfo(hErrComplet))
fin
si pas HDéclareExterne(saFic,ExtraitChaîne(saFic,1,"."),LIB_DEBUG.gcnxD_ServeurLicence) alors
Erreur(HErreurInfo(hErrComplet))
fin
fin
fin
Procédure globale D_RecupIdentiteLicence
12/08/2026 Omika_S_Comm_DEV 235
Partie 3 › Collection de procédures › LIB_DEBUG › Code
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
Erreur("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.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 Omika_S_Comm_DEV 236
Partie 4 › Table des matières
Partie 4
Table des matières
| 12/08/2026 | Omika_S_Comm_DEV | 237 |
| ---------- | ---------------- | --- |
Partie 4 › Table des matières
Projet Omika_S_Comm_DEV
Partie 1 Projet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Informations générales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Liste des éléments du projet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Erreurs, warnings et informations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Statistiques sur le code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Composants créés depuis le projet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Composants inclus dans le projet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Partie 2 Fenêtre WINDEV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
FEN_Connexion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Image 11
Informations générales 11
Informations sur les champs 13
Code 41
Code des champs 41
Procédures 44
FEN_Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Image 45
Informations générales 47
Informations sur les champs 49
Code 143
Code des champs 144
Procédures 153
Partie 3 Collection de procédures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
COL_GestionDuLog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
Code 163
LIB_Globales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
Code 166
LIB_ParametrageMobiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
Code 167
LIB_Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
Code 168
LIB_InterfaceComposant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
Code 234
LIB_DEBUG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
12/08/2026 Omika_S_Comm_DEV 238
Partie 4 › Table des matières
Code 235
| 12/08/2026 | Omika_S_Comm_DEV | 239 |
| ---------- | ---------------- | --- |